diff options
author | Ludovic Courtès <ludo@gnu.org> | 2012-09-04 23:43:24 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2012-09-04 23:43:24 +0200 |
commit | 609354bf0a361cb9217a3b43f270c7a986b54f63 (patch) | |
tree | 670c6f2ee034038dcdff6422cfe38b1bd35e8081 | |
parent | 5dba31494e218db8f155ebf95a2a01859c29f078 (diff) | |
download | guix-609354bf0a361cb9217a3b43f270c7a986b54f63.tar guix-609354bf0a361cb9217a3b43f270c7a986b54f63.tar.gz |
guix-build: Add `--derivations'.
* guix-build.in (show-help): Add `--derivations'.
(%options): Likewise.
(guix-build): Handle it.
-rw-r--r-- | guix-build.in | 31 |
1 files changed, 19 insertions, 12 deletions
diff --git a/guix-build.in b/guix-build.in index c7cf2ff7eb..6440f0a4db 100644 --- a/guix-build.in +++ b/guix-build.in @@ -84,6 +84,8 @@ Build the given PACKAGE-OR-DERIVATION and return their output paths.\n")) (display (_ " -S, --source build the packages' source derivations")) (display (_ " + -d, --derivations return the derivation paths of the given packages")) + (display (_ " -K, --keep-failed keep build tree of failed builds")) (display (_ " -n, --dry-run do not build the derivations")) @@ -112,6 +114,9 @@ Report bugs to: ~a.~%") "@PACKAGE_BUGREPORT@")) (option '(#\S "source") #f #f (lambda (opt name arg result) (alist-cons 'source? #t result))) + (option '(#\d "derivations") #f #f + (lambda (opt name arg result) + (alist-cons 'derivations-only? #t result))) (option '(#\e "expression") #t #f (lambda (opt name arg result) (alist-cons 'expression @@ -196,15 +201,17 @@ Report bugs to: ~a.~%") "@PACKAGE_BUGREPORT@")) #:build-cores (or (assoc-ref opts 'cores) (current-processor-count))) - (or (assoc-ref opts 'dry-run?) - (and (build-derivations %store drv) - (for-each (lambda (d) - (let ((drv (call-with-input-file d - read-derivation))) - (format #t "~{~a~%~}" - (map (match-lambda - ((out-name . out) - (derivation-path->output-path - d out-name))) - (derivation-outputs drv))))) - drv))))) + (if (assoc-ref opts 'derivations-only?) + (format #t "~{~a~%~}" drv) + (or (assoc-ref opts 'dry-run?) + (and (build-derivations %store drv) + (for-each (lambda (d) + (let ((drv (call-with-input-file d + read-derivation))) + (format #t "~{~a~%~}" + (map (match-lambda + ((out-name . out) + (derivation-path->output-path + d out-name))) + (derivation-outputs drv))))) + drv)))))) |