aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Kost <alezost@gmail.com>2016-07-27 14:55:50 +0300
committerAlex Kost <alezost@gmail.com>2016-07-30 18:17:03 +0300
commita82a201a8d8b324d3e4f85c0faab02cce04f7b28 (patch)
treebf1b7b17c38aeba8b4c823a6f05f103d7ed79a00
parent6661db4e97d59bbf6c13981be774c28e2a0aaa7d (diff)
downloadguix-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.scm20
-rw-r--r--guix/scripts.scm9
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?