diff --git a/.gitignore b/.gitignore index a36a26f..170722c 100644 --- a/.gitignore +++ b/.gitignore @@ -9,3 +9,4 @@ /mingw-w64-v5.0.3.tar.bz2 /mingw-w64-v5.0.4.tar.bz2 /mingw-w64-v6.0.0.tar.bz2 +/mingw-w64-v7.0.0.tar.bz2 diff --git a/mingw-w64-tools-2.0.999-s390.patch b/mingw-w64-tools-2.0.999-s390.patch deleted file mode 100644 index 6ad8e47..0000000 --- a/mingw-w64-tools-2.0.999-s390.patch +++ /dev/null @@ -1,63 +0,0 @@ -diff -rupN mingw-w64-v6.0.0/mingw-w64-tools/widl/include/basetsd.h mingw-w64-v6.0.0-new/mingw-w64-tools/widl/include/basetsd.h ---- mingw-w64-v6.0.0/mingw-w64-tools/widl/include/basetsd.h 2018-09-14 16:16:43.000000000 +0200 -+++ mingw-w64-v6.0.0-new/mingw-w64-tools/widl/include/basetsd.h 2019-05-07 17:55:56.077196349 +0200 -@@ -36,7 +36,7 @@ extern "C" { - * 64-bit. - */ - --#if (defined(__x86_64__) || defined(__powerpc64__) || defined(__aarch64__)) && !defined(_WIN64) -+#if (defined(__x86_64__) || defined(__powerpc64__) || defined(__aarch64__) || defined(__s390x__)) && !defined(_WIN64) - #define _WIN64 - #endif - -@@ -309,6 +309,10 @@ typedef ULONG_PTR KAFFINITY, *PKAFFINITY - # undef WORDS_BIGENDIAN - # undef BITFIELDS_BIGENDIAN - # undef ALLOW_UNALIGNED_ACCESS -+#elif defined(__s390__) -+# define WORDS_BIGENDIAN -+# define BITFIELDS_BIGENDIAN -+# define ALLOW_UNALIGNED_ACCESS - #elif !defined(RC_INVOKED) && !defined(__WIDL__) && !defined(__midl) - # error Unknown CPU architecture! - #endif -diff -rupN mingw-w64-v6.0.0/mingw-w64-tools/widl/include/winnt.h mingw-w64-v6.0.0-new/mingw-w64-tools/widl/include/winnt.h ---- mingw-w64-v6.0.0/mingw-w64-tools/widl/include/winnt.h 2018-09-14 16:16:43.000000000 +0200 -+++ mingw-w64-v6.0.0-new/mingw-w64-tools/widl/include/winnt.h 2019-05-07 17:55:56.078196338 +0200 -@@ -2108,6 +2108,36 @@ typedef struct _STACK_FRAME_HEADER - - #endif /* __powerpc__ */ - -+#ifdef __s390__ -+ -+/* -+ * FIXME: -+ * -+ * There is no official CONTEXT structure defined for the S/390 -+ * architecture, so I just made one up. -+ * -+ * This structure is completely dummy, made just to build widl. -+ * -+ */ -+ -+#define CONTEXT_S390 0x10000000 -+ -+#define CONTEXT_CONTROL (CONTEXT_S390 | 0x00000001) -+#define CONTEXT_FLOATING_POINT (CONTEXT_S390 | 0x00000002) -+#define CONTEXT_INTEGER (CONTEXT_S390 | 0x00000004) -+ -+#define CONTEXT_FULL (CONTEXT_CONTROL | CONTEXT_FLOATING_POINT | CONTEXT_INTEGER) -+ -+#define EXCEPTION_READ_FAULT 0 -+#define EXCEPTION_WRITE_FAULT 1 -+#define EXCEPTION_EXECUTE_FAULT 8 -+ -+typedef struct _CONTEXT -+{ -+} CONTEXT; -+ -+#endif /* __s390__ */ -+ - #if !defined(CONTEXT_FULL) && !defined(RC_INVOKED) - #error You need to define a CONTEXT for your CPU - #endif diff --git a/mingw-w64-tools-aarch64.patch b/mingw-w64-tools-aarch64.patch index adf1646..3148e81 100644 --- a/mingw-w64-tools-aarch64.patch +++ b/mingw-w64-tools-aarch64.patch @@ -1,8 +1,8 @@ -diff -rupN mingw-w64-v6.0.0/mingw-w64-tools/widl/include/windef.h mingw-w64-v6.0.0-new/mingw-w64-tools/widl/include/windef.h ---- mingw-w64-v6.0.0/mingw-w64-tools/widl/include/windef.h 2018-09-14 16:16:43.000000000 +0200 -+++ mingw-w64-v6.0.0-new/mingw-w64-tools/widl/include/windef.h 2019-06-04 17:41:05.156136224 +0200 -@@ -101,7 +101,7 @@ extern "C" { - #endif /* __cdecl */ +diff -rupN --no-dereference mingw-w64-v7.0.0/mingw-w64-tools/widl/include/windef.h mingw-w64-v7.0.0-new/mingw-w64-tools/widl/include/windef.h +--- mingw-w64-v7.0.0/mingw-w64-tools/widl/include/windef.h 2019-11-09 06:33:24.000000000 +0100 ++++ mingw-w64-v7.0.0-new/mingw-w64-tools/widl/include/windef.h 2020-06-20 01:18:23.248691595 +0200 +@@ -111,7 +111,7 @@ extern "C" { + #endif #ifndef __ms_va_list -# if (defined(__x86_64__) || defined(__aarch64__)) && defined (__GNUC__) diff --git a/mingw-w64-tools-ppc64le.patch b/mingw-w64-tools-ppc64le.patch new file mode 100644 index 0000000..48a5f53 --- /dev/null +++ b/mingw-w64-tools-ppc64le.patch @@ -0,0 +1,12 @@ +diff -rupN --no-dereference mingw-w64-v7.0.0/mingw-w64-tools/widl/include/winnt.h mingw-w64-v7.0.0-new/mingw-w64-tools/widl/include/winnt.h +--- mingw-w64-v7.0.0/mingw-w64-tools/widl/include/winnt.h 2020-06-20 01:18:23.245691600 +0200 ++++ mingw-w64-v7.0.0-new/mingw-w64-tools/widl/include/winnt.h 2020-06-20 01:18:23.536691074 +0200 +@@ -2225,7 +2225,7 @@ typedef struct + DWORD Dr5; + DWORD Dr6; + DWORD Dr7; +-} CONTEXT; ++} CONTEXT, *PCONTEXT; + + typedef struct _STACK_FRAME_HEADER + { diff --git a/mingw-w64-tools-s390.patch b/mingw-w64-tools-s390.patch new file mode 100644 index 0000000..8060f85 --- /dev/null +++ b/mingw-w64-tools-s390.patch @@ -0,0 +1,103 @@ +diff -rupN --no-dereference mingw-w64-v7.0.0/mingw-w64-tools/widl/include/basetsd.h mingw-w64-v7.0.0-new/mingw-w64-tools/widl/include/basetsd.h +--- mingw-w64-v7.0.0/mingw-w64-tools/widl/include/basetsd.h 2019-11-09 06:33:24.000000000 +0100 ++++ mingw-w64-v7.0.0-new/mingw-w64-tools/widl/include/basetsd.h 2020-06-20 01:18:22.981692078 +0200 +@@ -36,7 +36,7 @@ extern "C" { + * 64-bit. + */ + +-#if (defined(__x86_64__) || defined(__powerpc64__) || defined(__aarch64__)) && !defined(_WIN64) ++#if (defined(__x86_64__) || defined(__powerpc64__) || defined(__aarch64__) || defined(__s390x__)) && !defined(_WIN64) + #define _WIN64 + #endif + +@@ -309,6 +309,10 @@ typedef ULONG_PTR KAFFINITY, *PKAFFINITY + # undef WORDS_BIGENDIAN + # undef BITFIELDS_BIGENDIAN + # undef ALLOW_UNALIGNED_ACCESS ++#elif defined(__s390__) ++# define WORDS_BIGENDIAN ++# define BITFIELDS_BIGENDIAN ++# define ALLOW_UNALIGNED_ACCESS + #elif !defined(RC_INVOKED) && !defined(__WIDL__) && !defined(__midl) + # error Unknown CPU architecture! + #endif +diff -rupN --no-dereference mingw-w64-v7.0.0/mingw-w64-tools/widl/include/winnt.h mingw-w64-v7.0.0-new/mingw-w64-tools/widl/include/winnt.h +--- mingw-w64-v7.0.0/mingw-w64-tools/widl/include/winnt.h 2019-11-09 06:33:24.000000000 +0100 ++++ mingw-w64-v7.0.0-new/mingw-w64-tools/widl/include/winnt.h 2020-06-20 01:18:22.982692077 +0200 +@@ -2248,6 +2248,36 @@ typedef struct _STACK_FRAME_HEADER + + #endif /* __powerpc__ */ + ++#ifdef __s390x__ ++ ++/* ++ * FIXME: ++ * ++ * There is no official CONTEXT structure defined for the S/390 ++ * architecture, so I just made one up. ++ * ++ * This structure is completely dummy, made just to build widl. ++ * ++ */ ++ ++#define CONTEXT_S390X 0x10000000 ++ ++#define CONTEXT_CONTROL (CONTEXT_S390X | 0x00000001) ++#define CONTEXT_FLOATING_POINT (CONTEXT_S390X | 0x00000002) ++#define CONTEXT_INTEGER (CONTEXT_S390X | 0x00000004) ++ ++#define CONTEXT_FULL (CONTEXT_CONTROL | CONTEXT_FLOATING_POINT | CONTEXT_INTEGER) ++ ++#define EXCEPTION_READ_FAULT 0 ++#define EXCEPTION_WRITE_FAULT 1 ++#define EXCEPTION_EXECUTE_FAULT 8 ++ ++typedef struct _CONTEXT ++{ ++} CONTEXT, *PCONTEXT; ++ ++#endif /* __s390x__ */ ++ + #if !defined(CONTEXT_FULL) && !defined(RC_INVOKED) + #error You need to define a CONTEXT for your CPU + #endif +diff -rupN --no-dereference mingw-w64-v7.0.0/mingw-w64-tools/widl/src/widl.c mingw-w64-v7.0.0-new/mingw-w64-tools/widl/src/widl.c +--- mingw-w64-v7.0.0/mingw-w64-tools/widl/src/widl.c 2019-11-09 06:33:24.000000000 +0100 ++++ mingw-w64-v7.0.0-new/mingw-w64-tools/widl/src/widl.c 2020-06-20 01:18:22.982692077 +0200 +@@ -102,6 +102,8 @@ enum target_cpu target_cpu = CPU_POWERPC + enum target_cpu target_cpu = CPU_ARM; + #elif defined(__aarch64__) + enum target_cpu target_cpu = CPU_ARM64; ++#elif defined(__s390x__) ++enum target_cpu target_cpu = CPU_S390X; + #else + #error Unsupported CPU + #endif +@@ -294,6 +296,7 @@ static void set_target( const char *targ + { "armv7a", CPU_ARM }, + { "arm64", CPU_ARM64 }, + { "aarch64", CPU_ARM64 }, ++ { "s390x", CPU_S390X } + }; + + unsigned int i; +@@ -755,6 +758,7 @@ int main(int argc,char *argv[]) + else pointer_size = 4; + break; + case CPU_x86_64: ++ case CPU_S390X: + if (pointer_size == 4) target_cpu = CPU_x86; + else pointer_size = 8; + break; +diff -rupN --no-dereference mingw-w64-v7.0.0/mingw-w64-tools/widl/src/widl.h mingw-w64-v7.0.0-new/mingw-w64-tools/widl/src/widl.h +--- mingw-w64-v7.0.0/mingw-w64-tools/widl/src/widl.h 2019-11-09 06:33:24.000000000 +0100 ++++ mingw-w64-v7.0.0-new/mingw-w64-tools/widl/src/widl.h 2020-06-20 01:18:22.982692077 +0200 +@@ -76,7 +76,7 @@ extern int char_number; + + enum target_cpu + { +- CPU_x86, CPU_x86_64, CPU_POWERPC, CPU_ARM, CPU_ARM64, CPU_LAST = CPU_ARM64 ++ CPU_x86, CPU_x86_64, CPU_POWERPC, CPU_ARM, CPU_ARM64, CPU_S390X, CPU_LAST = CPU_S390X + }; + + extern enum target_cpu target_cpu; diff --git a/mingw-w64-tools-widl-includedir.patch b/mingw-w64-tools-widl-includedir.patch deleted file mode 100644 index de0fd93..0000000 --- a/mingw-w64-tools-widl-includedir.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff -rupN mingw-w64-v6.0.0/mingw-w64-tools/widl/Makefile.am mingw-w64-v6.0.0-new/mingw-w64-tools/widl/Makefile.am ---- mingw-w64-v6.0.0/mingw-w64-tools/widl/Makefile.am 2018-09-14 16:16:43.000000000 +0200 -+++ mingw-w64-v6.0.0-new/mingw-w64-tools/widl/Makefile.am 2019-05-07 17:55:56.298194052 +0200 -@@ -58,7 +58,7 @@ widl_SOURCES = src/widl.h \ - include/pathtools.h \ - include/winnt.rh - --widl_CPPFLAGS = -I$(top_srcdir)/include -DDEFAULT_INCLUDE_DIR=\"$(includedir)/../$(target)/include\" -DDEFAULT_BINDIR=\"$(bindir)\" -+widl_CPPFLAGS = -I$(top_srcdir)/include -DDEFAULT_INCLUDE_DIR=\"$(prefix)/$(target)/sys-root/mingw/include\" -DDEFAULT_BINDIR=\"$(bindir)\" - widl_CFLAGS = -O3 -g -Wall -Wformat -Wpacked -Wmissing-declarations -Wimplicit-function-declaration -Wmissing-prototypes -Wstrict-aliasing=2 - - DISTCHECK_CONFIGURE_FLAGS = --host=$(host) --target=$(target) -diff -rupN mingw-w64-v6.0.0/mingw-w64-tools/widl/Makefile.in mingw-w64-v6.0.0-new/mingw-w64-tools/widl/Makefile.in ---- mingw-w64-v6.0.0/mingw-w64-tools/widl/Makefile.in 2018-09-14 16:16:43.000000000 +0200 -+++ mingw-w64-v6.0.0-new/mingw-w64-tools/widl/Makefile.in 2019-05-07 17:55:56.299194042 +0200 -@@ -368,7 +368,7 @@ widl_SOURCES = src/widl.h \ - include/pathtools.h \ - include/winnt.rh - --widl_CPPFLAGS = -I$(top_srcdir)/include -DDEFAULT_INCLUDE_DIR=\"$(includedir)/../$(target)/include\" -DDEFAULT_BINDIR=\"$(bindir)\" -+widl_CPPFLAGS = -I$(top_srcdir)/include -DDEFAULT_INCLUDE_DIR=\"$(prefix)/$(target)/sys-root/mingw/include\" -DDEFAULT_BINDIR=\"$(bindir)\" - widl_CFLAGS = -O3 -g -Wall -Wformat -Wpacked -Wmissing-declarations -Wimplicit-function-declaration -Wmissing-prototypes -Wstrict-aliasing=2 - DISTCHECK_CONFIGURE_FLAGS = --host=$(host) --target=$(target) - all: all-am diff --git a/mingw-w64-tools.spec b/mingw-w64-tools.spec index efe3755..d0deb90 100644 --- a/mingw-w64-tools.spec +++ b/mingw-w64-tools.spec @@ -4,8 +4,8 @@ #%%global branch trunk Name: mingw-w64-tools -Version: 6.0.0 -Release: 3%{?dist} +Version: 7.0.0 +Release: 1%{?dist} Summary: Supplementary tools which are part of the mingw-w64 toolchain # http://sourceforge.net/mailarchive/forum.php?thread_name=5157C0FC.1010309%40users.sourceforge.net&forum_name=mingw-w64-public @@ -24,13 +24,13 @@ Source0: http://sourceforge.net/code-snapshots/git/m/mi/mingw-w64/mingw-w Source0: http://downloads.sourceforge.net/mingw-w64/mingw-w64-v%{version}.tar.bz2 %endif # just to make widl to build on s390 -Patch0: mingw-w64-tools-2.0.999-s390.patch - -# https://bugzilla.redhat.com/show_bug.cgi?id=1047727 -Patch1: mingw-w64-tools-widl-includedir.patch +Patch0: mingw-w64-tools-s390.patch # aarch64 does not seem to know about __builtin_ms_va_list -Patch2: mingw-w64-tools-aarch64.patch +Patch1: mingw-w64-tools-aarch64.patch + +# fix ppc64le build +Patch2: mingw-w64-tools-ppc64le.patch BuildRequires: gcc BuildRequires: mingw32-filesystem >= 95 @@ -73,13 +73,13 @@ pushd mingw-w64-tools %global _configure ../configure mkdir win32 pushd win32 - %configure --target=%{mingw32_target} --program-prefix=%{mingw32_target}- - make %{?_smp_mflags} + %configure --target=%{mingw32_target} --program-prefix=%{mingw32_target}- --with-widl-includedir=%{mingw32_includedir} + %make_build popd mkdir win64 pushd win64 - %configure --target=%{mingw64_target} --program-prefix=%{mingw64_target}- - make %{?_smp_mflags} + %configure --target=%{mingw64_target} --program-prefix=%{mingw64_target}- --with-widl-includedir=%{mingw64_includedir} + %make_build popd popd popd @@ -87,10 +87,10 @@ popd %install pushd mingw-w64-tools - make -C gendef DESTDIR=$RPM_BUILD_ROOT install - make -C genidl DESTDIR=$RPM_BUILD_ROOT install - make -C widl/win32 DESTDIR=$RPM_BUILD_ROOT install - make -C widl/win64 DESTDIR=$RPM_BUILD_ROOT install + %make_install -C gendef + %make_install -C genidl + %make_install -C widl/win32 + %make_install -C widl/win64 popd @@ -103,6 +103,9 @@ popd %changelog +* Sat Jun 20 2020 Sandro Mani - 7.0.0-1 +- Update to 7.0.0 + * Wed Jan 29 2020 Fedora Release Engineering - 6.0.0-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild diff --git a/sources b/sources index 60871ed..c5b67c8 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mingw-w64-v6.0.0.tar.bz2) = e3d3663e0cb33a16f90b1a33e81b5a30d26f7e34270b14e865c10068f2a2d32da9ef8cbbb0c3fed9c71429ae11c82152ff3b87d81558929b2a4993dc99cfc11e +SHA512 (mingw-w64-v7.0.0.tar.bz2) = 30e5b2824a24eeb99ab519e3fc134cc9a7f04ee8b853bc8d66a13d1ab74144bf78b93e162bfe6de2a5e61f63c0e620a933b260b02d019cd68cc4b78bd36c67fd