diff options
author | Ludovic Courtès <ludo@gnu.org> | 2023-03-04 17:40:44 +0100 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2023-03-04 18:46:37 +0100 |
commit | a6194d1f35ec8ac9b58f4d05affa5aabf1ca7014 (patch) | |
tree | 0f3fcbdd428dc12738933956732748188cccbbcc /gnu/packages | |
parent | 3442edac8950ccfc243c1b400b9cd15f8840e55d (diff) |
gnu: cross-base: Inherit arguments from 'mig'.
That way, 'xmig' inherits the 'avoid-perl-dependency' build phase.
* gnu/packages/hurd.scm (mig)[arguments]: In 'avoid-perl-dependency',
use 'find-files' to locate the "mig" executable(s).
* gnu/packages/cross-base.scm (cross-kernel-headers*)[xmig]: Use
'substitute-keyword-arguments'.
Diffstat (limited to 'gnu/packages')
-rw-r--r-- | gnu/packages/cross-base.scm | 27 | ||||
-rw-r--r-- | gnu/packages/hurd.scm | 9 |
2 files changed, 19 insertions, 17 deletions
diff --git a/gnu/packages/cross-base.scm b/gnu/packages/cross-base.scm index fbedf6e833..2959616af6 100644 --- a/gnu/packages/cross-base.scm +++ b/gnu/packages/cross-base.scm @@ -415,19 +415,20 @@ target that libc." (inherit mig) (name (string-append "mig-cross")) (arguments - (list #: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 #+(this-package-input xgnumach-headers-name)) - (cpath (string-append mach "/include"))) - (for-each (cut setenv <> cpath) - '#$%gcc-cross-include-paths))))) - #:configure-flags #~(list #$(string-append "--target=" target)) - #:tests? #f)) + (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) diff --git a/gnu/packages/hurd.scm b/gnu/packages/hurd.scm index f4de5dc6c2..7f02e6141d 100644 --- a/gnu/packages/hurd.scm +++ b/gnu/packages/hurd.scm @@ -130,10 +130,11 @@ GNU/Hurd." #~(modify-phases %standard-phases (add-after 'install 'avoid-perl-dependency (lambda* (#:key build inputs outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - ;; By default 'mig' uses Perl to compute - ;; 'libexecdir_rel'. Avoid it. - (substitute* (string-append out "/bin/mig") + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin"))) + ;; By default 'mig' (or 'TARGET-mig') uses Perl to + ;; compute 'libexecdir_rel'. Avoid it. + (substitute* (find-files bin "mig$") (("^libexecdir_rel=.*") "libexecdir_rel=../libexec\n")))))))) (home-page "https://www.gnu.org/software/hurd/microkernel/mach/mig/gnu_mig.html") |