aboutsummaryrefslogtreecommitdiff
path: root/guix/derivations.scm
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2019-08-16 18:41:55 +0200
committerLudovic Courtès <ludo@gnu.org>2019-08-16 23:00:26 +0200
commit268896444bed7b958add74b2e1e86ff802c5f5cb (patch)
treebd03a16c4ae409435b056104c8388cb618e8da62 /guix/derivations.scm
parenta7c714d3983c746d14b759707ff9e3487d580dd2 (diff)
downloadguix-268896444bed7b958add74b2e1e86ff802c5f5cb.tar
guix-268896444bed7b958add74b2e1e86ff802c5f5cb.tar.gz
derivations: Delete duplicate inputs when computing derivation hash.
Fixes <https://bugs.gnu.org/36777>. Reported by Carl Dong <contact@carldong.me>. * guix/derivations.scm (derivation/masked-inputs): Call 'delete-duplicates' on INPUTS. * tests/derivations.scm ("derivation with duplicate fixed-output inputs"): New test.
Diffstat (limited to 'guix/derivations.scm')
-rw-r--r--guix/derivations.scm2
1 files changed, 1 insertions, 1 deletions
diff --git a/guix/derivations.scm b/guix/derivations.scm
index 92d50503ce..b3928920e2 100644
--- a/guix/derivations.scm
+++ b/guix/derivations.scm
@@ -685,7 +685,7 @@ name of each input with that input's hash."
(make-derivation-input hash sub-drvs))))
inputs)))
(make-derivation outputs
- (sort inputs
+ (sort (delete-duplicates inputs)
(lambda (drv1 drv2)
(string<? (derivation-input-derivation drv1)
(derivation-input-derivation drv2))))