~ruther/guix-local

85ebfcf4ffe5dda6f1eceb00b6afdac3239c0a31 — Josselin Poiret 2 years ago ff208b4
gnu: glibc/hurd-headers: Properly cross-build.

* gnu/packages/base.scm (glibc/hurd-headers): Rely on cross-mig, and remove
hardcoded configure flag `--host=i586-pc-gnu`.
* gnu/packages/cross-base.scm (cross-kernel-headers*): Add `--host` and
`--build` configure flags.
2 files changed, 12 insertions(+), 7 deletions(-)

M gnu/packages/base.scm
M gnu/packages/cross-base.scm
M gnu/packages/base.scm => gnu/packages/base.scm +6 -6
@@ 22,6 22,7 @@
;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2022 zamfofex <zamfofex@twdb.moe>
;;; Copyright © 2022 John Kehayias <john.kehayias@protonmail.com>
;;; Copyright © 2023 Josselin Poiret <dev@jpoiret.xyz>
;;;
;;; This file is part of GNU Guix.
;;;


@@ 1427,17 1428,15 @@ command.")
    (native-inputs
     (modify-inputs (package-native-inputs glibc)
       (prepend (if (%current-target-system)
                    ;; XXX: When targeting i586-pc-gnu, we need a 32-bit MiG,
                    ;; hence this hack.
                    (package (inherit mig)
                             (arguments `(#:system "i686-linux")))
                    (let* ((cross-base (resolve-interface '(gnu packages cross-base)))
                           (cross-mig (module-ref cross-base 'cross-mig)))
                      (cross-mig (%current-target-system)))
                    mig))))
    (arguments
     (substitute-keyword-arguments (package-arguments glibc)
       ;; We just pass the flags really needed to build the headers.
       ((#:configure-flags flags)
        `(list "--enable-add-ons"
               "--host=i586-pc-gnu"
               ,@%glibc/hurd-configure-flags))
       ((#:phases _)
        '(modify-phases %standard-phases


@@ 1452,7 1451,8 @@ command.")
                 (close-port
                  (open-output-file
                   (string-append out "/include/gnu/stubs.h"))))))
           (delete 'build)))))))                  ; nothing to build
           (delete 'build)))))                  ; nothing to build
    (supported-systems %hurd-systems)))

(define-public tzdata
  (package

M gnu/packages/cross-base.scm => gnu/packages/cross-base.scm +6 -1
@@ 8,6 8,7 @@
;;; Copyright © 2019 Carl Dong <contact@carldong.me>
;;; Copyright © 2020 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2023 Josselin Poiret <dev@jpoiret.xyz>
;;;
;;; This file is part of GNU Guix.
;;;


@@ 492,7 493,11 @@ the base compiler.  Use XBINUTILS as the associated cross-Binutils."
                                              hurd "/include")))
                   (for-each (cut setenv <> cpath)
                             ',%gcc-cross-include-paths)
                   #t)))))))
                   #t)))))
         ((#:configure-flags flags)
          `(cons* ,(string-append "--build=" (%current-system))
                  ,(string-append "--host=" target)
                  ,flags))))

      (propagated-inputs `(("gnumach-headers" ,xgnumach-headers)
                           ("hurd-headers" ,xhurd-headers)))