diff options
author | Carl Dong <contact@carldong.me> | 2019-10-25 00:12:38 -0400 |
---|---|---|
committer | Carl Dong <contact@carldong.me> | 2019-10-30 11:41:31 -0400 |
commit | 2b1d708294f0aced5c991baed146e0ae4e7d63dd (patch) | |
tree | 4c56311890f4d94071d496fe723fc92d4154d6ca /gnu/packages/base.scm | |
parent | 76dbadac59ae4083f9b6360a1381b5dec43affa6 (diff) | |
download | guix-2b1d708294f0aced5c991baed146e0ae4e7d63dd.tar guix-2b1d708294f0aced5c991baed146e0ae4e7d63dd.tar.gz |
gnu: Fix make-gcc-libc.
Until now the following wouldn't build:
--8<---------------cut here---------------start------------->8---
(use-modules (gnu packages commencement)
(gnu packages gcc)
(gnu packages base))
(make-gcc-libc gcc-9 glibc-2.27)
--8<---------------cut here---------------end--------------->8---
* gnu/packages/base.scm (make-gcc-libc)[phases]: Add environment
variables to place the target libc on the system header search path.
[make-flags]: Remove unncessary FLAGS_FOR_TARGET.
[native-inputs]: Construct in a way that doesn't require emptying
inputs.
Diffstat (limited to 'gnu/packages/base.scm')
-rw-r--r-- | gnu/packages/base.scm | 27 |
1 files changed, 16 insertions, 11 deletions
diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index 4e80a2fadb..3a3360dc7a 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -981,18 +981,23 @@ with the Linux kernel.") (substitute-keyword-arguments (ensure-keyword-arguments (package-arguments base-gcc) '(#:implicit-inputs? #f)) - ((#:make-flags flags) - `(let ((libc (assoc-ref %build-inputs "libc"))) - ;; FLAGS_FOR_TARGET are needed for the target libraries to receive - ;; the -Bxxx for the startfiles. - (cons (string-append "FLAGS_FOR_TARGET=-B" libc "/lib") - ,flags))))) + ((#:phases phases) + `(modify-phases ,phases + (add-before 'configure 'treat-glibc-as-system-header + (lambda _ + (let ((libc (assoc-ref %build-inputs "libc"))) + ;; GCCs build processes requires that the libc + ;; we're building against is on the system header + ;; search path. + (for-each (lambda (var) + (setenv var (string-append libc "/include"))) + '("C_INCLUDE_PATH" "CPLUS_INCLUDE_PATH")) + #t))))))) (native-inputs - `(("libc" ,libc) - ("libc:static" ,libc "static") - ,@(append (package-inputs base-gcc) - (fold alist-delete (%final-inputs) '("libc" "libc:static"))))) - (inputs '()))) + `(,@(package-native-inputs base-gcc) + ,@(append (fold alist-delete (%final-inputs) '("libc" "libc:static"))) + ("libc" ,libc) + ("libc:static" ,libc "static"))))) (define-public (make-glibc-locales glibc) (package |