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

From: Léo Le Bouter <[email-masked]>
Date: Mon, 25 Jan 2021 11:21:35 +0100

* 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")
+    (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