Fixes <http://bugs.gnu.org/22872>.
Reported by myglc2 <myglc2@gmail.com>.
* test-env.in: Define and export 'GUIX_BUILD_OPTIONS'.
* tests/guix-build.sh: When setting 'GUIX_BUILD_OPTIONS', make sure it
contains '--no-grafts'.
* tests/guix-package.sh: Likewise.
* tests/guix-daemon.sh: Add (%graft? #f) in Scheme snippets.
LC_MESSAGES=C
export LC_MESSAGES
+# Disable grafts by default because they can cause things to be built
+# regardless of '--dry-run'.
+GUIX_BUILD_OPTIONS="--no-grafts"
+export GUIX_BUILD_OPTIONS
+
# Ignore user settings.
-unset GUIX_PACKAGE_PATH GUIX_BUILD_OPTIONS
+unset GUIX_PACKAGE_PATH
storedir="@storedir@"
prefix="@prefix@"
guix build --file="$module_dir/gexp.scm" -d | grep 'gexp\.drv'
# Using 'GUIX_BUILD_OPTIONS'.
-GUIX_BUILD_OPTIONS="--dry-run"
+GUIX_BUILD_OPTIONS="--dry-run --no-grafts"
export GUIX_BUILD_OPTIONS
guix build emacs
# GNU Guix --- Functional package management for GNU
-# Copyright © 2012, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
+# Copyright © 2012, 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
#
# This file is part of GNU Guix.
#
drv="`guix build emacs -d`"
out="`guile -c ' \
- (use-modules (guix) (gnu packages emacs)) \
+ (use-modules (guix) (guix grafts) (gnu packages emacs)) \
(define store (open-connection)) \
+ (%graft? #f)
(display (derivation->output-path (package-derivation store emacs)))'`"
hash_part="`basename $out | cut -c 1-32`"
daemon_pid=$!
guile -c "
- (use-modules (guix) (guix tests) (srfi srfi-34))
+ (use-modules (guix) (guix grafts) (guix tests) (srfi srfi-34))
(define store (open-connection-for-tests \"$socket\"))
+ ;; Disable grafts to avoid building more than needed.
+ (%graft? #f)
+
(define (build-without-failing drv)
(lambda (store)
(guard (c ((nix-protocol-error? c) (values #t store)))
# Using 'GUIX_BUILD_OPTIONS'.
available="`guix package -A | sort`"
-GUIX_BUILD_OPTIONS="--dry-run"
+GUIX_BUILD_OPTIONS="--dry-run --no-grafts"
export GUIX_BUILD_OPTIONS
# Make sure $GUIX_BUILD_OPTIONS is not simply appended to the command-line,
test "$available2" = "$available"
guix package -I
-unset GUIX_BUILD_OPTIONS
+# Restore '--no-grafts', which makes sure we don't end up building stuff when
+# '--dry-run' is passed.
+GUIX_BUILD_OPTIONS="--no-grafts"
# Applying a manifest file.
cat > "$module_dir/manifest.scm"<<EOF