gnu: commencement: Ensure 'gnu-make-final' refers to the native 'pkg-config'.

Fixes <https://bugs.gnu.org/38093>.

When running:

  guix build --target=arm-linux-gnueabihf -e '(@ (gnu packages base) coreutils)'

the '%current-target-system' parameter is set by the time the top-level
of (gnu packages commencement) is evaluated.  Consequently, we need to
ensure that the 'pkg-config' macro evaluates in a context where
'%current-target-system' is unset.

* gnu/packages/commencement.scm (gnu-make-final): Refer to '%pkg-config'
instead of 'pkg-config'.
* tests/guix-build.sh: Add test.
This commit is contained in:
Ludovic Courtès 2019-11-07 10:22:24 +01:00
parent 6654677675
commit 537b2daba9
No known key found for this signature in database
GPG Key ID: 090B11993D9AEBB5
2 changed files with 5 additions and 1 deletions

View File

@ -2402,7 +2402,7 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%"
;; PKG-CONFIG.
;; TODO: Fix that on the next rebuild cycle.
(let ((pkg-config (package
(inherit pkg-config)
(inherit %pkg-config) ;the native pkg-config
(inputs `(("guile" ,guile-final)
,@(%boot5-inputs)))
(arguments

View File

@ -226,6 +226,10 @@ rmdir "$result"
# Cross building.
guix build coreutils --target=mips64el-linux-gnu --dry-run --no-substitutes
# Likewise, but with '-e' (see <https://bugs.gnu.org/38093>).
guix build --target=arm-linux-gnueabihf --dry-run \
-e '(@ (gnu packages base) coreutils)'
# Replacements.
drv1=`guix build guix --with-input=guile@2.0=guile@2.2 -d`
drv2=`guix build guix -d`