[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#37028] [PATCH] gnu: mingw-w64: Update to 6.0.0.
From: |
David Thompson |
Subject: |
[bug#37028] [PATCH] gnu: mingw-w64: Update to 6.0.0. |
Date: |
Wed, 14 Aug 2019 08:59:14 -0400 |
* gnu/packages/mingw.scm (mingw-w64): Update to 6.0.0.
* gnu/build/cross-toolchain.scm (set-cross-path/mingw): Add additional
autoconf-like substitutions.
---
gnu/build/cross-toolchain.scm | 6 +-
gnu/packages/mingw.scm | 6 +-
.../patches/mingw-w64-6.0.0-gcc.patch | 65 +++++++++++++++++++
3 files changed, 73 insertions(+), 4 deletions(-)
create mode 100644 gnu/packages/patches/mingw-w64-6.0.0-gcc.patch
diff --git a/gnu/build/cross-toolchain.scm b/gnu/build/cross-toolchain.scm
index d430b8afc4..d67ff966bd 100644
--- a/gnu/build/cross-toolchain.scm
+++ b/gnu/build/cross-toolchain.scm
@@ -129,7 +129,11 @@ C_*INCLUDE_PATH."
(substitute* (string-append mingw-headers "/crt/_mingw.h")
(("@MINGW_HAS_SECURE_API@")
- "#define MINGW_HAS_SECURE_API 1"))
+ "#define MINGW_HAS_SECURE_API 1")
+ (("@DEFAULT_WIN32_WINNT@")
+ "0x502")
+ (("@DEFAULT_MSVCRT_VERSION@")
+ "0x700"))
(let ((cpath (string-append mingw-headers "/include"
":" mingw-headers "/crt"
diff --git a/gnu/packages/mingw.scm b/gnu/packages/mingw.scm
index 3e96f2c475..f6f95ab170 100644
--- a/gnu/packages/mingw.scm
+++ b/gnu/packages/mingw.scm
@@ -37,15 +37,15 @@
(define-public mingw-w64
(package
(name "mingw-w64")
- (version "5.0.4")
+ (version "6.0.0")
(source (origin
(method url-fetch)
(uri (string-append
"https://sourceforge.net/projects/mingw-w64/files/mingw-w64/"
"mingw-w64-release/mingw-w64-v" version ".tar.bz2"))
(sha256
- (base32 "00zq3z1hbzd5yzmskskjg79xrzwsqx7ihyprfaxy4hb897vf29sm"))
- (patches (search-patches "mingw-w64-5.0rc2-gcc-4.9.3.patch"))))
+ (base32 "1w28mynv500y03h92nh87rgw3fnp82qwnjbxrrzqkmr63q812pl0"))
+ (patches (search-patches "mingw-w64-6.0.0-gcc.patch"))))
(native-inputs `(("xgcc-core" ,(cross-gcc %mingw-triplet))
("xbinutils" ,(cross-binutils %mingw-triplet))))
(build-system gnu-build-system)
diff --git a/gnu/packages/patches/mingw-w64-6.0.0-gcc.patch
b/gnu/packages/patches/mingw-w64-6.0.0-gcc.patch
new file mode 100644
index 0000000000..036cf79f91
--- /dev/null
+++ b/gnu/packages/patches/mingw-w64-6.0.0-gcc.patch
@@ -0,0 +1,65 @@
+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);
--
2.17.1
- [bug#37028] [PATCH] gnu: mingw-w64: Update to 6.0.0.,
David Thompson <=