[PATCH] gnu: Add mingw-w64-tools.

  • Done
  • quality assurance status badge
Details
2 participants
  • Léo Le Bouter
  • Maxim Cournoyer
Owner
unassigned
Submitted by
Léo Le Bouter
Severity
normal
L
L
Léo Le Bouter wrote on 25 Jan 2021 11:21
(address . guix-patches@gnu.org)(name . Léo Le Bouter)(address . lle-bout@zaclys.net)
20210125102135.13874-1-lle-bout@zaclys.net
* gnu/packages/mingw.scm (mingw-w64-tools): New variable.
---
gnu/packages/mingw.scm | 75 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 75 insertions(+)

Toggle diff (85 lines)
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+))))
--
2.30.0
M
M
Maxim Cournoyer wrote on 3 Feb 2021 06:10
(name . Léo Le Bouter)(address . lle-bout@zaclys.net)(address . 46095@debbugs.gnu.org)
878s85pwhc.fsf@gmail.com
Hello,

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

Toggle quote (19 lines)
> * 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.

Toggle quote (18 lines)
> + (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.

Toggle quote (51 lines)
> +
> + (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.

Toggle quote (4 lines)
> + (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
M
M
Maxim Cournoyer wrote on 3 Feb 2021 16:29
(name . Léo Le Bouter)(address . lle-bout@zaclys.net)(address . 46095-done@debbugs.gnu.org)
87zh0lnp9p.fsf_-_@gmail.com
Hello,

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

Toggle quote (110 lines)
> 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
Closed
?