guix/tests
Ludovic Courtès 2bf6f962b9
packages: 'package-input-rewriting/spec' can rewrite implicit dependencies.
With this change, '--with-input', '--with-graft', etc. also apply to
implicit dependencies.  Thus, it's now possible to do:

  guix build python-itsdangerous --with-input=python-wrapper=python@2

or:

  guix build hello --with-graft=glibc=glibc@2.29

Additionally, before, implicit inputs were not rewritten, which could
lead to duplicates in the output of 'bag-transitive-inputs' (packages
that are not 'eq?' but lead to the same derivation).  This in turn would
lead to unnecessary rebuilds when using '--with-input' & co.  This
change fixes it by ensuring even implicit inputs are rewritten.

Fixes <https://bugs.gnu.org/42156>.

* guix/packages.scm (package-input-rewriting/spec): Add #:deep?
defaulting to #true, and pass it to 'package-mapping'.
[replacement-property]: New variable.
[rewrite]: Check that property and set it on the result of PROC.
[cut?]: New procedure.
* tests/packages.scm ("package-input-rewriting/spec"): Ensure implicit
inputs were unchanged.
("package-input-rewriting/spec, partial match"): Pass #:deep? #f.
("package-input-rewriting/spec, deep")
("package-input-rewriting/spec, no duplicates"): New tests.
(package/inherit): Move before use.
* tests/guix-build.sh: Add tests.
* tests/scripts-build.scm ("options->transformation, with-graft"):
Compare dependencies by package name or derivation file name.
* doc/guix.texi (Defining Packages): Adjust accordingly.
2020-09-27 21:41:08 +02:00
..
services services: Add zram-device-service. 2020-08-02 15:54:37 +03:00
accounts.scm
base16.scm
base32.scm build: Remove references to the 'nix-hash' program. 2020-08-29 16:24:17 +02:00
base64.scm
bournish.scm
build-utils.scm
builders.scm
cache.scm
challenge.scm
channels.scm Use 'formatted-message' instead of '&message' where appropriate. 2020-07-25 19:11:37 +02:00
civodul.key
combinators.scm
containers.scm
cpan.scm
cpio.scm
cran.scm
crate.scm
cve-sample.json
cve.scm
debug-link.scm
derivations.scm
discovery.scm
dsa.key
ed25519.key
ed25519.sec
ed25519bis.key
ed25519bis.sec
elpa.scm
file-systems.scm
gem.scm
gexp.scm
git-authenticate.scm
git.scm
glob.scm
gnu-maintenance.scm
grafts.scm
graph.scm
gremlin.scm
guix-archive.sh
guix-authenticate.sh authenticate: Encode strings as ISO-8859-1. 2020-09-15 14:40:20 +02:00
guix-build-branch.sh
guix-build.sh packages: 'package-input-rewriting/spec' can rewrite implicit dependencies. 2020-09-27 21:41:08 +02:00
guix-daemon.sh
guix-describe.sh
guix-download.sh
guix-environment-container.sh environment: '--link-profile' uses ~/.guix-profile for environment variables. 2020-09-21 23:05:38 +02:00
guix-environment.sh
guix-gc.sh
guix-git-authenticate.sh
guix-graph.sh
guix-hash.sh
guix-lint.sh lint: formatting: Gracefully handle relative file names. 2020-08-23 23:05:16 +02:00
guix-pack-localstatedir.sh
guix-pack-relocatable.sh pack: "fakechroot" engine always creates its store. 2020-07-28 14:41:05 +02:00
guix-pack.sh
guix-package-aliases.sh
guix-package-net.sh
guix-package.sh
guix-repl.sh repl: Look for script files in (getcwd). 2020-09-16 16:04:01 +02:00
guix-system.sh
hackage.scm
import-utils.scm
inferior.scm
lint.scm Use 'formatted-message' instead of '&message' where appropriate. 2020-07-25 19:11:37 +02:00
modules.scm
monads.scm
nar.scm
networking.scm
offload.scm offload: Modify the build-machine record to accept multiple systems. 2020-08-25 13:45:27 -04:00
opam.scm
openpgp.scm
pack.scm pack: Build the store database under a UTF-8 locale. 2020-07-20 23:25:09 +02:00
packages.scm packages: 'package-input-rewriting/spec' can rewrite implicit dependencies. 2020-09-27 21:41:08 +02:00
pki.scm
print.scm
processes.scm
profiles.scm
publish.scm Use "guile-zlib" and "guile-lzlib" instead of (guix config). 2020-08-24 13:35:24 +02:00
pypi.scm utils: Remove compatibility re-export of 'memoize'. 2020-07-25 19:11:36 +02:00
records.scm
rsa.key
scripts-build.scm packages: 'package-input-rewriting/spec' can rewrite implicit dependencies. 2020-09-27 21:41:08 +02:00
scripts.scm
search-paths.scm
services.scm
sets.scm
signing-key.pub
signing-key.sec
size.scm
snix.scm
status.scm
store-database.scm
store-deduplication.scm
store-roots.scm
store.scm tests: Remove one 'delete-paths' call in 'tests/store.scm'. 2020-09-14 15:42:56 +02:00
substitute.scm Use "guile-zlib" and "guile-lzlib" instead of (guix config). 2020-08-24 13:35:24 +02:00
swh.scm
syscalls.scm
system.scm
test.drv
texlive.scm
ui.scm
union.scm
upstream.scm
utils.scm Use "guile-zlib" and "guile-lzlib" instead of (guix config). 2020-08-24 13:35:24 +02:00
uuid.scm
workers.scm