summaryrefslogtreecommitdiff
path: root/guix/scripts
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2020-03-03 10:34:35 +0100
committerLudovic Courtès <ludo@gnu.org>2020-03-05 16:33:37 +0100
commit5a675b2c67825e581cd8193f643f66c4cb1ea1e4 (patch)
tree8858acbbd4e0be08257fdd16803ad9010eaa202f /guix/scripts
parent3046e73b4c773a43ffa9ea583c0b469aaa8c5256 (diff)
downloadguix-patches-5a675b2c67825e581cd8193f643f66c4cb1ea1e4.tar
guix-patches-5a675b2c67825e581cd8193f643f66c4cb1ea1e4.tar.gz
guix build: Allow non-package objects in manifest.
* guix/scripts/build.scm (options->things-to-build)[manifest->packages]: Remove. Inline map of 'manifest-entry-item'. * tests/guix-build.sh: Add test for "guix build -m" with non-package object.
Diffstat (limited to 'guix/scripts')
-rw-r--r--guix/scripts/build.scm14
1 files changed, 4 insertions, 10 deletions
diff --git a/guix/scripts/build.scm b/guix/scripts/build.scm
index eedf6bf6a8..5c690cb99d 100644
--- a/guix/scripts/build.scm
+++ b/guix/scripts/build.scm
@@ -812,14 +812,6 @@ build---packages, gexps, derivations, and so on."
(for-each validate-type lst)
lst))
- ;; Note: Taken from (guix scripts refresh).
- (define (manifest->packages manifest)
- "Return the list of packages in MANIFEST."
- (filter-map (lambda (entry)
- (let ((item (manifest-entry-item entry)))
- (if (package? item) item #f)))
- (manifest-entries manifest)))
-
(append-map (match-lambda
(('argument . (? string? spec))
(cond ((derivation-path? spec)
@@ -844,8 +836,10 @@ build---packages, gexps, derivations, and so on."
(('file . file)
(ensure-list (load* file (make-user-module '()))))
(('manifest . manifest)
- (manifest->packages
- (load* manifest (make-user-module '((guix profiles) (gnu))))))
+ (map manifest-entry-item
+ (manifest-entries
+ (load* manifest
+ (make-user-module '((guix profiles) (gnu)))))))
(('expression . str)
(ensure-list (read/eval str)))
(('argument . (? derivation? drv))