diff mbox series

[bug#46095] gnu: Add mingw-w64-tools.

Message ID 20210125102135.13874-1-lle-bout@zaclys.net
State Accepted
Headers show
Series [bug#46095] gnu: Add mingw-w64-tools. | expand

Checks

Context Check Description
cbaines/submitting builds success
cbaines/comparison success View comparision
cbaines/git branch success View Git branch
cbaines/applying patch success View Laminar job
cbaines/issue success View issue

Commit Message

Deslauriers, Douglas via Guix-patches" via Jan. 25, 2021, 10:21 a.m. UTC
* gnu/packages/mingw.scm (mingw-w64-tools): New variable.
---
 gnu/packages/mingw.scm | 75 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 75 insertions(+)

Comments

Maxim Cournoyer Feb. 3, 2021, 5:10 a.m. UTC | #1
Hello,

Léo Le Bouter <lle-bout@zaclys.net> writes:

> * gnu/packages/mingw.scm (mingw-w64-tools): New variable.
> ---
>  gnu/packages/mingw.scm | 75 ++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 75 insertions(+)
>
> diff --git a/gnu/packages/mingw.scm b/gnu/packages/mingw.scm
> index b37f6c69bd..884cb7e39f 100644
> --- a/gnu/packages/mingw.scm
> +++ b/gnu/packages/mingw.scm
> @@ -133,3 +133,78 @@ several new APIs such as DirectX and DDK, and 64-bit support.")
>                    #:with-winpthreads? #t))
>  
>  (define-public mingw-w64 mingw-w64-i686)
> +
> +(define-public mingw-w64-tools
> +  (package
> +    (name "mingw-w64-tools")
> +    (version "7.0.0")

That doesn't seem to be the latest version.  Is there a good reason why?
If so, please add a comment, else use the latest version.

> +    (source
> +     (origin
> +       (method url-fetch)
> +       (uri (string-append
> +             "mirror://sourceforge/mingw-w64/mingw-w64/"
> +             "mingw-w64-release/mingw-w64-v" version ".tar.bz2"))
> +       (sha256
> +        (base32 "0a5njsa2zw2ssdz10jkb10mhrf3cb8qp9avs89zqmw4n6pzxy85a"))))
> +    (build-system gnu-build-system)
> +    (arguments
> +     `(#:modules (((guix build gnu-build-system) #:prefix gnu:)
> +                  ,@%gnu-build-system-modules)
> +       #:phases
> +       (modify-phases %standard-phases
> +         (add-after 'unpack 'cd-gendef
> +           (lambda _ (chdir "mingw-w64-tools/gendef")
> +                   #t))

It's a recent change, but ending phases by #t is no longer required.

> +
> +         (add-after 'install 'cd-genidl
> +           (lambda _ (chdir "../genidl")
> +                   #t))
> +         (add-after 'cd-genidl 'configure-genidl
> +           (assoc-ref gnu:%standard-phases 'configure))
> +         (add-after 'configure-genidl 'build-genidl
> +           (assoc-ref gnu:%standard-phases 'build))
> +         (add-after 'build-genidl 'check-genidl
> +           (assoc-ref gnu:%standard-phases 'check))
> +         (add-after 'check-genidl 'install-genidl
> +           (assoc-ref gnu:%standard-phases 'install))
> +
> +         (add-after 'install-genidl 'cd-genlib
> +           (lambda _ (chdir "../genlib")
> +                   #t))
> +         (add-after 'cd-genlib 'configure-genlib
> +           (assoc-ref gnu:%standard-phases 'configure))
> +         (add-after 'configure-genlib 'build-genlib
> +           (assoc-ref gnu:%standard-phases 'build))
> +         (add-after 'build-genlib 'check-genlib
> +           (assoc-ref gnu:%standard-phases 'check))
> +         (add-after 'check-genlib 'install-genlib
> +           (assoc-ref gnu:%standard-phases 'install))
> +
> +         (add-after 'install-genlib 'cd-genpeimg
> +           (lambda _ (chdir "../genpeimg")
> +                   #t))
> +         (add-after 'cd-genpeimg 'configure-genpeimg
> +           (assoc-ref gnu:%standard-phases 'configure))
> +         (add-after 'configure-genpeimg 'build-genpeimg
> +           (assoc-ref gnu:%standard-phases 'build))
> +         (add-after 'build-genpeimg 'check-genpeimg
> +           (assoc-ref gnu:%standard-phases 'check))
> +         (add-after 'check-genpeimg 'install-genpeimg
> +           (assoc-ref gnu:%standard-phases 'install)))))
> +    (home-page "https://mingw-w64.org")
> +    (synopsis "Tools of Minimalist GNU for Windows")
> +    (description
> +     "This package provides tools of Minimalist GNU for Windows.
> +
> +Minimalist GNU for Windows (@dfn{MinGW}) is a complete software
> +development environment for creating native Microsoft Windows applications.
> +
> +It includes a set of Windows-specific header files and static import libraries
> +which enable the use of the Windows API.  It does not rely on any third-party C
> +runtime dynamic-link libraries (@dfn{DLL}s).
> +
> +Mingw-w64 is an advancement of the original mingw.org project and provides
> +several new APIs such as DirectX and DDK, and 64-bit support.")

I'd make it a single paragraph.

> +    (license (list
> +              license:gpl3+
> +              license:lgpl2.1+))))

There should be a comment expliciting why there are two possible
licenses (different files? which ones? dual license? etc.)

Thank you!

Maxim
Maxim Cournoyer Feb. 3, 2021, 3:29 p.m. UTC | #2
Hello,

Maxim Cournoyer <maxim.cournoyer@gmail.com> writes:

> Hello,
>
> Léo Le Bouter <lle-bout@zaclys.net> writes:
>
>> * gnu/packages/mingw.scm (mingw-w64-tools): New variable.
>> ---
>>  gnu/packages/mingw.scm | 75 ++++++++++++++++++++++++++++++++++++++++++
>>  1 file changed, 75 insertions(+)
>>
>> diff --git a/gnu/packages/mingw.scm b/gnu/packages/mingw.scm
>> index b37f6c69bd..884cb7e39f 100644
>> --- a/gnu/packages/mingw.scm
>> +++ b/gnu/packages/mingw.scm
>> @@ -133,3 +133,78 @@ several new APIs such as DirectX and DDK, and 64-bit support.")
>>                    #:with-winpthreads? #t))
>>  
>>  (define-public mingw-w64 mingw-w64-i686)
>> +
>> +(define-public mingw-w64-tools
>> +  (package
>> +    (name "mingw-w64-tools")
>> +    (version "7.0.0")
>
> That doesn't seem to be the latest version.  Is there a good reason why?
> If so, please add a comment, else use the latest version.
>
>> +    (source
>> +     (origin
>> +       (method url-fetch)
>> +       (uri (string-append
>> +             "mirror://sourceforge/mingw-w64/mingw-w64/"
>> +             "mingw-w64-release/mingw-w64-v" version ".tar.bz2"))
>> +       (sha256
>> +        (base32 "0a5njsa2zw2ssdz10jkb10mhrf3cb8qp9avs89zqmw4n6pzxy85a"))))
>> +    (build-system gnu-build-system)
>> +    (arguments
>> +     `(#:modules (((guix build gnu-build-system) #:prefix gnu:)
>> +                  ,@%gnu-build-system-modules)
>> +       #:phases
>> +       (modify-phases %standard-phases
>> +         (add-after 'unpack 'cd-gendef
>> +           (lambda _ (chdir "mingw-w64-tools/gendef")
>> +                   #t))
>
> It's a recent change, but ending phases by #t is no longer required.
>
>> +
>> +         (add-after 'install 'cd-genidl
>> +           (lambda _ (chdir "../genidl")
>> +                   #t))
>> +         (add-after 'cd-genidl 'configure-genidl
>> +           (assoc-ref gnu:%standard-phases 'configure))
>> +         (add-after 'configure-genidl 'build-genidl
>> +           (assoc-ref gnu:%standard-phases 'build))
>> +         (add-after 'build-genidl 'check-genidl
>> +           (assoc-ref gnu:%standard-phases 'check))
>> +         (add-after 'check-genidl 'install-genidl
>> +           (assoc-ref gnu:%standard-phases 'install))
>> +
>> +         (add-after 'install-genidl 'cd-genlib
>> +           (lambda _ (chdir "../genlib")
>> +                   #t))
>> +         (add-after 'cd-genlib 'configure-genlib
>> +           (assoc-ref gnu:%standard-phases 'configure))
>> +         (add-after 'configure-genlib 'build-genlib
>> +           (assoc-ref gnu:%standard-phases 'build))
>> +         (add-after 'build-genlib 'check-genlib
>> +           (assoc-ref gnu:%standard-phases 'check))
>> +         (add-after 'check-genlib 'install-genlib
>> +           (assoc-ref gnu:%standard-phases 'install))
>> +
>> +         (add-after 'install-genlib 'cd-genpeimg
>> +           (lambda _ (chdir "../genpeimg")
>> +                   #t))
>> +         (add-after 'cd-genpeimg 'configure-genpeimg
>> +           (assoc-ref gnu:%standard-phases 'configure))
>> +         (add-after 'configure-genpeimg 'build-genpeimg
>> +           (assoc-ref gnu:%standard-phases 'build))
>> +         (add-after 'build-genpeimg 'check-genpeimg
>> +           (assoc-ref gnu:%standard-phases 'check))
>> +         (add-after 'check-genpeimg 'install-genpeimg
>> +           (assoc-ref gnu:%standard-phases 'install)))))
>> +    (home-page "https://mingw-w64.org")
>> +    (synopsis "Tools of Minimalist GNU for Windows")
>> +    (description
>> +     "This package provides tools of Minimalist GNU for Windows.
>> +
>> +Minimalist GNU for Windows (@dfn{MinGW}) is a complete software
>> +development environment for creating native Microsoft Windows applications.
>> +
>> +It includes a set of Windows-specific header files and static import libraries
>> +which enable the use of the Windows API.  It does not rely on any third-party C
>> +runtime dynamic-link libraries (@dfn{DLL}s).
>> +
>> +Mingw-w64 is an advancement of the original mingw.org project and provides
>> +several new APIs such as DirectX and DDK, and 64-bit support.")
>
> I'd make it a single paragraph.
>
>> +    (license (list
>> +              license:gpl3+
>> +              license:lgpl2.1+))))
>
> There should be a comment expliciting why there are two possible
> licenses (different files? which ones? dual license? etc.)
>
> Thank you!
>
> Maxim

I've addressed the above comments, refactored the phases and added the
widl tool; you can see the result in commit
44c98c997933c4dc531775f1bb0848b39c7abf37.  The version of mingw-w64 is
now 8.0.0.

Closing,

Maxim
diff mbox series

Patch

diff --git a/gnu/packages/mingw.scm b/gnu/packages/mingw.scm
index b37f6c69bd..884cb7e39f 100644
--- a/gnu/packages/mingw.scm
+++ b/gnu/packages/mingw.scm
@@ -133,3 +133,78 @@  several new APIs such as DirectX and DDK, and 64-bit support.")
                   #:with-winpthreads? #t))
 
 (define-public mingw-w64 mingw-w64-i686)
+
+(define-public mingw-w64-tools
+  (package
+    (name "mingw-w64-tools")
+    (version "7.0.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "mirror://sourceforge/mingw-w64/mingw-w64/"
+             "mingw-w64-release/mingw-w64-v" version ".tar.bz2"))
+       (sha256
+        (base32 "0a5njsa2zw2ssdz10jkb10mhrf3cb8qp9avs89zqmw4n6pzxy85a"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:modules (((guix build gnu-build-system) #:prefix gnu:)
+                  ,@%gnu-build-system-modules)
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'cd-gendef
+           (lambda _ (chdir "mingw-w64-tools/gendef")
+                   #t))
+
+         (add-after 'install 'cd-genidl
+           (lambda _ (chdir "../genidl")
+                   #t))
+         (add-after 'cd-genidl 'configure-genidl
+           (assoc-ref gnu:%standard-phases 'configure))
+         (add-after 'configure-genidl 'build-genidl
+           (assoc-ref gnu:%standard-phases 'build))
+         (add-after 'build-genidl 'check-genidl
+           (assoc-ref gnu:%standard-phases 'check))
+         (add-after 'check-genidl 'install-genidl
+           (assoc-ref gnu:%standard-phases 'install))
+
+         (add-after 'install-genidl 'cd-genlib
+           (lambda _ (chdir "../genlib")
+                   #t))
+         (add-after 'cd-genlib 'configure-genlib
+           (assoc-ref gnu:%standard-phases 'configure))
+         (add-after 'configure-genlib 'build-genlib
+           (assoc-ref gnu:%standard-phases 'build))
+         (add-after 'build-genlib 'check-genlib
+           (assoc-ref gnu:%standard-phases 'check))
+         (add-after 'check-genlib 'install-genlib
+           (assoc-ref gnu:%standard-phases 'install))
+
+         (add-after 'install-genlib 'cd-genpeimg
+           (lambda _ (chdir "../genpeimg")
+                   #t))
+         (add-after 'cd-genpeimg 'configure-genpeimg
+           (assoc-ref gnu:%standard-phases 'configure))
+         (add-after 'configure-genpeimg 'build-genpeimg
+           (assoc-ref gnu:%standard-phases 'build))
+         (add-after 'build-genpeimg 'check-genpeimg
+           (assoc-ref gnu:%standard-phases 'check))
+         (add-after 'check-genpeimg 'install-genpeimg
+           (assoc-ref gnu:%standard-phases 'install)))))
+    (home-page "https://mingw-w64.org")
+    (synopsis "Tools of Minimalist GNU for Windows")
+    (description
+     "This package provides tools of Minimalist GNU for Windows.
+
+Minimalist GNU for Windows (@dfn{MinGW}) is a complete software
+development environment for creating native Microsoft Windows applications.
+
+It includes a set of Windows-specific header files and static import libraries
+which enable the use of the Windows API.  It does not rely on any third-party C
+runtime dynamic-link libraries (@dfn{DLL}s).
+
+Mingw-w64 is an advancement of the original mingw.org project and provides
+several new APIs such as DirectX and DDK, and 64-bit support.")
+    (license (list
+              license:gpl3+
+              license:lgpl2.1+))))