# GNU Guix --- Functional package management for GNU # Copyright © 2012, 2013, 2014, 2016, 2017 Ludovic Courtès # # This file is part of GNU Guix. # # GNU Guix is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 3 of the License, or (at # your option) any later version. # # GNU Guix is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with GNU Guix. If not, see . # # Test the `guix build' command-line utility. # guix build --version # Should fail. if guix build -e +; then false; else true; fi # Source-less packages are accepted; they just return nothing. guix build -e '(@ (gnu packages bootstrap) %bootstrap-glibc)' -S test "`guix build -e '(@ (gnu packages bootstrap) %bootstrap-glibc)' -S`" = "" # Should pass. guix build -e '(@@ (gnu packages bootstrap) %bootstrap-guile)' | \ grep -e '-guile-' guix build hello -d | \ grep -e '-hello-[0-9\.]\+\.drv$' # Passing a URI. GUIX_DAEMON_SOCKET="file://$NIX_STATE_DIR/daemon-socket/socket" \ guix build -e '(@@ (gnu packages bootstrap) %bootstrap-guile)' ( if GUIX_DAEMON_SOCKET="weird://uri" \ guix build -e '(@@ (gnu packages bootstrap) %bootstrap-guile)'; \ then exit 1; fi ) # Check --sources option with its arguments module_dir="t-guix-build-$$" mkdir "$module_dir" trap "rm -rf $module_dir" EXIT cat > "$module_dir/foo.scm"<derivation \"test\" (gexp (mkdir (ungexp output))))))" \ --dry-run # Running a gexp. guix build -e '#~(mkdir #$output)' -d guix build -e '#~(mkdir #$output)' -d | grep 'gexp\.drv' # Building from a package file. cat > "$module_dir/package.scm"< "$module_dir/proc.scm"<derivation "test" (gexp (mkdir (ungexp output))))) EOF guix build --file="$module_dir/proc.scm" --dry-run # Building from a gexp file. cat > "$module_dir/gexp.scm"<