summary refs log tree commit diff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2014-08-12 22:09:42 +0200
committerLudovic Courtès <ludo@gnu.org>2014-08-12 22:09:42 +0200
commitd34736c5c34e739c4e33a64cfa7871d689ba4780 (patch)
treeabf383f7c09f11b097ec70f8a044627f961b4329
parentdfd1d5edf6f4980a99e501a255ee928285a37ff5 (diff)
downloadguix-d34736c5c34e739c4e33a64cfa7871d689ba4780.tar.gz
profiles: Adjust to unintended manifest format change.
Reported by Andreas Enge.

* guix/profiles.scm (sexp->manifest): Adjust to handle unintended format
  change introduced in 4ca0b41.
-rw-r--r--guix/profiles.scm20
1 files changed, 14 insertions, 6 deletions
diff --git a/guix/profiles.scm b/guix/profiles.scm
index c7aec7909b..e921566e5a 100644
--- a/guix/profiles.scm
+++ b/guix/profiles.scm
@@ -158,12 +158,20 @@ omitted or #f, use the first output of PACKAGE."
                 ('packages ((name version output path deps) ...)))
      (manifest
       (map (lambda (name version output path deps)
-             (manifest-entry
-              (name name)
-              (version version)
-              (output output)
-              (item path)
-              (dependencies deps)))
+             ;; Up to Guix 0.7 included, dependencies were listed as ("gmp"
+             ;; "/gnu/store/...-gmp") for instance.  Discard the 'label' in
+             ;; such lists.
+             (let ((deps (match deps
+                           (((labels directories) ...)
+                            directories)
+                           ((directories ...)
+                            directories))))
+               (manifest-entry
+                 (name name)
+                 (version version)
+                 (output output)
+                 (item path)
+                 (dependencies deps))))
            name version output path deps)))
 
     (_