diff options
author | Marius Bakke <mbakke@fastmail.com> | 2018-02-20 17:36:56 +0100 |
---|---|---|
committer | Marius Bakke <mbakke@fastmail.com> | 2018-02-20 17:36:56 +0100 |
commit | 7f69459aca16756f35f08049c64a1bd77d23f33e (patch) | |
tree | 1d267fb62feab89de5d97582672540cbaa37392c /guix/packages.scm | |
parent | 4a82722a658220ec1e10f9f2d5d77407d38db90e (diff) | |
parent | b1989c12501e880afab62d3ff961791906fef350 (diff) |
Merge branch 'master' into staging
Diffstat (limited to 'guix/packages.scm')
-rw-r--r-- | guix/packages.scm | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/guix/packages.scm b/guix/packages.scm index 9571565e17..b5c0b60440 100644 --- a/guix/packages.scm +++ b/guix/packages.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2014, 2015, 2017 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2015 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2016 Alex Kost <alezost@gmail.com> @@ -620,6 +620,9 @@ itself. This is implemented as a breadth-first traversal such that INPUTS is preserved, and only duplicate propagated inputs are removed." (define (seen? seen item outputs) + ;; FIXME: We're using pointer identity here, which is extremely sensitive + ;; to memoization in package-producing procedures; see + ;; <https://bugs.gnu.org/30155>. (match (vhash-assq item seen) ((_ . o) (equal? o outputs)) (_ #f))) @@ -786,7 +789,8 @@ when CUT? returns true for a given package." (location (package-location p)) (inputs (map rewrite (package-inputs p))) (native-inputs (map rewrite (package-native-inputs p))) - (propagated-inputs (map rewrite (package-propagated-inputs p))))))) + (propagated-inputs (map rewrite (package-propagated-inputs p))) + (replacement (and=> (package-replacement p) proc)))))) replace) |