diff mbox series

[bug#56817,core-updates,1/3] gnu: swig: Fix build with GCC-12.

Message ID a4ddf9b408290a83898c579648eddec0fe94d379.1659039477.git.code@greghogan.com
State Accepted
Headers show
Series Fix builds with GCC-12. | expand

Checks

Context Check Description
cbaines/comparison success View comparision
cbaines/git-branch success View Git branch
cbaines/applying patch success View Laminar job
cbaines/issue success View issue

Commit Message

Greg Hogan July 28, 2022, 8:25 p.m. UTC
* gnu/packages/patches/swig-support-gcc-12.patch: New file.
* gnu/local.mk: Add it.
* gnu/packages/swig.scm (swig)[source]: Add patch.
---
 gnu/local.mk                                   |  1 +
 gnu/packages/patches/swig-support-gcc-12.patch | 16 ++++++++++++++++
 gnu/packages/swig.scm                          |  4 +++-
 3 files changed, 20 insertions(+), 1 deletion(-)
 create mode 100644 gnu/packages/patches/swig-support-gcc-12.patch
diff mbox series

Patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 407098e895..a3f9a81440 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1816,6 +1816,7 @@  dist_patch_DATA =						\
   %D%/packages/patches/superlu-dist-awpm-grid.patch		\
   %D%/packages/patches/superlu-dist-scotchmetis.patch		\
   %D%/packages/patches/supertux-unbundle-squirrel.patch		\
+  %D%/packages/patches/swig-support-gcc-12.patch		\
   %D%/packages/patches/swish-e-search.patch			\
   %D%/packages/patches/swish-e-format-security.patch		\
   %D%/packages/patches/symmetrica-bruch.patch			\
diff --git a/gnu/packages/patches/swig-support-gcc-12.patch b/gnu/packages/patches/swig-support-gcc-12.patch
new file mode 100644
index 0000000000..ece7928aa2
--- /dev/null
+++ b/gnu/packages/patches/swig-support-gcc-12.patch
@@ -0,0 +1,16 @@ 
+Fix for https://github.com/swig/swig/issues/2145 made in unreleased upstream commit
+https://github.com/swig/swig/commit/76d5a9ec270a763c892ae28070e391cf99e0b7cd
+
+diff --git a/Examples/test-suite/nested_class.i b/Examples/test-suite/nested_class.i
+index b10c339493e..c778a12cf7c 100644
+--- a/Examples/test-suite/nested_class.i
++++ b/Examples/test-suite/nested_class.i
+@@ -201,7 +201,7 @@ struct Outer {
+     Integer xx;
+   } MultipleInstanceAnonDerived1, MultipleInstanceAnonDerived2, *MultipleInstanceAnonDerived3, MultipleInstanceAnonDerived4[2];
+ 
+-#if defined(__GNUC__) || defined(_MSC_VER) || defined(SWIG)
++#if (defined(__GNUC__) && __GNUC__ < 12) || defined(_MSC_VER) || defined(SWIG)
+ /* some compilers do not accept these */
+   struct : public InnerMultiple {
+     Integer xx;
diff --git a/gnu/packages/swig.scm b/gnu/packages/swig.scm
index 1f4bd0922a..a90a5d51e8 100644
--- a/gnu/packages/swig.scm
+++ b/gnu/packages/swig.scm
@@ -43,7 +43,9 @@  (define-public swig
                                  name "-" version ".tar.gz"))
              (sha256
               (base32
-               "1z06m5zv87mha6hvys1iay810ghc1jngilfby1ms2n4d1mryjfym"))))
+               "1z06m5zv87mha6hvys1iay810ghc1jngilfby1ms2n4d1mryjfym"))
+             ;; Remove with next release.
+             (patches (search-patches "swig-support-gcc-12.patch"))))
     (build-system gnu-build-system)
     (native-inputs (list boost
                          `(,pcre "bin") ;for 'pcre-config'