GNU bug report logs -
#78417
[PATCH 0/2] MinGW: Use winpthreads by default.
Previous Next
To reply to this bug, email your comments to 78417 AT debbugs.gnu.org.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
andreas <at> enge.fr, janneke <at> gnu.org, ludo <at> gnu.org, z572 <at> z572.online, guix-patches <at> gnu.org
:
bug#78417
; Package
guix-patches
.
(Wed, 14 May 2025 06:42:01 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Janneke Nieuwenhuizen <janneke <at> gnu.org>
:
New bug report received and forwarded. Copy sent to
andreas <at> enge.fr, janneke <at> gnu.org, ludo <at> gnu.org, z572 <at> z572.online, guix-patches <at> gnu.org
.
(Wed, 14 May 2025 06:42:02 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
Using a version of mingw-64 with winpthreads, packages that support posix
threads, such as Guile, can be (cross-)built for MinGW with thread support.
Also, since gcc-13, a MinGW (cross-)compiler provides g++ with std::mutex when
built with a version of mingw-w64 that has winpthreads enabled.
Now that we are using gcc-14 for cross-builds, switching to MingGW packages
and a MinGW cross-build toolchain that uses winpthreads is probably helpful.
Greetings,
Janneke
Janneke Nieuwenhuizen (2):
gnu: mingw-w64-i686, mingw-w64-x86_64: Use winpthreads.
gnu: cross-base: mingw: Use winpthreads by default.
gnu/packages/cross-base.scm | 16 ++++++++++------
gnu/packages/mingw.scm | 8 +++++---
2 files changed, 15 insertions(+), 9 deletions(-)
base-commit: 5f5d84beccc180f1b51474c0e47eb6e0d0c9175f
--
2.49.0
Information forwarded
to
guix-patches <at> gnu.org
:
bug#78417
; Package
guix-patches
.
(Wed, 14 May 2025 06:46:02 GMT)
Full text and
rfc822 format available.
Message #8 received at 78417 <at> debbugs.gnu.org (full text, mbox):
* gnu/packages/mingw.scm (mingw-w64-i686, mingw-w64-x86_64): Enable
winpthreads by default.
(mingw-w64-i686-sans-winpthreads, mingw-w64-x86_64-sans-winpthreads): New
variables providing variants without winpthreads.
Change-Id: Iaf34d9cc812543762cfd626693ea715880341c13
---
gnu/packages/mingw.scm | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/gnu/packages/mingw.scm b/gnu/packages/mingw.scm
index ea579d4043..ed7b87e3b1 100644
--- a/gnu/packages/mingw.scm
+++ b/gnu/packages/mingw.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2016 Jan Nieuwenhuizen <janneke <at> gnu.org>
+;;; Copyright © 2016, 2025 Janneke Nieuwenhuizen <janneke <at> gnu.org>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me <at> tobias.gr>
;;; Copyright © 2019 Carl Dong <contact <at> carldong.me>
;;; Copyright © 2021 Léo Le Bouter <lle-bout <at> zaclys.net>
@@ -132,10 +132,10 @@ (define* (make-mingw-w64/implementation machine
(define make-mingw-w64
(memoize make-mingw-w64/implementation))
-(define-public mingw-w64-i686
+(define-public mingw-w64-i686-sans-winpthreads
(make-mingw-w64 "i686"))
-(define-public mingw-w64-x86_64
+(define-public mingw-w64-x86_64-sans-winpthreads
(make-mingw-w64 "x86_64"))
(define-public mingw-w64-i686-winpthreads
@@ -146,6 +146,8 @@ (define-public mingw-w64-x86_64-winpthreads
(make-mingw-w64 "x86_64"
#:with-winpthreads? #t))
+(define-public mingw-w64-i686 mingw-w64-i686-winpthreads)
+(define-public mingw-w64-x86_64 mingw-w64-x86_64-winpthreads)
(define-public mingw-w64 mingw-w64-i686)
(define-public mingw-w64-tools
--
2.49.0
Information forwarded
to
andreas <at> enge.fr, janneke <at> gnu.org, ludo <at> gnu.org, z572 <at> z572.online, guix-patches <at> gnu.org
:
bug#78417
; Package
guix-patches
.
(Wed, 14 May 2025 06:47:01 GMT)
Full text and
rfc822 format available.
Message #11 received at 78417 <at> debbugs.gnu.org (full text, mbox):
Using a version of mingw-64 with winpthreads, packages that support posix
threads, such as Guile, can be (cross-)built for MinGW with thread support.
Also, since gcc-13, a MinGW (cross-)compiler provides g++ with std::mutex when
built with a version of mingw-w64 that has winpthreads enabled.
* gnu/packages/cross-base.scm (cross-gcc-toolchain/implementation):
Add #:with-winpthreads? parameter, defaulting to #t. Pass it...
(cross-libc*): ...to new #:with-winpthreads? parameter here, defaulting to #t.
Pass it to make-mingw-w64 for winpthread support.
Change-Id: Iaf34d9cc812543762cfd626693ea715880341c13
---
gnu/packages/cross-base.scm | 16 ++++++++++------
1 file changed, 10 insertions(+), 6 deletions(-)
diff --git a/gnu/packages/cross-base.scm b/gnu/packages/cross-base.scm
index 5df06418e3..97afa240e3 100644
--- a/gnu/packages/cross-base.scm
+++ b/gnu/packages/cross-base.scm
@@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013-2018, 2020, 2023-2024 Ludovic Courtès <ludo <at> gnu.org>
;;; Copyright © 2014, 2015, 2018 Mark H Weaver <mhw <at> netris.org>
-;;; Copyright © 2016, 2019, 2023, 2024 Janneke Nieuwenhuizen <janneke <at> gnu.org>
+;;; Copyright © 2016, 2019, 2023-2025 Janneke Nieuwenhuizen <janneke <at> gnu.org>
;;; Copyright © 2016 Manolis Fragkiskos Ragkousis <manolis837 <at> gmail.com>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me <at> tobias.gr>
;;; Copyright © 2019, 2020, 2021 Marius Bakke <marius <at> gnu.org>
@@ -673,7 +673,8 @@ (define* (cross-libc* target
(libc (libc-for-target target))
(xgcc (cross-gcc target))
(xbinutils (cross-binutils target))
- (xheaders (cross-kernel-headers target)))
+ (xheaders (cross-kernel-headers target))
+ (with-winpthreads? #t))
"Return LIBC cross-built for TARGET, a GNU triplet. Use XGCC and XBINUTILS
and the cross tool chain. If TARGET doesn't have a standard C library #f is
returned."
@@ -682,7 +683,8 @@ (define* (cross-libc* target
(let ((machine (substring target 0 (string-index target #\-))))
(make-mingw-w64 machine
#:xgcc xgcc
- #:xbinutils xbinutils)))
+ #:xbinutils xbinutils
+ #:with-winpthreads? #t)))
((or (? target-linux?) (? target-hurd?))
(package
(inherit libc)
@@ -787,10 +789,12 @@ (define* (cross-gcc-toolchain/implementation target
#:key
(base-gcc %xgcc)
(xbinutils (cross-binutils target))
+ (with-winpthreads? #t)
(libc (cross-libc
- target
- #:xgcc (cross-gcc target #:xgcc base-gcc)
- #:xbinutils xbinutils))
+ target
+ #:xgcc (cross-gcc target #:xgcc base-gcc)
+ #:xbinutils xbinutils
+ #:with-winpthreads? with-winpthreads?))
(xgcc (cross-gcc target
#:xgcc base-gcc
#:libc libc
--
2.49.0
This bug report was last modified 1 day ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.