GNU bug report logs - #37813
[PATCH] gnu: mingw-w64: Add -winpthreads variants.

Previous Next

Package: guix-patches;

Reported by: Carl Dong <contact <at> carldong.me>

Date: Fri, 18 Oct 2019 17:53:01 UTC

Severity: normal

Tags: patch

Done: Ludovic Courtès <ludo <at> gnu.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 37813 in the body.
You can then email your comments to 37813 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to guix-patches <at> gnu.org:
bug#37813; Package guix-patches. (Fri, 18 Oct 2019 17:53:01 GMT) Full text and rfc822 format available.

Acknowledgement sent to Carl Dong <contact <at> carldong.me>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Fri, 18 Oct 2019 17:53:01 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Carl Dong <contact <at> carldong.me>
To: "guix-patches <at> gnu.org" <guix-patches <at> gnu.org>
Subject: [PATCH] gnu: mingw-w64: Add -winpthreads variants.
Date: Fri, 18 Oct 2019 17:52:05 +0000
This recursive package definition really demonstrates how magical Guix
can be :-)

* gnu/packages/mingw.scm (make-mingw-w64): Add XGCC, XBINUTILS optional
arguments to specify using a non-default cross-compiler/binutils. Add
WITH-WINPTHREADS? optional argument to allow building with winpthreads
support. Adjust accordingly for the new arguments.
(mingw-w64-i686-winpthreads, mingw-w64-x86_64-winpthreads): Add
variables.
* gnu/packages/cross-base.scm (native-libc): Add XGCC, XBINUTILS
key arugments and pass to MAKE-MINGW-W64.
(cross-libc): Pass XGCC and XBINUTILS to NATIVE-LIBC.
---
 gnu/packages/cross-base.scm | 13 +++++++---
 gnu/packages/mingw.scm      | 48 ++++++++++++++++++++++++++++++-------
 2 files changed, 50 insertions(+), 11 deletions(-)

diff --git a/gnu/packages/cross-base.scm b/gnu/packages/cross-base.scm
index 76d15f4c59..c051c77ad0 100644
--- a/gnu/packages/cross-base.scm
+++ b/gnu/packages/cross-base.scm
@@ -454,7 +454,9 @@ target that libc."
   "Return LIBC cross-built for TARGET, a GNU triplet. Use XGCC and XBINUTILS
 and the cross tool chain."
   (if (cross-newlib? target libc)
-      (native-libc target libc)
+      (native-libc target libc
+                   #:xgcc xgcc
+                   #:xbinutils xbinutils)
       (let ((libc libc))
         (package (inherit libc)
           (name (string-append "glibc-cross-" target))
@@ -511,10 +513,15 @@ and the cross tool chain."

 (define* (native-libc target
                      #:optional
-                     (libc glibc))
+                     (libc glibc)
+                     #:key
+                     (xgcc #f)
+                     (xbinutils #f))
   (if (target-mingw? target)
       (let ((machine (substring target 0 (string-index target #\-))))
-        (make-mingw-w64 machine))
+        (make-mingw-w64 machine
+                        #:xgcc xgcc
+                        #:xbinutils xbinutils))
       libc))

 (define* (cross-newlib? target
diff --git a/gnu/packages/mingw.scm b/gnu/packages/mingw.scm
index fe51780fa3..bbfdc0c134 100644
--- a/gnu/packages/mingw.scm
+++ b/gnu/packages/mingw.scm
@@ -30,12 +30,21 @@
   #:use-module (guix packages)
   #:use-module (guix download)
   #:use-module (guix utils)
-  #:use-module (ice-9 match))
+  #:use-module (ice-9 match)
+  #:export (make-mingw-w64))

-(define-public (make-mingw-w64 machine)
-  (let ((triplet (string-append machine "-" "w64-mingw32")))
+(define* (make-mingw-w64 machine
+                         #:key
+                         (xgcc #f)
+                         (xbinutils #f)
+                         (with-winpthreads? #f))
+  "Return a mingw-w64 for targeting MACHINE. If XGCC or XBINUTILS is specified,
+use that gcc or binutils when cross-compiling. If WITH-WINPTHREADS? is
+specified, recurse and return a mingw-w64 with support for winpthreads."
+  (let* ((triplet (string-append machine "-" "w64-mingw32")))
     (package
-      (name (string-append "mingw-w64" "-" machine))
+      (name (string-append "mingw-w64" "-" machine
+                           (if with-winpthreads? "-winpthreads" "")))
       (version "6.0.0")
       (source (origin
                 (method url-fetch)
@@ -45,8 +54,14 @@
                 (sha256
                  (base32 "1w28mynv500y03h92nh87rgw3fnp82qwnjbxrrzqkmr63q812pl0"))
                 (patches (search-patches "mingw-w64-6.0.0-gcc.patch"))))
-      (native-inputs `(("xgcc-core" ,(cross-gcc triplet))
-                       ("xbinutils" ,(cross-binutils triplet))))
+      (native-inputs `(("xgcc-core" ,(if xgcc xgcc (cross-gcc triplet)))
+                       ("xbinutils" ,(if xbinutils xbinutils (cross-binutils triplet)))
+                       ,@(if with-winpthreads?
+                             `(("xlibc" ,(make-mingw-w64 machine
+                                                         #:xgcc xgcc
+                                                         #:xbinutils xbinutils
+                                                         #:with-winpthreads? #f)))
+                             '())))
       (build-system gnu-build-system)
       (search-paths
        (list (search-path-specification
@@ -59,7 +74,10 @@
                  ,(string-append triplet "/lib")
                  ,(string-append triplet "/lib64"))))))
       (arguments
-       `(#:configure-flags '(,(string-append "--host=" triplet))
+       `(#:configure-flags '(,(string-append "--host=" triplet)
+                             ,@(if with-winpthreads?
+                                   '("--with-libraries=winpthreads")
+                                   '()))
          #:phases
          (modify-phases %standard-phases
            (add-before 'configure 'setenv
@@ -74,7 +92,13 @@
                           ":" mingw-headers "/include"
                           ":" mingw-headers "/crt"
                           ":" mingw-headers "/defaults/include"
-                          ":" mingw-headers "/direct-x/include"))))))
+                          ":" mingw-headers "/direct-x/include"))
+                 (when ,with-winpthreads?
+                     (let ((mingw-itself (assoc-ref inputs "xlibc")))
+                       (setenv "CROSS_LIBRARY_PATH"
+                               (string-append
+                                mingw-itself "/lib" ":"
+                                mingw-itself "/" ,triplet "/lib"))))))))
          #:make-flags (list "DEFS=-DHAVE_CONFIG_H -D__MINGW_HAS_DXSDK=1")
          #:tests? #f ; compiles and includes glibc headers
          #:strip-binaries? #f))
@@ -98,4 +122,12 @@ several new APIs such as DirectX and DDK, and 64-bit support.")
 (define-public mingw-w64-x86_64
   (make-mingw-w64 "x86_64"))

+(define-public mingw-w64-i686-winpthreads
+  (make-mingw-w64 "i686"
+                  #:with-winpthreads? #t))
+
+(define-public mingw-w64-x86_64-winpthreads
+  (make-mingw-w64 "x86_64"
+                  #:with-winpthreads? #t))
+
 (define-public mingw-w64 mingw-w64-i686)
--
2.23.0





Information forwarded to guix-patches <at> gnu.org:
bug#37813; Package guix-patches. (Sat, 19 Oct 2019 07:36:01 GMT) Full text and rfc822 format available.

Message #8 received at 37813 <at> debbugs.gnu.org (full text, mbox):

From: janneke <at> gnu.org (Jan (janneke) Nieuwenhuizen)
To: Carl Dong <contact <at> carldong.me>
Cc: 37813 <at> debbugs.gnu.org
Subject: Re: [bug#37813] [PATCH] gnu: mingw-w64: Add -winpthreads variants.
Date: Sat, 19 Oct 2019 09:35:25 +0200
Carl Dong <contact <at> carldong.me> writes:

Hi Carl!

> This recursive package definition really demonstrates how magical Guix
> can be :-)

Beautiful!  The -winpthreads variant depends on a non-winpthreads, and
"just" by adding that dependency, Guix makes it work, right?

Maybe add an example command to the commit message of how to use it,
something like

--8<---------------cut here---------------start------------->8---
Try:

    ./pre-inst-env guix build ... hello/gcc
--8<---------------cut here---------------end--------------->8---

Your patch looks fine, I only have some cosmetic nitpicks.

As a general remark, in GNU we avoid the use the prefix `win' when we
mean Microsoft Windows.  We either use `windows' in full, or `w' (or
w32).  (https://www.gnu.org/prep/standards/html_node/Trademarks.html).

So, what about using `-windows-pthreads' and `with-windows-pthreads',
throughout?

> * gnu/packages/mingw.scm (make-mingw-w64): Add XGCC, XBINUTILS optional
> arguments to specify using a non-default cross-compiler/binutils. Add
                                                                   ^

> WITH-WINPTHREADS? optional argument to allow building with winpthreads
> support. Adjust accordingly for the new arguments.
          ^

> (mingw-w64-i686-winpthreads, mingw-w64-x86_64-winpthreads): Add
> variables.

Please use two spaces after each sentence:

  arguments to specify using a non-default cross-compiler/binutils.  Add
  WITH-WINDOWS-PTHREADS? optional argument to allow building with
  windows-pthreads support.  Adjust accordingly for the new arguments.

>  (define* (native-libc target
>                       #:optional
> -                     (libc glibc))
> +                     (libc glibc)
> +                     #:key
> +                     (xgcc #f)
> +                     (xbinutils #f))

Keyword arguments, if not supplied by the caller, are initialized with
#f, so you do not need to supply a default `#f', just use

                     #:key xgcc xbinutils)

(or each on a new line if you like).  Only if you want other defaults, you
would do something like

  #:key (xgcc a-package) (xbinutils b-package)

>    (if (target-mingw? target)
>        (let ((machine (substring target 0 (string-index target #\-))))
> -        (make-mingw-w64 machine))
> +        (make-mingw-w64 machine
> +                        #:xgcc xgcc
> +                        #:xbinutils xbinutils))
>        libc))
>
>  (define* (cross-newlib? target
> diff --git a/gnu/packages/mingw.scm b/gnu/packages/mingw.scm
> index fe51780fa3..bbfdc0c134 100644
> --- a/gnu/packages/mingw.scm
> +++ b/gnu/packages/mingw.scm
> @@ -30,12 +30,21 @@
>    #:use-module (guix packages)
>    #:use-module (guix download)
>    #:use-module (guix utils)
> -  #:use-module (ice-9 match))
> +  #:use-module (ice-9 match)
> +  #:export (make-mingw-w64))
>
> -(define-public (make-mingw-w64 machine)
> -  (let ((triplet (string-append machine "-" "w64-mingw32")))
> +(define* (make-mingw-w64 machine
> +                         #:key
> +                         (xgcc #f)
> +                         (xbinutils #f)
> +                         (with-winpthreads? #f))

Similarly for #f values here.

> +  "Return a mingw-w64 for targeting MACHINE. If XGCC or XBINUTILS is specified,
> +use that gcc or binutils when cross-compiling. If WITH-WINPTHREADS? is
> +specified, recurse and return a mingw-w64 with support for winpthreads."

Two spaces after senteces.

> +  (let* ((triplet (string-append machine "-" "w64-mingw32")))
>      (package
> -      (name (string-append "mingw-w64" "-" machine))
> +      (name (string-append "mingw-w64" "-" machine
> +                           (if with-winpthreads? "-winpthreads" "")))
>        (version "6.0.0")
>        (source (origin
>                  (method url-fetch)
> @@ -45,8 +54,14 @@
>                  (sha256
>                   (base32 "1w28mynv500y03h92nh87rgw3fnp82qwnjbxrrzqkmr63q812pl0"))
>                  (patches (search-patches "mingw-w64-6.0.0-gcc.patch"))))
> -      (native-inputs `(("xgcc-core" ,(cross-gcc triplet))
> -                       ("xbinutils" ,(cross-binutils triplet))))
> +      (native-inputs `(("xgcc-core" ,(if xgcc xgcc (cross-gcc triplet)))
> +                       ("xbinutils" ,(if xbinutils xbinutils (cross-binutils triplet)))
> +                       ,@(if with-winpthreads?
> +                             `(("xlibc" ,(make-mingw-w64 machine
> +                                                         #:xgcc xgcc
> +                                                         #:xbinutils xbinutils
> +                                                         #:with-winpthreads? #f)))

You do not need to supply the default #:with-winpthreads #f, just use

                             `(("xlibc" ,(make-mingw-w64 machine
                                                         #:xgcc xgcc
                                                         #:xbinutils xbinutils)))

> +                 (when ,with-winpthreads?
> +                     (let ((mingw-itself (assoc-ref inputs "xlibc")))
> +                       (setenv "CROSS_LIBRARY_PATH"
> +                               (string-append
> +                                mingw-itself "/lib" ":"
> +                                mingw-itself "/" ,triplet "/lib"))))))))

This is ok, but I would prefer a more common naming for mingw-ITSELF,
like `libc' or `xlibc'.

For the rest, LGTM; thanks a lot, very nice work!

Greetings,
janneke

-- 
Jan Nieuwenhuizen <janneke <at> gnu.org> | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com | Avatar® http://AvatarAcademy.com




Information forwarded to guix-patches <at> gnu.org:
bug#37813; Package guix-patches. (Mon, 21 Oct 2019 17:51:02 GMT) Full text and rfc822 format available.

Message #11 received at 37813 <at> debbugs.gnu.org (full text, mbox):

From: Carl Dong <contact <at> carldong.me>
To: "janneke <at> gnu.org" <janneke <at> gnu.org>
Cc: "37813 <at> debbugs.gnu.org" <37813 <at> debbugs.gnu.org>
Subject: Re: [bug#37813] [PATCH] gnu: mingw-w64: Add -winpthreads variants.
Date: Mon, 21 Oct 2019 17:49:55 +0000
Hi janneke!

Thank you for your thorough review, definitely a lot to learn for me still :-)

> As a general remark, in GNU we avoid the use the prefix `win' when we
> mean Microsoft Windows.  We either use `windows' in full, or `w' (or
> w32).  (https://www.gnu.org/prep/standards/html_node/Trademarks.html).
>
> So, what about using `-windows-pthreads' and `with-windows-pthreads',
> throughout?

Actually, the library itself is called `winpthreads` according to
http://mingw-w64.org/ and as seen in the codebase here:
https://sourceforge.net/p/mingw-w64/mingw-w64/ci/master/tree/mingw-w64-libraries/winpthreads/,
is that okay?

I believe I've addressed the rest of the concerns in the patch below, thanks
again!

Cheers,
Carl Dong

--8<---------------cut here---------------start------------->8---
This recursive package definition really demonstrates how magical Guix
can be :-)

Try invoking:
    ./pre-inst-env guix build mingw-w64-{x86_64,i686}{,-winpthreads}

* gnu/packages/mingw.scm (make-mingw-w64): Add XGCC, XBINUTILS optional
arguments to specify using a non-default cross-compiler/binutils.  Add
WITH-WINPTHREADS? optional argument to allow building with winpthreads
support.  Adjust accordingly for the new arguments.
(mingw-w64-i686-winpthreads, mingw-w64-x86_64-winpthreads): Add
variables.
* gnu/packages/cross-base.scm (native-libc): Add XGCC, XBINUTILS
key arugments and pass to MAKE-MINGW-W64.
(cross-libc): Pass XGCC and XBINUTILS to NATIVE-LIBC.
---
 gnu/packages/cross-base.scm | 13 +++++++---
 gnu/packages/mingw.scm      | 47 ++++++++++++++++++++++++++++++-------
 2 files changed, 49 insertions(+), 11 deletions(-)

diff --git a/gnu/packages/cross-base.scm b/gnu/packages/cross-base.scm
index 76d15f4c59..13237fb8a8 100644
--- a/gnu/packages/cross-base.scm
+++ b/gnu/packages/cross-base.scm
@@ -454,7 +454,9 @@ target that libc."
   "Return LIBC cross-built for TARGET, a GNU triplet. Use XGCC and XBINUTILS
 and the cross tool chain."
   (if (cross-newlib? target libc)
-      (native-libc target libc)
+      (native-libc target libc
+                   #:xgcc xgcc
+                   #:xbinutils xbinutils)
       (let ((libc libc))
         (package (inherit libc)
           (name (string-append "glibc-cross-" target))
@@ -511,10 +513,15 @@ and the cross tool chain."

 (define* (native-libc target
                      #:optional
-                     (libc glibc))
+                     (libc glibc)
+                     #:key
+                     xgcc
+                     xbinutils)
   (if (target-mingw? target)
       (let ((machine (substring target 0 (string-index target #\-))))
-        (make-mingw-w64 machine))
+        (make-mingw-w64 machine
+                        #:xgcc xgcc
+                        #:xbinutils xbinutils))
       libc))

 (define* (cross-newlib? target
diff --git a/gnu/packages/mingw.scm b/gnu/packages/mingw.scm
index fe51780fa3..88c8d41ef8 100644
--- a/gnu/packages/mingw.scm
+++ b/gnu/packages/mingw.scm
@@ -30,12 +30,21 @@
   #:use-module (guix packages)
   #:use-module (guix download)
   #:use-module (guix utils)
-  #:use-module (ice-9 match))
+  #:use-module (ice-9 match)
+  #:export (make-mingw-w64))

-(define-public (make-mingw-w64 machine)
-  (let ((triplet (string-append machine "-" "w64-mingw32")))
+(define* (make-mingw-w64 machine
+                         #:key
+                         xgcc
+                         xbinutils
+                         with-winpthreads?)
+  "Return a mingw-w64 for targeting MACHINE.  If XGCC or XBINUTILS is specified,
+use that gcc or binutils when cross-compiling.  If WITH-WINPTHREADS? is
+specified, recurse and return a mingw-w64 with support for winpthreads."
+  (let* ((triplet (string-append machine "-" "w64-mingw32")))
     (package
-      (name (string-append "mingw-w64" "-" machine))
+      (name (string-append "mingw-w64" "-" machine
+                           (if with-winpthreads? "-winpthreads" "")))
       (version "6.0.0")
       (source (origin
                 (method url-fetch)
@@ -45,8 +54,13 @@
                 (sha256
                  (base32 "1w28mynv500y03h92nh87rgw3fnp82qwnjbxrrzqkmr63q812pl0"))
                 (patches (search-patches "mingw-w64-6.0.0-gcc.patch"))))
-      (native-inputs `(("xgcc-core" ,(cross-gcc triplet))
-                       ("xbinutils" ,(cross-binutils triplet))))
+      (native-inputs `(("xgcc-core" ,(if xgcc xgcc (cross-gcc triplet)))
+                       ("xbinutils" ,(if xbinutils xbinutils (cross-binutils triplet)))
+                       ,@(if with-winpthreads?
+                             `(("xlibc" ,(make-mingw-w64 machine
+                                                         #:xgcc xgcc
+                                                         #:xbinutils xbinutils)))
+                             '())))
       (build-system gnu-build-system)
       (search-paths
        (list (search-path-specification
@@ -59,7 +73,10 @@
                  ,(string-append triplet "/lib")
                  ,(string-append triplet "/lib64"))))))
       (arguments
-       `(#:configure-flags '(,(string-append "--host=" triplet))
+       `(#:configure-flags '(,(string-append "--host=" triplet)
+                             ,@(if with-winpthreads?
+                                   '("--with-libraries=winpthreads")
+                                   '()))
          #:phases
          (modify-phases %standard-phases
            (add-before 'configure 'setenv
@@ -74,7 +91,13 @@
                           ":" mingw-headers "/include"
                           ":" mingw-headers "/crt"
                           ":" mingw-headers "/defaults/include"
-                          ":" mingw-headers "/direct-x/include"))))))
+                          ":" mingw-headers "/direct-x/include"))
+                 (when ,with-winpthreads?
+                     (let ((xlibc (assoc-ref inputs "xlibc")))
+                       (setenv "CROSS_LIBRARY_PATH"
+                               (string-append
+                                xlibc "/lib" ":"
+                                xlibc "/" ,triplet "/lib"))))))))
          #:make-flags (list "DEFS=-DHAVE_CONFIG_H -D__MINGW_HAS_DXSDK=1")
          #:tests? #f ; compiles and includes glibc headers
          #:strip-binaries? #f))
@@ -98,4 +121,12 @@ several new APIs such as DirectX and DDK, and 64-bit support.")
 (define-public mingw-w64-x86_64
   (make-mingw-w64 "x86_64"))

+(define-public mingw-w64-i686-winpthreads
+  (make-mingw-w64 "i686"
+                  #:with-winpthreads? #t))
+
+(define-public mingw-w64-x86_64-winpthreads
+  (make-mingw-w64 "x86_64"
+                  #:with-winpthreads? #t))
+
 (define-public mingw-w64 mingw-w64-i686)
--
2.23.0
--8<---------------cut here---------------end--------------->8---




Information forwarded to guix-patches <at> gnu.org:
bug#37813; Package guix-patches. (Mon, 21 Oct 2019 18:36:01 GMT) Full text and rfc822 format available.

Message #14 received at 37813 <at> debbugs.gnu.org (full text, mbox):

From: Jan Nieuwenhuizen <janneke <at> gnu.org>
To: Carl Dong <contact <at> carldong.me>
Cc: "37813 <at> debbugs.gnu.org" <37813 <at> debbugs.gnu.org>,
 Ludovic Courtès  <ludo <at> gnu.org>
Subject: Re: [bug#37813] [PATCH] gnu: mingw-w64: Add -winpthreads variants.
Date: Mon, 21 Oct 2019 20:35:24 +0200
Carl Dong writes:

Hi Carl,

> Thank you for your thorough review, definitely a lot to learn for me
> still :-)

You're welcome -- however my patches are no better than yours, I was
very happy with its state.

>> As a general remark, in GNU we avoid the use the prefix `win' when we
>> mean Microsoft Windows.  We either use `windows' in full, or `w' (or
>> w32).  (https://www.gnu.org/prep/standards/html_node/Trademarks.html).
>>
>> So, what about using `-windows-pthreads' and `with-windows-pthreads',
>> throughout?
>
> Actually, the library itself is called `winpthreads` according to
> http://mingw-w64.org/ and as seen in the codebase here:
> https://sourceforge.net/p/mingw-w64/mingw-w64/ci/master/tree/mingw-w64-libraries/winpthreads/,
> is that okay?

Ah, I see.  That is unfortunate.  We would need a maintainer to decide
then, I'm CC'ing Ludo'.  Personally I would still prefer
`windows-pthreads' or `wpthreads'.

> I believe I've addressed the rest of the concerns in the patch below, thanks
> again!

Certainly, other than that, LGTM!

Thanks a lot for your patch.

Greetings,
janneke

-- 
Jan Nieuwenhuizen <janneke <at> gnu.org> | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com | Avatar® http://AvatarAcademy.com




Information forwarded to guix-patches <at> gnu.org:
bug#37813; Package guix-patches. (Mon, 21 Oct 2019 20:55:02 GMT) Full text and rfc822 format available.

Message #17 received at 37813 <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: Jan Nieuwenhuizen <janneke <at> gnu.org>
Cc: "37813 <at> debbugs.gnu.org" <37813 <at> debbugs.gnu.org>,
 Carl Dong <contact <at> carldong.me>
Subject: Re: [bug#37813] [PATCH] gnu: mingw-w64: Add -winpthreads variants.
Date: Mon, 21 Oct 2019 22:53:50 +0200
Hello!

Jan Nieuwenhuizen <janneke <at> gnu.org> skribis:

>> Thank you for your thorough review, definitely a lot to learn for me
>> still :-)
>
> You're welcome -- however my patches are no better than yours, I was
> very happy with its state.

Yes, the patch LGTM as well!

>>> As a general remark, in GNU we avoid the use the prefix `win' when we
>>> mean Microsoft Windows.  We either use `windows' in full, or `w' (or
>>> w32).  (https://www.gnu.org/prep/standards/html_node/Trademarks.html).
>>>
>>> So, what about using `-windows-pthreads' and `with-windows-pthreads',
>>> throughout?
>>
>> Actually, the library itself is called `winpthreads` according to
>> http://mingw-w64.org/ and as seen in the codebase here:
>> https://sourceforge.net/p/mingw-w64/mingw-w64/ci/master/tree/mingw-w64-libraries/winpthreads/,
>> is that okay?
>
> Ah, I see.  That is unfortunate.  We would need a maintainer to decide
> then, I'm CC'ing Ludo'.  Personally I would still prefer
> `windows-pthreads' or `wpthreads'.

I’d lean towards keeping the upstream name, so “winpthreads”, as per the
current package naming policy (info "(guix) Package Naming").

Thanks,
Ludo’.




Information forwarded to guix-patches <at> gnu.org:
bug#37813; Package guix-patches. (Mon, 21 Oct 2019 21:38:02 GMT) Full text and rfc822 format available.

Message #20 received at 37813 <at> debbugs.gnu.org (full text, mbox):

From: Carl Dong <contact <at> carldong.me>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: "37813\\@debbugs.gnu.org" <37813 <at> debbugs.gnu.org>,
 Jan Nieuwenhuizen <janneke <at> gnu.org>
Subject: Re: [bug#37813] [PATCH] gnu: mingw-w64: Add -winpthreads variants.
Date: Mon, 21 Oct 2019 21:37:50 +0000
Ludovic,

Thanks for your response! I'll push the existing patch up to master then :-)

Cheers,
Carl Dong
contact <at> carldong.me
"I fight for the users"




Reply sent to Ludovic Courtès <ludo <at> gnu.org>:
You have taken responsibility. (Wed, 23 Oct 2019 13:51:02 GMT) Full text and rfc822 format available.

Notification sent to Carl Dong <contact <at> carldong.me>:
bug acknowledged by developer. (Wed, 23 Oct 2019 13:51:02 GMT) Full text and rfc822 format available.

Message #25 received at 37813-done <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: Carl Dong <contact <at> carldong.me>
Cc: "37813 <at> debbugs.gnu.org" <37813-done <at> debbugs.gnu.org>,
 Jan Nieuwenhuizen <janneke <at> gnu.org>
Subject: Re: [bug#37813] [PATCH] gnu: mingw-w64: Add -winpthreads variants.
Date: Wed, 23 Oct 2019 15:49:51 +0200
Hi Carl,

Carl Dong <contact <at> carldong.me> skribis:

> Thanks for your response! I'll push the existing patch up to master then :-)

Great, closing this issue!

Ludo’.




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Thu, 21 Nov 2019 12:24:04 GMT) Full text and rfc822 format available.

This bug report was last modified 4 years and 158 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.