# GNU Guix --- Functional package management for GNU # Copyright © 2018, 2019, 2020 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 'guix build --with-branch'. # guix build --version # 'guix build --with-branch' requires access to the network to clone the # Git repository below. if ! guile -c '(getaddrinfo "www.gnu.org" "80" AI_NUMERICSERV)' 2> /dev/null then # Skipping. exit 77 fi orig_drv="`guix build guile-gcrypt -d`" latest_drv="`guix build guile-gcrypt --with-branch=guile-gcrypt=master -d`" test -n "$latest_drv" test "$orig_drv" != "$latest_drv" # FIXME: '-S' currently doesn't work with non-derivation source. # checkout="`guix build guile-gcrypt --with-branch=guile-gcrypt=master -S`" checkout="`guix gc --references "$latest_drv" | grep guile-gcrypt | grep -v -E '(-builder|\.drv)'`" test -d "$checkout" test -f "$checkout/COPYING" orig_drv="`guix build guix -d`" latest_drv="`guix build guix --with-branch=guile-gcrypt=master -d`" guix gc -R "$latest_drv" | grep guile-gcrypt-git.master test "$orig_drv" != "$latest_drv" v0_1_0_drv="`guix build guix --with-commit=guile-gcrypt=9e3eacdec1d -d`" guix gc -R "$v0_1_0_drv" | grep guile-gcrypt-git.9e3eacd test "$v0_1_0_drv" != "$latest_drv" test "$v0_1_0_drv" != "$orig_drv" v0_1_0_drv="`guix build guix --with-commit=guile-gcrypt=v0.1.0 -d`" guix gc -R "$v0_1_0_drv" | grep guile-gcrypt-0.1.0 guix gc -R "$v0_1_0_drv" | grep guile-gcrypt-8fe64e8 # this is the tag ID test "$v0_1_0_drv" != "$latest_drv" test "$v0_1_0_drv" != "$orig_drv" if guix build guix --with-commit=guile-gcrypt=000 -d then false; else true; fi 58a2c8084c66d9949933950fbf316eb95a46b1a4'>guix-daemon.sh
'2023-09-15 22:05:23 +0200'>2023-09-15
AgeCommit message (Expand)Author
tests: Fix "package-transitive-supported-systems, implicit inputs"....This is a follow-up to commit 0e08ad7f19d5b29a4883468552b5d213a7bdb66e gnu: linux-libre-headers: Remove i586-gnu from supported-systems. See also <https://issues.guix.gnu.org/65755>. * tests/packages.scm ("package-transitive-supported-systems, implicit inputs"): Filter expectiation with target-linux?, as %current-system is linux. Co-authored-by: Ludovic Courtès <ludo@gnu.org> Janneke Nieuwenhuizen
2023-08-18tests: packages: Set system for expected result of package->bag....* tests/packages.scm ("package->bag"): Parameterize the expected result by the system used to lower the package to a bag. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Josselin Poiret
2023-06-14packages: 'package-transitive-supported-systems' detects cycles....With this change, commands such as 'guix build' or 'guix package' report obvious package-level cycles upfront. Derivation-level cycles are not detected. * guix/packages.scm (&package-cyclic-dependency-error): New condition type. (package-transitive-supported-systems): Define 'visited', check it, and parameterize it. * guix/ui.scm (call-with-error-handling): Handle '&package-cyclic-dependency-error'. * tests/packages.scm ("package-transitive-supported-systems detects cycles"): Add test. Ludovic Courtès