summaryrefslogtreecommitdiff
path: root/guix/packages.scm
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2022-03-15 15:17:49 +0100
committerLudovic Courtès <ludo@gnu.org>2022-03-16 15:48:51 +0100
commit00dfff84c66c5c6aa4853684419a92befe55d4b4 (patch)
treef4a565586e1f06f9df8bd78e86302bd5a98b05c9 /guix/packages.scm
parente3801126a9566bc89c3746a54128609ad6eff1fd (diff)
packages: 'modify-inputs' preserves outputs in 'replace' clauses.
Fixes <https://issues.guix.gnu.org/53915>. Reported by Gordon Quad <gordon@niflheim.info>. * guix/packages.scm (replace-input): Preserve the outputs of INPUT by default. * tests/packages.scm ("modify-inputs, replace, extra output"): New test.
Diffstat (limited to 'guix/packages.scm')
-rw-r--r--guix/packages.scm4
1 files changed, 2 insertions, 2 deletions
diff --git a/guix/packages.scm b/guix/packages.scm
index 3f0262602d..288ae37523 100644
--- a/guix/packages.scm
+++ b/guix/packages.scm
@@ -1091,11 +1091,11 @@ otherwise."
"Replace input NAME by REPLACEMENT within INPUTS."
(map (lambda (input)
(match input
- (((? string? label) . _)
+ (((? string? label) _ . outputs)
(if (string=? label name)
(match replacement ;does REPLACEMENT specify an output?
((_ _) (cons label replacement))
- (_ (list label replacement)))
+ (_ (cons* label replacement outputs)))
input))))
inputs))