From 22d3ecfb3a1583e76e278777ca0a0092e5016d7a Mon Sep 17 00:00:00 2001 From: Jitka Plesnikova Date: Wed, 23 Oct 2024 11:56:37 +0200 Subject: [PATCH] Resolves: RHEL-64313 - 4.3.0 bump --- .gitignore | 1 + sources | 2 +- ...t-security-warning-in-R-Raise-functi.patch | 27 ---- ...ng-deprecated-API-in-doxygen-example.patch | 29 ----- ...stem.runFinalization-removal-warning.patch | 118 ------------------ ...3.13-deprecates-PyWeakref_GET_OBJECT.patch | 27 ---- ...-Python-3.13-strips-docstring-indent.patch | 34 ----- swig.spec | 23 ++-- 8 files changed, 15 insertions(+), 246 deletions(-) delete mode 100644 swig-R-Fix-gcc-s-Wformat-security-warning-in-R-Raise-functi.patch delete mode 100644 swig-java-Avoid-using-deprecated-API-in-doxygen-example.patch delete mode 100644 swig-java-Suppress-System.runFinalization-removal-warning.patch delete mode 100644 swig-python-Python-3.13-deprecates-PyWeakref_GET_OBJECT.patch delete mode 100644 swig-python-Python-3.13-strips-docstring-indent.patch diff --git a/.gitignore b/.gitignore index 3a819d9..7187454 100644 --- a/.gitignore +++ b/.gitignore @@ -29,3 +29,4 @@ swig-2.0.0.tar.gz /swig-4.1.1.tar.gz /swig-4.2.0.tar.gz /swig-4.2.1.tar.gz +/swig-4.3.0.tar.gz diff --git a/sources b/sources index e92004d..1a65880 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (swig-4.2.1.tar.gz) = 019dee5a46d57e1030eef47cd5d007ccaadbdcd4e53cd30d7c795f0118ecf4406a78185534502c81c5f6d7bac0713256e7e19b20b5a2d14e2c552219edbaf5cf +SHA512 (swig-4.3.0.tar.gz) = 5dfb8aa9898fccb063dbdf5d6266928cf46d671491308d2c122c59414377f1558015a37d7268729f62c5d4ee20438c98c83ee575fb00078dfe77564ee46a2f64 diff --git a/swig-R-Fix-gcc-s-Wformat-security-warning-in-R-Raise-functi.patch b/swig-R-Fix-gcc-s-Wformat-security-warning-in-R-Raise-functi.patch deleted file mode 100644 index 0c0cd61..0000000 --- a/swig-R-Fix-gcc-s-Wformat-security-warning-in-R-Raise-functi.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 3d5157514889c668bc14c245246c388eb23615ea Mon Sep 17 00:00:00 2001 -From: pekkarr -Date: Mon, 29 Apr 2024 10:00:38 +0300 -Subject: [PATCH] Fix gcc's -Wformat-security warning in R Raise function - (#2896) - -The `Rf_error` function takes a format string as its first argument. ---- - Lib/r/r.swg | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/Lib/r/r.swg b/Lib/r/r.swg -index c1ce37c3e..63b69d8cf 100644 ---- a/Lib/r/r.swg -+++ b/Lib/r/r.swg -@@ -28,7 +28,7 @@ SWIGEXPORT void SWIG_init(void) { - - %runtime %{ - SWIGINTERN void SWIG_R_Raise(SEXP obj, const char *msg) { -- Rf_error(Rf_isString(obj) ? CHAR(Rf_asChar(obj)) : msg); -+ Rf_error("%s", Rf_isString(obj) ? CHAR(Rf_asChar(obj)) : msg); - } - %} - --- -2.44.0 - diff --git a/swig-java-Avoid-using-deprecated-API-in-doxygen-example.patch b/swig-java-Avoid-using-deprecated-API-in-doxygen-example.patch deleted file mode 100644 index 44f449e..0000000 --- a/swig-java-Avoid-using-deprecated-API-in-doxygen-example.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 8a19cb77adfec168236e2c63d1a9d1a310f886cc Mon Sep 17 00:00:00 2001 -From: Olly Betts -Date: Fri, 1 Mar 2024 10:40:12 +1300 -Subject: [PATCH] [java] Avoid using deprecated API in doxygen example - -Passing a String command to Runtime.exec() has been deprecated since -Java 18. ---- - Examples/java/doxygen/runme.java | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/Examples/java/doxygen/runme.java b/Examples/java/doxygen/runme.java -index 6b7bb3d01..5970521c8 100644 ---- a/Examples/java/doxygen/runme.java -+++ b/Examples/java/doxygen/runme.java -@@ -33,8 +33,8 @@ public class runme { - System.out.println(" perimeter = " + shapes[i].perimeter()); - } - -- String command = "javadoc -quiet -public -d javadocs example.java Shape.java Circle.java Square.java RectangleInt.java"; -- System.out.println("\nRunning: " + command); -+ String[] command = {"javadoc", "-quiet", "-public", "-d", "javadocs", "example.java", "Shape.java", "Circle.java", "Square.java", "RectangleInt.java"}; -+ System.out.println("\nRunning: " + String.join(" ", command)); - Process p = Runtime.getRuntime().exec(command); - int exitCode = p.waitFor(); - System.out.println("javadoc exited with code " + exitCode); --- -2.44.0 - diff --git a/swig-java-Suppress-System.runFinalization-removal-warning.patch b/swig-java-Suppress-System.runFinalization-removal-warning.patch deleted file mode 100644 index 2ad135d..0000000 --- a/swig-java-Suppress-System.runFinalization-removal-warning.patch +++ /dev/null @@ -1,118 +0,0 @@ -From ec56bff28d3ad5acf82e139a83da8135aa2dd618 Mon Sep 17 00:00:00 2001 -From: Olly Betts -Date: Fri, 1 Mar 2024 10:42:22 +1300 -Subject: [PATCH] [java] Suppress System.runFinalization() removal warnings - -These need to be addressed, but meanwhile it makes running the testsuite -with OpenJDK 21 or newer unhelpfully noisy so suppressing it seems more -helpful than not. - -Closes: #2819 ---- - Examples/test-suite/java/cpp11_std_unique_ptr_runme.java | 2 ++ - Examples/test-suite/java/director_pass_by_value_runme.java | 2 ++ - Examples/test-suite/java/java_director_runme.java | 2 ++ - Examples/test-suite/java/li_boost_intrusive_ptr_runme.java | 4 ++++ - Examples/test-suite/java/li_boost_shared_ptr_runme.java | 4 ++++ - Examples/test-suite/java/li_std_auto_ptr_runme.java | 2 ++ - 6 files changed, 16 insertions(+) - -diff --git a/Examples/test-suite/java/cpp11_std_unique_ptr_runme.java b/Examples/test-suite/java/cpp11_std_unique_ptr_runme.java -index f90ef7041..c5622f65f 100644 ---- a/Examples/test-suite/java/cpp11_std_unique_ptr_runme.java -+++ b/Examples/test-suite/java/cpp11_std_unique_ptr_runme.java -@@ -10,6 +10,8 @@ public class cpp11_std_unique_ptr_runme { - } - } - -+ // Suppress warning about System.runFinalization() call. -+ @SuppressWarnings({"deprecation", "removal"}) - private static void WaitForGC() - { - System.gc(); -diff --git a/Examples/test-suite/java/director_pass_by_value_runme.java b/Examples/test-suite/java/director_pass_by_value_runme.java -index 1d34c3b55..48ccabf73 100644 ---- a/Examples/test-suite/java/director_pass_by_value_runme.java -+++ b/Examples/test-suite/java/director_pass_by_value_runme.java -@@ -12,6 +12,8 @@ public class director_pass_by_value_runme { - } - } - -+ // Suppress warning about System.runFinalization() call. -+ @SuppressWarnings({"deprecation", "removal"}) - private static void WaitForGC() { - System.gc(); - System.runFinalization(); -diff --git a/Examples/test-suite/java/java_director_runme.java b/Examples/test-suite/java/java_director_runme.java -index 2167d2621..40829463b 100644 ---- a/Examples/test-suite/java/java_director_runme.java -+++ b/Examples/test-suite/java/java_director_runme.java -@@ -13,6 +13,8 @@ public class java_director_runme { - } - } - -+ // Suppress warning about System.runFinalization() call. -+ @SuppressWarnings({"deprecation", "removal"}) - private static void WaitForGC() - { - System.gc(); -diff --git a/Examples/test-suite/java/li_boost_intrusive_ptr_runme.java b/Examples/test-suite/java/li_boost_intrusive_ptr_runme.java -index 750ec5067..721a78d56 100644 ---- a/Examples/test-suite/java/li_boost_intrusive_ptr_runme.java -+++ b/Examples/test-suite/java/li_boost_intrusive_ptr_runme.java -@@ -13,6 +13,8 @@ public class li_boost_intrusive_ptr_runme { - // Debugging flag - public final static boolean debug = false; - -+ // Suppress warning about System.runFinalization() call. -+ @SuppressWarnings({"deprecation", "removal"}) - private static void WaitForGC() - { - System.gc(); -@@ -23,6 +25,8 @@ public class li_boost_intrusive_ptr_runme { - } - } - -+ // Suppress warning about System.runFinalization() call. -+ @SuppressWarnings({"deprecation", "removal"}) - public static void main(String argv[]) - { - if (debug) -diff --git a/Examples/test-suite/java/li_boost_shared_ptr_runme.java b/Examples/test-suite/java/li_boost_shared_ptr_runme.java -index b513fade7..c1ec7f7bf 100644 ---- a/Examples/test-suite/java/li_boost_shared_ptr_runme.java -+++ b/Examples/test-suite/java/li_boost_shared_ptr_runme.java -@@ -13,6 +13,8 @@ public class li_boost_shared_ptr_runme { - // Debugging flag - public final static boolean debug = false; - -+ // Suppress warning about System.runFinalization() call. -+ @SuppressWarnings({"deprecation", "removal"}) - private static void WaitForGC() - { - System.gc(); -@@ -23,6 +25,8 @@ public class li_boost_shared_ptr_runme { - } - } - -+ // Suppress warning about System.runFinalization() call. -+ @SuppressWarnings({"deprecation", "removal"}) - public static void main(String argv[]) - { - if (debug) -diff --git a/Examples/test-suite/java/li_std_auto_ptr_runme.java b/Examples/test-suite/java/li_std_auto_ptr_runme.java -index 24e353ddc..978a72504 100644 ---- a/Examples/test-suite/java/li_std_auto_ptr_runme.java -+++ b/Examples/test-suite/java/li_std_auto_ptr_runme.java -@@ -10,6 +10,8 @@ public class li_std_auto_ptr_runme { - } - } - -+ // Suppress warning about System.runFinalization() call. -+ @SuppressWarnings({"deprecation", "removal"}) - private static void WaitForGC() - { - System.gc(); --- -2.44.0 - diff --git a/swig-python-Python-3.13-deprecates-PyWeakref_GET_OBJECT.patch b/swig-python-Python-3.13-deprecates-PyWeakref_GET_OBJECT.patch deleted file mode 100644 index 268f55d..0000000 --- a/swig-python-Python-3.13-deprecates-PyWeakref_GET_OBJECT.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 7f0f267630386c41fbf44a0f6115d2555ba82451 Mon Sep 17 00:00:00 2001 -From: Julien Schueller -Date: Thu, 13 Jun 2024 15:32:46 +0200 -Subject: [PATCH] Python 3.13 deprecates PyWeakref_GET_OBJECT - -Closes #2863 ---- - Lib/python/pyrun.swg | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git a/Lib/python/pyrun.swg b/Lib/python/pyrun.swg -index 8381f16d27f..f7305eff108 100644 ---- a/Lib/python/pyrun.swg -+++ b/Lib/python/pyrun.swg -@@ -1343,7 +1343,12 @@ SWIG_Python_GetSwigThis(PyObject *pyobj) - (void)obj; - # ifdef PyWeakref_CheckProxy - if (PyWeakref_CheckProxy(pyobj)) { -+#if PY_VERSION_HEX >= 0x030D0000 -+ PyWeakref_GetRef(pyobj, &pyobj); -+ Py_DECREF(pyobj); -+#else - pyobj = PyWeakref_GET_OBJECT(pyobj); -+#endif - if (pyobj && SwigPyObject_Check(pyobj)) - return (SwigPyObject*) pyobj; - } diff --git a/swig-python-Python-3.13-strips-docstring-indent.patch b/swig-python-Python-3.13-strips-docstring-indent.patch deleted file mode 100644 index d0fce06..0000000 --- a/swig-python-Python-3.13-strips-docstring-indent.patch +++ /dev/null @@ -1,34 +0,0 @@ -From ffa856c8dc1fa97e6896a2c5d5bd647c15df2284 Mon Sep 17 00:00:00 2001 -From: Julien Schueller -Date: Thu, 13 Jun 2024 15:31:26 +0200 -Subject: [PATCH] Python 3.13 strips docstring indent - ---- - Examples/test-suite/python/python_docstring_runme.py | 8 +++++--- - 1 file changed, 5 insertions(+), 3 deletions(-) - -diff --git a/Examples/test-suite/python/python_docstring_runme.py b/Examples/test-suite/python/python_docstring_runme.py -index a601ecb5430..101f9dd8a30 100644 ---- a/Examples/test-suite/python/python_docstring_runme.py -+++ b/Examples/test-suite/python/python_docstring_runme.py -@@ -1,5 +1,6 @@ - from python_docstring import * - import inspect -+import sys - - def check(got, expected): - expected_list = expected.split("\n") -@@ -87,9 +88,10 @@ def check(got, expected): - ) - - # One line doc special case, use __doc__ --check(DocStrings.docstringX.__doc__, -- " one line docs" -- ) -+if sys.version_info[0:2] < (3, 13): -+ check(DocStrings.docstringX.__doc__, " one line docs") -+else: -+ check(DocStrings.docstringX.__doc__, "one line docs") - - check(inspect.getdoc(DocStrings.docstringX), - "one line docs" diff --git a/swig.spec b/swig.spec index e14d765..0aa4211 100644 --- a/swig.spec +++ b/swig.spec @@ -21,7 +21,15 @@ %{!?perllang:%global perllang 1} %{!?rubylang:%global rubylang 1} %{!?python3lang:%global python3lang 1} + +# PHP drop support for 32-bit builds since Fedora 41. +%if 0%{?fedora} >= 41 || 0%{?rhel} >= 11 +%ifarch %{ix86} +%global phplang 0 +%endif +%endif %{!?phplang:%global phplang 1} + # OCaml packages not built on i686 since OCaml 5 / Fedora 39. %ifarch %{ix86} %{!?ocamllang:%global ocamllang 0} @@ -59,7 +67,7 @@ Summary: Connects C/C++/Objective C to some high-level programming languages Name: swig -Version: 4.2.1 +Version: 4.3.0 Release: 1%{?dist} License: GPL-3.0-or-later AND BSD-3-Clause URL: https://www.swig.org/ @@ -71,15 +79,6 @@ Source2: description-ccache.h2m Source3: ccache-swig.sh Source4: ccache-swig.csh %endif -# Small fixes for java tests, in upstream after 4.2.1 -Patch0: swig-java-Avoid-using-deprecated-API-in-doxygen-example.patch -Patch1: swig-java-Suppress-System.runFinalization-removal-warning.patch -# Fix gcc's -Wformat-security warning in R Raise function -# https://github.com/swig/swig/pull/2896 -Patch2: swig-R-Fix-gcc-s-Wformat-security-warning-in-R-Raise-functi.patch -# Python 3.13 support: https://github.com/swig/swig/pull/2925 -Patch3: swig-python-Python-3.13-strips-docstring-indent.patch -Patch4: swig-python-Python-3.13-deprecates-PyWeakref_GET_OBJECT.patch BuildRequires: coreutils BuildRequires: findutils @@ -363,6 +362,10 @@ install -pm 644 Tools/swig.gdb %{buildroot}%{_datadir}/%{name}/gdb %{_datadir}/%{name}/gdb %changelog +* Tue Oct 22 2024 Jitka Plesnikova - 4.3.0-1 +- Resolves: RHEL-64313 +- 4.3.0 bump + * Tue Jul 02 2024 Jitka Plesnikova - 4.2.1-1 - Resolves: RHEL-32325 - 4.2.1 bump