From bea26837e8f010efde3fdf584f2a158676779ef3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 15 Dec 2014 23:01:16 +0100 Subject: [PATCH] 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 . Reported by Ricardo Wurmus . * guix/profiles.scm (profile-derivation)[inputs]: Use (list info-dir "out") instead of just INFO-DIR. --- guix/profiles.scm | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) 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 + ;; . + (cons (list info-dir "out") + (manifest-inputs manifest)) (manifest-inputs manifest))) (define builder