From: "Ludovic Courtès" <ludo@gnu.org>
To: 62307@debbugs.gnu.org
Cc: "Josselin Poiret" <dev@jpoiret.xyz>, "Ludovic Courtès" <ludo@gnu.org>
Subject: [bug#62307] [PATCH core-updates v2 04/20] gnu: cross-base: Factor out cross-mig.
Date: Tue, 28 Mar 2023 16:28:36 +0200 [thread overview]
Message-ID: <20230328142852.26635-5-ludo@gnu.org> (raw)
In-Reply-To: <20230328142852.26635-1-ludo@gnu.org>
From: Josselin Poiret <dev@jpoiret.xyz>
* gnu/packages/cross-base.scm (cross-mig): New exported procedure.
(cross-gnumach-headers): New procedure.
(cross-kernel-headers*): Factor them out.
(cross-libc*): Use them there.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
---
gnu/packages/cross-base.scm | 89 ++++++++++++++++++++++---------------
1 file changed, 54 insertions(+), 35 deletions(-)
diff --git a/gnu/packages/cross-base.scm b/gnu/packages/cross-base.scm
index adead3206a..2a7c4d8011 100644
--- a/gnu/packages/cross-base.scm
+++ b/gnu/packages/cross-base.scm
@@ -46,6 +46,7 @@ (define-module (gnu packages cross-base)
#:export (cross-binutils
cross-libc
cross-gcc
+ cross-mig
cross-kernel-headers))
(define-syntax %xgcc
@@ -365,6 +366,52 @@ (define* (cross-kernel-headers/deprecated target
#:xgcc xgcc
#:xbinutils xbinutils))
+(define* (cross-gnumach-headers target
+ #:key
+ (xgcc (cross-gcc target))
+ (xbinutils (cross-binutils target)))
+ (package
+ (inherit gnumach-headers)
+ (name (string-append (package-name gnumach-headers)
+ "-cross-" target))
+ (native-inputs
+ (modify-inputs (package-native-inputs gnumach-headers)
+ (prepend xgcc xbinutils)))))
+
+(define* (cross-mig target
+ #:key
+ (xgcc (cross-gcc target))
+ (xbinutils (cross-binutils target)))
+ "Return a cross-mig for TARGET, where TARGET is a GNU triplet. Use XGCC as
+the base compiler. Use XBINUTILS as the associated cross-Binutils."
+ (define xgnumach-headers
+ (cross-gnumach-headers target
+ #:xgcc xgcc
+ #:xbinutils xbinutils))
+ (package
+ (inherit mig)
+ (name (string-append "mig-cross"))
+ (arguments
+ (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 #+xgnumach-headers)
+ (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* (cross-kernel-headers* target
#:key
(linux-headers linux-libre-headers)
@@ -399,40 +446,11 @@ (define xlinux-headers
("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 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
- (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)))))
+ (cross-mig target #:xgcc xgcc #:xbinutils xbinutils))
+
+ (define xgnumach-headers
+ (cross-gnumach-headers target #:xgcc xgcc #:xbinutils xbinutils))
(define xhurd-headers
(package
@@ -611,8 +629,9 @@ (define* (cross-libc* target
("cross-binutils" ,xbinutils)
,@(if (target-hurd? target)
`(("cross-mig"
- ,@(assoc-ref (package-native-inputs xheaders)
- "cross-mig")))
+ ,(cross-mig target
+ #:xgcc xgcc
+ #:xbinutils xbinutils)))
'())
,@(package-inputs libc) ;FIXME: static-bash
,@(package-native-inputs libc))))))
--
2.39.2
next prev parent reply other threads:[~2023-03-28 14:31 UTC|newest]
Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-03-20 22:07 [bug#62307] [PATCH core-updates 00/15] Update Hurd and fix build failures Josselin Poiret via Guix-patches via
2023-03-20 22:10 ` [bug#62307] [PATCH core-updates 01/15] gnu: glibc/fix-for-hurd-cross: Add new variant Josselin Poiret via Guix-patches via
2023-03-22 14:54 ` [bug#62307] [PATCH core-updates 00/15] Update Hurd and fix build failures Ludovic Courtès
2023-03-28 14:28 ` [bug#62307] [PATCH core-updates v2 00/20] " Ludovic Courtès
2023-03-28 14:28 ` [bug#62307] [PATCH core-updates v2 01/20] gnu: glibc: Work around broken GNU Mach header detection Ludovic Courtès
2023-03-28 14:28 ` [bug#62307] [PATCH core-updates v2 02/20] gnu: cross-base: Use gexps for 'cross-gcc-arguments' Ludovic Courtès
2023-03-28 14:28 ` [bug#62307] [PATCH core-updates v2 03/20] gnu: gcc@11: Patch libpthread on GNU/Hurd Ludovic Courtès
2023-03-28 14:28 ` Ludovic Courtès [this message]
2023-03-28 14:28 ` [bug#62307] [PATCH core-updates v2 05/20] gnu: cross-base: Add cross arguments to hurd derivatives Ludovic Courtès
2023-03-28 14:28 ` [bug#62307] [PATCH core-updates v2 06/20] gnu: cross-base: Removed useless inputs to xhurd-core-headers Ludovic Courtès
2023-03-28 14:28 ` [bug#62307] [PATCH core-updates v2 07/20] gnu: mig: Update to 1.8+git20220827 Ludovic Courtès
2023-03-28 14:28 ` [bug#62307] [PATCH core-updates v2 08/20] gnu: gnumach: " Ludovic Courtès
2023-03-28 14:28 ` [bug#62307] [PATCH core-updates v2 09/20] gnu: hurd: Update to 3ff7053 Ludovic Courtès
2023-03-28 14:28 ` [bug#62307] [PATCH core-updates v2 10/20] gnu: hurd: Remove useless glibc/hurd-headers input Ludovic Courtès
2023-03-28 14:28 ` [bug#62307] [PATCH core-updates v2 11/20] gnu: gnumach, hurd-headers, hurd: Switch to using cross-mig Ludovic Courtès
2023-03-28 14:28 ` [bug#62307] [PATCH core-updates v2 12/20] gnu: hurd: Update DDE and use libdde_linux26 Ludovic Courtès
2023-03-28 14:28 ` [bug#62307] [PATCH core-updates v2 13/20] gnu: mig/32-bit: Remove Ludovic Courtès
2023-03-28 14:28 ` [bug#62307] [PATCH core-updates v2 14/20] system: hurd: Use shepherd-0.8 in the package list Ludovic Courtès
2023-03-28 14:28 ` [bug#62307] [PATCH core-updates v2 15/20] gnu: linux-pam: Switch to gexps Ludovic Courtès
2023-03-28 14:28 ` [bug#62307] [PATCH core-updates v2 16/20] gnu: linux-pam: Allow compilation on GNU/Hurd Ludovic Courtès
2023-03-28 14:28 ` [bug#62307] [PATCH core-updates v2 17/20] gnu: guile-static: Switch to gexps Ludovic Courtès
2023-03-28 14:28 ` [bug#62307] [PATCH core-updates v2 18/20] gnu: guile: " Ludovic Courtès
2023-03-28 14:28 ` [bug#62307] [PATCH core-updates v2 19/20] gnu: guile-readline: " Ludovic Courtès
2023-03-28 14:28 ` [bug#62307] [PATCH core-updates v2 20/20] gnu: guile: Fix 'posix_spawn' usage for GNU/Hurd Ludovic Courtès
2023-03-28 17:07 ` [bug#62307] [PATCH core-updates v2 00/20] Update Hurd and fix build failures Josselin Poiret via Guix-patches via
2023-03-30 10:48 ` bug#62307: " Ludovic Courtès
2023-03-20 22:10 ` [bug#62307] [PATCH core-updates 02/15] gnu-build-system: Sneak fixed glibc when cross-building for Hurd Josselin Poiret via Guix-patches via
2023-03-20 22:10 ` [bug#62307] [PATCH core-updates 03/15] gcc-11: Patch libstdc++ libpthread issue for Hurd only Josselin Poiret via Guix-patches via
2023-03-22 16:28 ` [bug#62307] [PATCH core-updates 00/15] Update Hurd and fix build failures Ludovic Courtès
2023-03-20 22:10 ` [bug#62307] [PATCH core-updates 04/15] cross-base: Factor out cross-mig Josselin Poiret via Guix-patches via
2023-03-20 22:10 ` [bug#62307] [PATCH core-updates 05/15] cross-base: Add cross arguments to hurd derivatives Josselin Poiret via Guix-patches via
2023-03-20 22:10 ` [bug#62307] [PATCH core-updates 06/15] cross-base: Removed useless inputs to xhurd-core-headers Josselin Poiret via Guix-patches via
2023-03-20 22:10 ` [bug#62307] [PATCH core-updates 07/15] mig: Update to 1.8+git20220827 Josselin Poiret via Guix-patches via
2023-03-20 22:10 ` [bug#62307] [PATCH core-updates 08/15] gnumach: " Josselin Poiret via Guix-patches via
2023-03-20 22:10 ` [bug#62307] [PATCH core-updates 09/15] hurd: Update to 91a51672ff4cfe1f1a0712b4c542ded3081c825b Josselin Poiret via Guix-patches via
2023-03-20 22:10 ` [bug#62307] [PATCH core-updates 10/15] hurd: Remove useless glibc/hurd-headers input Josselin Poiret via Guix-patches via
2023-03-20 22:10 ` [bug#62307] [PATCH core-updates 11/15] gnumach, hurd-headers, hurd: Switch to using cross-mig Josselin Poiret via Guix-patches via
2023-03-20 22:10 ` [bug#62307] [PATCH core-updates 11/15] gnumach, " Josselin Poiret via Guix-patches via
2023-03-20 22:10 ` [bug#62307] [PATCH core-updates 12/15] hurd: Update DDE and use libdde_linux26 Josselin Poiret via Guix-patches via
2023-03-20 22:10 ` [bug#62307] [PATCH core-updates 13/15] mig/32-bit: Remove Josselin Poiret via Guix-patches via
2023-03-20 22:10 ` [bug#62307] [PATCH core-updates 14/15] system: hurd: Use shepherd-0.8 in the package list Josselin Poiret via Guix-patches via
2023-03-20 22:10 ` [bug#62307] [PATCH core-updates 15/15] system: pam: Only add linux-pam reference if on Linux Josselin Poiret via Guix-patches via
2023-03-22 16:30 ` [bug#62307] [PATCH core-updates 00/15] Update Hurd and fix build failures Ludovic Courtès
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://guix.gnu.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20230328142852.26635-5-ludo@gnu.org \
--to=ludo@gnu.org \
--cc=62307@debbugs.gnu.org \
--cc=dev@jpoiret.xyz \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).