summaryrefslogtreecommitdiff
path: root/guix/profiles.scm
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2014-12-15 23:01:16 +0100
committerLudovic Courtès <ludo@gnu.org>2014-12-15 23:01:56 +0100
commitbea26837e8f010efde3fdf584f2a158676779ef3 (patch)
treed3a86cc8ed5984f84f792fea372e15a7772b528b /guix/profiles.scm
parentebf5ad46db38fdf683b1b474faf610f4de2f65f9 (diff)
profiles: Fix removal of the next-to-last item in a profile.
Fixes a bug whereby removing the next-to-last item in a profile would lead to an obscure error, as shown at <http://lists.gnu.org/archive/html/guix-devel/2014-12/msg00292.html>. Reported by Ricardo Wurmus <ricardo.wurmus@mdc-berlin.de>. * guix/profiles.scm (profile-derivation)[inputs]: Use (list info-dir "out") instead of just INFO-DIR.
Diffstat (limited to 'guix/profiles.scm')
-rw-r--r--guix/profiles.scm8
1 files changed, 7 insertions, 1 deletions
diff --git a/guix/profiles.scm b/guix/profiles.scm
index 2742ba8933..44d7a314a3 100644
--- a/guix/profiles.scm
+++ b/guix/profiles.scm
@@ -414,7 +414,13 @@ INFO-DIR? is #f."
(return #f))))
(define inputs
(if info-dir
- (cons info-dir (manifest-inputs manifest))
+ ;; XXX: Here we use the tuple (INFO-DIR "out") just so that the list
+ ;; is unambiguous for the gexp code when MANIFEST has a single input
+ ;; denoted as a string (the pattern (DRV STRING) is normally
+ ;; interpreted in a gexp as "the STRING output of DRV".). See
+ ;; <http://lists.gnu.org/archive/html/guix-devel/2014-12/msg00292.html>.
+ (cons (list info-dir "out")
+ (manifest-inputs manifest))
(manifest-inputs manifest)))
(define builder