diff mbox series

[bug#71630,2/5] gnu: make-mingw-w64: Use G-Expressions.

Message ID b96c2c9f775536446d22c17d2388679260999dff.1718708756.git.jean@foundation.xyz
State New
Headers show
Series gnu: make-mingw-w64: Update to 12.0.0. | expand

Commit Message

Jean-Pierre De Jesus DIAZ June 18, 2024, 11:26 a.m. UTC
* gnu/packages/mingw.scm (make-mingw-w64): Use G-Expressions and
move some arguments above phases.

Change-Id: Ie095dceac635f19f146895c8e3f36d9889108a9a
---
 gnu/packages/mingw.scm | 67 +++++++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 31 deletions(-)
diff mbox series

Patch

diff --git a/gnu/packages/mingw.scm b/gnu/packages/mingw.scm
index 1ef2c5e1cf..825a784e0d 100644
--- a/gnu/packages/mingw.scm
+++ b/gnu/packages/mingw.scm
@@ -25,6 +25,7 @@  (define-module (gnu packages mingw)
   #:use-module (gnu packages)
   #:use-module (gnu packages cross-base)
   #:use-module (guix build-system gnu)
+  #:use-module (guix gexp)
   #:use-module (guix memoization)
   #:use-module (guix packages)
   #:use-module (guix download)
@@ -76,37 +77,41 @@  (define* (make-mingw-w64/implementation machine
                  ,(string-append triplet "/lib")
                  ,(string-append triplet "/lib64"))))))
       (arguments
-       `(#:configure-flags '(,(string-append "--host=" triplet)
-                             ,@(if with-winpthreads?
-                                   '("--with-libraries=winpthreads")
-                                   '()))
-         #:phases
-         (modify-phases %standard-phases
-           (add-before 'configure 'setenv
-             (lambda* (#:key inputs #:allow-other-keys)
-               (let ((xgcc-core (assoc-ref inputs "xgcc-core"))
-                     (mingw-headers (string-append
-                                     (getcwd) "/mingw-w64-headers")))
-                 (setenv "CPP"
-                         (string-append
-                          xgcc-core ,(string-append "/bin/" triplet "-cpp")))
-                 (setenv "CROSS_C_INCLUDE_PATH"
-                         (string-append
-                          mingw-headers
-                          ":" mingw-headers "/include"
-                          ":" mingw-headers "/crt"
-                          ":" mingw-headers "/defaults/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")
-         #:parallel-build? #f ; parallel builds often fail with empty .a files
-         #:tests? #f ; compiles and includes glibc headers
-         #:strip-binaries? #f))
+       (list #:parallel-build? #f ; parallel builds often fail with empty .a files
+             #:tests? #f ; compiles and includes glibc headers
+             #:strip-binaries? #f
+             #:configure-flags
+             #~(list #$(string-append "--host=" triplet)
+                     #$@(if with-winpthreads?
+                           #~("--with-libraries=winpthreads")
+                           #~()))
+             #:make-flags #~'("DEFS=-DHAVE_CONFIG_H -D__MINGW_HAS_DXSDK=1")
+             #:phases
+             #~(modify-phases %standard-phases
+                 (add-before 'configure 'setenv
+                   (lambda _
+                     (let ((xgcc-core #+(this-package-native-input
+                                          "xgcc-core"))
+                           (mingw-headers (string-append
+                                           (getcwd) "/mingw-w64-headers")))
+                       (setenv "CPP"
+                               (string-append
+                                xgcc-core "/bin/" #$triplet "-cpp"))
+                       (setenv "CROSS_C_INCLUDE_PATH"
+                               (string-append
+                                mingw-headers
+                                ":" mingw-headers "/include"
+                                ":" mingw-headers "/crt"
+                                ":" mingw-headers "/defaults/include"
+                                ":" mingw-headers "/direct-x/include"))
+                       #$@(if with-winpthreads?
+                              #~((let ((xlibc #+(this-package-native-input
+                                                  "xlibc")))
+                                   (setenv "CROSS_LIBRARY_PATH"
+                                           (string-append
+                                            xlibc "/lib" ":"
+                                            xlibc "/" #$triplet "/lib"))))
+                              #~())))))))
       (home-page "https://mingw-w64.org")
       (synopsis "Minimalist GNU for Windows")
       (description