diff options
author | Ludovic Courtès <ludo@gnu.org> | 2020-03-03 10:34:35 +0100 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2020-03-05 16:33:37 +0100 |
commit | 5a675b2c67825e581cd8193f643f66c4cb1ea1e4 (patch) | |
tree | 8858acbbd4e0be08257fdd16803ad9010eaa202f /guix | |
parent | 3046e73b4c773a43ffa9ea583c0b469aaa8c5256 (diff) |
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')
-rw-r--r-- | guix/scripts/build.scm | 14 |
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)) |