summaryrefslogtreecommitdiff
path: root/gnu/packages/cross-base.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/cross-base.scm')
-rw-r--r--gnu/packages/cross-base.scm53
1 files changed, 27 insertions, 26 deletions
diff --git a/gnu/packages/cross-base.scm b/gnu/packages/cross-base.scm
index add9a2f901..2959616af6 100644
--- a/gnu/packages/cross-base.scm
+++ b/gnu/packages/cross-base.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2020 Ludovic Courtès <[email protected]>
+;;; Copyright © 2013-2018, 2020, 2023 Ludovic Courtès <[email protected]>
;;; Copyright © 2014, 2015, 2018 Mark H Weaver <[email protected]>
;;; Copyright © 2016, 2019 Jan (janneke) Nieuwenhuizen <[email protected]>
;;; Copyright © 2016 Manolis Fragkiskos Ragkousis <[email protected]>
@@ -38,7 +38,7 @@
#:use-module (guix i18n)
#:use-module (guix utils)
#:use-module (guix build-system gnu)
- #:use-module (guix build-system trivial)
+ #:use-module (guix gexp)
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-26)
#:use-module (ice-9 match)
@@ -399,39 +399,40 @@ target that libc."
("cross-binutils" ,xbinutils)
,@(package-native-inputs linux-headers)))))
+ (define xgnumach-headers-name
+ (string-append (package-name gnumach-headers) "-cross-" target))
+
(define xgnumach-headers
(package
(inherit gnumach-headers)
- (name (string-append (package-name gnumach-headers)
- "-cross-" target))
-
- (native-inputs `(("cross-gcc" ,xgcc)
- ("cross-binutils" ,xbinutils)
- ,@(package-native-inputs gnumach-headers)))))
+ (name xgnumach-headers-name)
+ (native-inputs
+ (modify-inputs (package-native-inputs gnumach-headers)
+ (prepend xgcc xbinutils)))))
(define xmig
(package
(inherit mig)
(name (string-append "mig-cross"))
(arguments
- `(#:modules ((guix build gnu-build-system)
- (guix build utils)
- (srfi srfi-26))
- #:phases (modify-phases %standard-phases
- (add-before 'configure 'set-cross-headers-path
- (lambda* (#:key inputs #:allow-other-keys)
- (let* ((mach (assoc-ref inputs "cross-gnumach-headers"))
- (cpath (string-append mach "/include")))
- (for-each (cut setenv <> cpath)
- ',%gcc-cross-include-paths)
- #t))))
- #:configure-flags (list ,(string-append "--target=" target))
- #:tests? #f))
-
- (propagated-inputs `(("cross-gnumach-headers" ,xgnumach-headers)))
- (native-inputs `(("cross-gcc" ,xgcc)
- ("cross-binutils" ,xbinutils)
- ,@(package-native-inputs mig)))))
+ (substitute-keyword-arguments (package-arguments mig)
+ ((#:configure-flags flags #~'())
+ #~(list #$(string-append "--target=" target)))
+ ((#:tests? _ #f)
+ #f)
+ ((#:phases phases #~%standard-phases)
+ #~(modify-phases #$phases
+ (add-before 'configure 'set-cross-headers-path
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let* ((mach #+(this-package-input xgnumach-headers-name))
+ (cpath (string-append mach "/include")))
+ (for-each (lambda (variable)
+ (setenv variable cpath))
+ '#$%gcc-cross-include-paths))))))))
+ (propagated-inputs (list xgnumach-headers))
+ (native-inputs
+ (modify-inputs (package-native-inputs mig)
+ (prepend xgcc xbinutils)))))
(define xhurd-headers
(package