diff --git a/gnu/local.mk b/gnu/local.mk index e584e426d0..ba6fbe988a 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1737,9 +1737,6 @@ dist_patch_DATA = \ %D%/packages/patches/mia-vtk9.patch \ %D%/packages/patches/mia-vtk92.patch \ %D%/packages/patches/mia-vtk-version.patch \ - %D%/packages/patches/mingw-w64-6.0.0-gcc.patch \ - %D%/packages/patches/mingw-w64-dlltool-temp-prefix.patch \ - %D%/packages/patches/mingw-w64-reproducible-gendef.patch \ %D%/packages/patches/minisat-friend-declaration.patch \ %D%/packages/patches/minisat-install.patch \ %D%/packages/patches/miniz-for-pytorch.patch \ diff --git a/gnu/packages/mingw.scm b/gnu/packages/mingw.scm index bae1561546..8a8a885446 100644 --- a/gnu/packages/mingw.scm +++ b/gnu/packages/mingw.scm @@ -43,7 +43,7 @@ specified, recurse and return a mingw-w64 with support for winpthreads." (package (name (string-append "mingw-w64" "-" machine (if with-winpthreads? "-winpthreads" ""))) - (version "11.0.1") + (version "12.0.0") (source (origin (method url-fetch) @@ -51,11 +51,7 @@ specified, recurse and return a mingw-w64 with support for winpthreads." "mirror://sourceforge/mingw-w64/mingw-w64/" "mingw-w64-release/mingw-w64-v" version ".tar.bz2")) (sha256 - (base32 "047f4m37kxf7g8qj23qplrzfd9cirfkkv8d175sfv2zfd7hbqriz")) - (patches - (search-patches "mingw-w64-6.0.0-gcc.patch" - "mingw-w64-dlltool-temp-prefix.patch" - "mingw-w64-reproducible-gendef.patch")))) + (base32 "0bzdprdrb8jy5dhkl2j2yhnr2nsiv6wk2wzxrzaqsvjbmj58jhfc")))) (native-inputs `(("xgcc-core" ,(if xgcc xgcc (cross-gcc triplet))) ("xbinutils" ,(if xbinutils xbinutils (cross-binutils triplet))) @@ -84,7 +80,14 @@ specified, recurse and return a mingw-w64 with support for winpthreads." #~(list #$(string-append "--host=" triplet) #$@(if with-winpthreads? #~("--with-libraries=winpthreads") - #~())) + #~()) + ;; The default msvcrt changed on 12.0.0 to use UCRT as the + ;; default, this could cause problems with programs expecting + ;; MSVCRT as the default. + ;; + ;; XXX: A new target to use UCRT can be introduced as + ;; the MSYS2 project does, e.g: x86_64-w64-ucrt-mingw32. + "--with-default-msvcrt=msvcrt") #:make-flags #~'("DEFS=-DHAVE_CONFIG_H -D__MINGW_HAS_DXSDK=1") #:phases #~(modify-phases %standard-phases diff --git a/gnu/packages/patches/mingw-w64-6.0.0-gcc.patch b/gnu/packages/patches/mingw-w64-6.0.0-gcc.patch deleted file mode 100644 index 036cf79f91..0000000000 --- a/gnu/packages/patches/mingw-w64-6.0.0-gcc.patch +++ /dev/null @@ -1,65 +0,0 @@ -This patch includes - - * mingw-w64-headers/include/winnt.h: compile fixes for1 gcc-4.9.3 - * mingw-w64-headers/crt/math.h: Likewise - * mingw-w64-headers/crt/float.h (FLT_EPSILON,DBL_EPSILON,LDBL_EPSILON): Add - symbols. - * mingw-w64-headers/crt/stat.h (S_ISLNK,S_ISSOCK,S_ISUID,S_ISGID,S_ISLINK): - Add symbols. - (lstat): Add function. - * mingw-w64-headers/crt/_mingw_stat64.h: Likewise - * mingw-w64-headers/crt/stdlib.h (realpath): Add function. - -Needed for building with gcc-4.9.3 and using with cross-libtool-2.4.6. - -Upstream status: not yet presented upstream. - -diff --git a/mingw-w64-headers/crt/float.h b/mingw-w64-headers/crt/float.h -index 5874f4e..bdf4ead 100644 ---- a/mingw-w64-headers/crt/float.h -+++ b/mingw-w64-headers/crt/float.h -@@ -22,6 +22,15 @@ - #if (__GNUC__ < 4) - #error Corrupt install of gcc-s internal headers, or search order was changed. - #else -+ -+ /* From gcc-4.9.3 float.h. */ -+ #undef FLT_EPSILON -+ #undef DBL_EPSILON -+ #undef LDBL_EPSILON -+ #define FLT_EPSILON __FLT_EPSILON__ -+ #define DBL_EPSILON __DBL_EPSILON__ -+ #define LDBL_EPSILON __LDBL_EPSILON__ -+ - /* #include_next */ - - /* Number of decimal digits, q, such that any floating-point number with q -diff --git a/mingw-w64-headers/crt/math.h b/mingw-w64-headers/crt/math.h -index 1e970f4..99a332f 100644 ---- a/mingw-w64-headers/crt/math.h -+++ b/mingw-w64-headers/crt/math.h -@@ -216,6 +216,7 @@ extern "C" { - #endif - } - -+#if 0 - __CRT_INLINE long double __cdecl fabsl (long double x) - { - #ifdef __arm__ -@@ -226,6 +227,7 @@ extern "C" { - return res; - #endif - } -+#endif - - __CRT_INLINE double __cdecl fabs (double x) - { -@@ -905,7 +907,7 @@ __mingw_choose_expr ( \ - /* 7.12.7.3 */ - extern double __cdecl hypot (double, double) __MINGW_ATTRIB_DEPRECATED_MSVC2005; /* in libmoldname.a */ - extern float __cdecl hypotf (float x, float y); --#ifndef __CRT__NO_INLINE -+#if 0 //ndef __CRT__NO_INLINE - __CRT_INLINE float __cdecl hypotf (float x, float y) { return (float) hypot ((double)x, (double)y);} - #endif - extern long double __cdecl hypotl (long double, long double); diff --git a/gnu/packages/patches/mingw-w64-dlltool-temp-prefix.patch b/gnu/packages/patches/mingw-w64-dlltool-temp-prefix.patch deleted file mode 100644 index 432cafc162..0000000000 --- a/gnu/packages/patches/mingw-w64-dlltool-temp-prefix.patch +++ /dev/null @@ -1,26 +0,0 @@ -This following patch was originally found at the debian mingw-w64 team's -mingw-w64 repo located here: -https://salsa.debian.org/mingw-w64-team/mingw-w64.git - -Invoke the following in the aforementioned repo to see the original patch: - - $ git show 4974e2c:debian/patches/dlltool-temp-prefix.patch - -Description: Specify dlltool's temp prefix -Author: Stephen Kitt - -By default dlltool uses its pid for the object files it generates. -Enforcing its temp prefix allows the files it generates to be -reproducible. - ---- a/mingw-w64-crt/Makefile.am -+++ b/mingw-w64-crt/Makefile.am -@@ -36,7 +36,7 @@ - DTDEF32=$(GENLIB) $(DLLTOOLFLAGS32) $(AM_DLLTOOLFLAGS) - DTDEF64=$(GENLIB) $(DLLTOOLFLAGS64) $(AM_DLLTOOLFLAGS) - else -- AM_DLLTOOLFLAGS=-k --as=$(AS) --output-lib $@ -+ AM_DLLTOOLFLAGS=-k --as=$(AS) --output-lib $@ --temp-prefix $$(basename $@ .a) - DLLTOOLFLAGSARM32=-m arm - DLLTOOLFLAGSARM64=-m arm64 - DLLTOOLFLAGS32=--as-flags=--32 -m i386 diff --git a/gnu/packages/patches/mingw-w64-reproducible-gendef.patch b/gnu/packages/patches/mingw-w64-reproducible-gendef.patch deleted file mode 100644 index 8dbea54ce9..0000000000 --- a/gnu/packages/patches/mingw-w64-reproducible-gendef.patch +++ /dev/null @@ -1,33 +0,0 @@ -This following patch was originally found at the debian mingw-w64 team's -mingw-w64 repo located here: -https://salsa.debian.org/mingw-w64-team/mingw-w64.git - -Invoke the following in the aforementioned repo to see the original patch: - - $ git show 9a33f50:debian/patches/reproducible-build.patch - -Description: Drop __DATE__ from gendef and genlib -Author: Stephen Kitt - -This allows gendef and genlib to be built reproducibly. - ---- a/mingw-w64-tools/gendef/src/gendef.c -+++ b/mingw-w64-tools/gendef/src/gendef.c -@@ -196,7 +196,6 @@ - " By default, the output files are named after their DLL counterparts\n" - " gendef MYDLL.DLL Produces MYDLL.def\n" - " gendef - MYDLL.DLL Prints the exports to stdout\n"); -- fprintf (stderr, "\nBuilt on %s\n", __DATE__); - fprintf (stderr, "\nReport bugs to \n"); - exit (0); - } ---- a/mingw-w64-tools/genlib/src/genlib.c -+++ b/mingw-w64-tools/genlib/src/genlib.c -@@ -123,7 +123,6 @@ - "Usage example:\n" - " By default, the output file is named after the DLL counterpart\n" - " genlib mydef.def Produces libmydll.a\n" --"\nBuilt on " __DATE__ "\n" - "\nReport bugs to \n" - ; -