diff options
author | Alex Kost <alezost@gmail.com> | 2016-07-27 14:55:50 +0300 |
---|---|---|
committer | Alex Kost <alezost@gmail.com> | 2016-07-30 18:17:03 +0300 |
commit | a82a201a8d8b324d3e4f85c0faab02cce04f7b28 (patch) | |
tree | bf1b7b17c38aeba8b4c823a6f05f103d7ed79a00 | |
parent | 6661db4e97d59bbf6c13981be774c28e2a0aaa7d (diff) | |
download | guix-a82a201a8d8b324d3e4f85c0faab02cce04f7b28.tar guix-a82a201a8d8b324d3e4f85c0faab02cce04f7b28.tar.gz |
emacs: Disable grafts when dry-run is enabled.
* emacs/guix-main.scm (process-package-actions): Set grafting according
to 'dry-run?'.
* guix/scripts.scm (build-package): Disable grafts when 'dry-run?' is #t.
Co-authored-by: Ludovic Courtès <ludo@gnu.org>
-rw-r--r-- | emacs/guix-main.scm | 20 | ||||
-rw-r--r-- | guix/scripts.scm | 9 |
2 files changed, 17 insertions, 12 deletions
diff --git a/emacs/guix-main.scm b/emacs/guix-main.scm index cbf7cdc474..040932f307 100644 --- a/emacs/guix-main.scm +++ b/emacs/guix-main.scm @@ -46,6 +46,7 @@ (guix) (guix combinators) (guix git-download) + (guix grafts) (guix packages) (guix profiles) (guix licenses) @@ -930,15 +931,16 @@ OUTPUTS is a list of package outputs (may be an empty list)." (new-manifest (manifest-perform-transaction manifest transaction))) (unless (and (null? install) (null? remove)) - (with-store store - (set-build-options store - #:print-build-trace #f - #:use-substitutes? use-substitutes?) - (show-manifest-transaction store manifest transaction - #:dry-run? dry-run?) - (build-and-use-profile store profile new-manifest - #:use-substitutes? use-substitutes? - #:dry-run? dry-run?))))) + (parameterize ((%graft? (not dry-run?))) + (with-store store + (set-build-options store + #:print-build-trace #f + #:use-substitutes? use-substitutes?) + (show-manifest-transaction store manifest transaction + #:dry-run? dry-run?) + (build-and-use-profile store profile new-manifest + #:use-substitutes? use-substitutes? + #:dry-run? dry-run?)))))) (define (delete-generations* profile generations) "Delete GENERATIONS from PROFILE. diff --git a/guix/scripts.scm b/guix/scripts.scm index d84375f570..bbee50bc3d 100644 --- a/guix/scripts.scm +++ b/guix/scripts.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2014 Deck Pickard <deck.r.pickard@gmail.com> -;;; Copyright © 2015 Alex Kost <alezost@gmail.com> +;;; Copyright © 2015, 2016 Alex Kost <alezost@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -19,6 +19,7 @@ ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. (define-module (guix scripts) + #:use-module (guix grafts) #:use-module (guix utils) #:use-module (guix ui) #:use-module (guix store) @@ -105,11 +106,13 @@ true." #:rest build-options) "Build PACKAGE using BUILD-OPTIONS acceptable by 'set-build-options'. Show what and how will/would be built." - (mbegin %store-monad + (mlet %store-monad ((grafting? ((lift0 %graft? %store-monad)))) (apply set-build-options* #:use-substitutes? use-substitutes? (strip-keyword-arguments '(#:dry-run?) build-options)) - (mlet %store-monad ((derivation (package->derivation package))) + (mlet %store-monad ((derivation (package->derivation + package #:graft? (and (not dry-run?) + grafting?)))) (mbegin %store-monad (maybe-build (list derivation) #:use-substitutes? use-substitutes? |