Toggle diff (199 lines)
diff --git a/gnu/local.mk b/gnu/local.mk
index c5c9ff48bb..0deb1ee071 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1731,8 +1731,6 @@ dist_patch_DATA = \
%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 825a784e0d..e2fb84ce63 100644
--- a/gnu/packages/mingw.scm
+++ b/gnu/packages/mingw.scm
@@ -43,7 +43,7 @@ (define* (make-mingw-w64/implementation machine
(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 @@ (define* (make-mingw-w64/implementation machine
"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 @@ (define* (make-mingw-w64/implementation machine
#~(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 <float_ginclude.h> */
-
- /* 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 <steve@sk2.org>
-
-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 <skitt@debian.org>
-
-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 <mingw-w64-public@lists.sourceforge.net>\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 <martellmalone@gmail.com>\n"
- ;
-
--
2.45.1