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>
This commit is contained in:
Alex Kost 2016-07-27 14:55:50 +03:00
parent 6661db4e97
commit a82a201a8d
No known key found for this signature in database
GPG key ID: 82460C082A0EE98F
2 changed files with 17 additions and 12 deletions

View file

@ -46,6 +46,7 @@
(guix)
(guix combinators)
(guix git-download)
(guix grafts)
(guix packages)
(guix profiles)
(guix licenses)
@ -930,6 +931,7 @@ (define* (process-package-actions
(new-manifest (manifest-perform-transaction
manifest transaction)))
(unless (and (null? install) (null? remove))
(parameterize ((%graft? (not dry-run?)))
(with-store store
(set-build-options store
#:print-build-trace #f
@ -938,7 +940,7 @@ (define* (process-package-actions
#:dry-run? dry-run?)
(build-and-use-profile store profile new-manifest
#:use-substitutes? use-substitutes?
#:dry-run? dry-run?)))))
#:dry-run? dry-run?))))))
(define (delete-generations* profile generations)
"Delete GENERATIONS from PROFILE.

View file

@ -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 @@ (define* (build-package package
#: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?