diff --git a/0005-disable_li_std_wstring.patch b/0005-disable_li_std_wstring.patch deleted file mode 100644 index 85e6e18..0000000 --- a/0005-disable_li_std_wstring.patch +++ /dev/null @@ -1,25 +0,0 @@ -From: Michel Normand -Subject: 0005 disable li_std_wstring -Date: Mon, 18 May 2020 17:05:27 +0200 - -disable li_std_wstring to avoid test failure -for BE (ppc64 & s390x) as per bug -https://bugzilla.opensuse.org/show_bug.cgi?id=1171368 - -Signed-off-by: Michel Normand ---- - Examples/test-suite/common.mk | 1 - - 1 file changed, 1 deletion(-) - -Index: swig-rel-4.0.1/Examples/test-suite/common.mk -=================================================================== ---- swig-rel-4.0.1.orig/Examples/test-suite/common.mk -+++ swig-rel-4.0.1/Examples/test-suite/common.mk -@@ -657,7 +657,6 @@ CPP_STD_TEST_CASES += \ - li_std_vector_enum \ - li_std_vector_member_var\ - li_std_vector_ptr \ -- li_std_wstring \ - smart_pointer_inherit \ - template_typedef_fnc \ - template_type_namespace \ diff --git a/ruby-std-wstring-byte-order.patch b/ruby-std-wstring-byte-order.patch new file mode 100644 index 0000000..8cbb036 --- /dev/null +++ b/ruby-std-wstring-byte-order.patch @@ -0,0 +1,29 @@ +Index: swig-rel-4.0.1/Lib/ruby/std_wstring.i +=================================================================== +--- swig-rel-4.0.1.orig/Lib/ruby/std_wstring.i ++++ swig-rel-4.0.1/Lib/ruby/std_wstring.i +@@ -1,4 +1,6 @@ + %{ ++#include ++ + #ifdef __cplusplus + extern "C" { + #endif +@@ -15,9 +17,17 @@ extern "C" { + #ifndef SWIG_RUBY_WSTRING_ENCODING + + #if WCHAR_MAX == 0x7fff || WCHAR_MAX == 0xffff ++#if BYTE_ORDER == LITTLE_ENDIAN + #define SWIG_RUBY_WSTRING_ENCODING "UTF-16LE" ++#elif BYTE_ORDER == BIG_ENDIAN ++#define SWIG_RUBY_WSTRING_ENCODING "UTF-16BE" ++#endif + #elif WCHAR_MAX == 0x7fffffff || WCHAR_MAX == 0xffffffff ++#if BYTE_ORDER == LITTLE_ENDIAN + #define SWIG_RUBY_WSTRING_ENCODING "UTF-32LE" ++#elif BYTE_ORDER == BIG_ENDIAN ++#define SWIG_RUBY_WSTRING_ENCODING "UTF-32BE" ++#endif + #else + #error unsupported wchar_t size. SWIG_RUBY_WSTRING_ENCODING must be given. + #endif diff --git a/swig.changes b/swig.changes index 20ed9f1..0adf3b8 100644 --- a/swig.changes +++ b/swig.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Sat May 23 07:04:09 UTC 2020 - Andreas Schwab + +- Revert last change, drop 0005-disable_li_std_wstring.patch +- ruby-std-wstring-byte-order.patch: fix wstring encoding boo#1171368 + ------------------------------------------------------------------- Mon May 18 15:46:46 UTC 2020 - Michel Normand diff --git a/swig.spec b/swig.spec index 51b191e..77114c9 100644 --- a/swig.spec +++ b/swig.spec @@ -42,8 +42,8 @@ Patch1: 0001-Fix-code-generated-for-Ruby-global-variables.patch Patch2: 0002-Add-support-for-Ruby-2.7.patch Patch3: 0003-Move-new-macros-for-Ruby-to-their-dedicated-namespac.patch Patch4: 0004-Improve-description-of-cast-macros-for-Ruby.patch -Patch5: 0005-disable_li_std_wstring.patch +Patch300: ruby-std-wstring-byte-order.patch Patch308: swig308-isfinite.diff BuildRequires: autoconf @@ -120,18 +120,7 @@ understandig SWIG usage. %prep %setup -q -n %{name}-rel-%{version} -# for BE (Big Endian) do all patch (with 0005-disable_li_std_wstring.patch) -# bypass https://bugzilla.opensuse.org/show_bug.cgi?id=1171368 -# for all other arches do all BUT that specific one -%ifarch ppc64 s390 s390x %autopatch -p1 -%else -%patch1 -p1 -%patch2 -p1 -%patch3 -p1 -%patch4 -p1 -%patch308 -p1 -%endif %build %ifarch s390 s390x