summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Kost <alezost@gmail.com>2017-06-28 17:20:40 +0300
committerAlex Kost <alezost@gmail.com>2017-06-28 17:47:34 +0300
commitf4b0d8d83bad30b99a919639b387189350c6fc62 (patch)
tree6429637b75affcc4f4c141ee6b8252684e2f80ab
parentdoc: Mention how Guix's "pre-inst-env" can be used (diff)
downloadguix-wigust-f4b0d8d83bad30b99a919639b387189350c6fc62.tar.gz
scheme/packages: Fix breakage caused by manifest format change
Before <http://git.savannah.gnu.org/cgit/guix.git/commit/?id=55b4715fd4c03e46501f123c5c9bc6072edf12a4>, 'manifest-entry-dependencies' returned a list of file names, now it returns a list of manifest entries. This change causes an error during parsing an output from the scheme side. * scheme/emacs-guix/packages.scm (manifest-entry-dependencies-file-names): New procedure. * scheme/emacs-guix/packages.scm (%manifest-entry-param-alist): Use it instead of 'manifest-entry-dependencies'.
-rw-r--r--scheme/emacs-guix/packages.scm14
1 files changed, 13 insertions, 1 deletions
diff --git a/scheme/emacs-guix/packages.scm b/scheme/emacs-guix/packages.scm
index 8db7e81..7243263 100644
--- a/scheme/emacs-guix/packages.scm
+++ b/scheme/emacs-guix/packages.scm
@@ -185,10 +185,22 @@ of RESULT. ENTRIES is a list of manifest entries with NAME/VERSION."
init
(manifest->hash-table manifest)))
+(define (manifest-entry-dependencies-file-names entry)
+ "Return store file names of manifest ENTRY dependencies."
+ (map (match-lambda
+ ((? manifest-entry? entry)
+ (manifest-entry-item entry))
+ ;; Before manifest version 3
+ ;; <http://git.savannah.gnu.org/cgit/guix.git/commit/?id=55b4715fd4c03e46501f123c5c9bc6072edf12a4>,
+ ;; 'manifest-entry-dependencies' returned a list of file names.
+ ((? string? file-name) file-name)
+ (_ "unknown dependency format"))
+ (manifest-entry-dependencies entry)))
+
(define %manifest-entry-param-alist
`((output . ,manifest-entry-output)
(file-name . ,manifest-entry-item)
- (dependencies . ,manifest-entry-dependencies)))
+ (dependencies . ,manifest-entry-dependencies-file-names)))
(define manifest-entry->sexp
(object-transformer %manifest-entry-param-alist))