diff --git a/guix/scripts/build.scm b/guix/scripts/build.scm index da4859eeaa..cd6b847a57 100644 --- a/guix/scripts/build.scm +++ b/guix/scripts/build.scm @@ -678,9 +678,9 @@ (define (compute-derivation obj system) (package-name p)) '()) (s - (list (package-source-derivation store s))))) + (list (package-source-derivation store s system))))) (proc - (map (cut package-source-derivation store <>) + (map (cut package-source-derivation store <> system) (proc p)))))) ((? derivation? drv) (list drv)) diff --git a/tests/guix-build.sh b/tests/guix-build.sh index 4eab0e38b6..36eac2b7e0 100644 --- a/tests/guix-build.sh +++ b/tests/guix-build.sh @@ -1,5 +1,5 @@ # GNU Guix --- Functional package management for GNU -# Copyright © 2012-2014, 2016-2023 Ludovic Courtès +# Copyright © 2012-2014, 2016-2024 Ludovic Courtès # Copyright © 2020 Marius Bakke # Copyright © 2021 Chris Marusich # @@ -161,6 +161,10 @@ export GUIX_PACKAGE_PATH guix build -d -S foo guix build -d -S foo | grep -e 'foo\.tar\.gz' +# Make sure '-s' has an effect together with '-S'. +test "$(guix build -Sd coreutils -s x86_64-linux)" \ + != "$(guix build -Sd coreutils -s aarch64-linux)" + # 'baz' has a replacement so we should be getting the replacement's source. (unset GUIX_BUILD_OPTIONS; test "`guix build -d -S baz`" = "`guix build -d -S foo`")