guix-play/tests
Ludovic Courtès 94d92c7796
daemon: Add "builtin:download" derivation builder.
This ensures that 1) the derivation doesn't change when Guix changes;
2) the derivation closure doesn't contain Guix and its dependencies; 3)
we don't have to rely on ugly chroot hacks.

Adapted from Nix commit 0a2bee307b20411f5b0dda0c662b1f9bb9e0e131.

* nix/libstore/build.cc (DerivationGoal::runChild): Add special case for
'isBuiltin(drv)'.  Disable chroot when 'isBuiltin(drv)'.
* nix/libstore/builtins.cc, nix/libstore/builtins.hh,
nix/scripts/download.in, guix/scripts/perform-download.scm: New files.
* guix/ui.scm (show-guix-help)[internal?]: Add 'perform-download'.
* nix/local.mk (libstore_a_SOURCES): Add builtins.cc.
(libstore_headers): Add builtins.hh.
(nodist_pkglibexec_SCRIPTS): Add 'scripts/download'.
* config-daemon.ac: Emit 'scripts/download'.
* Makefile.am (MODULES): Add 'guix/scripts/perform-download.scm'.
* tests/derivations.scm ("unknown built-in builder")
("'download' built-in builder")
("'download' built-in builder, invalid hash")
("'download' built-in builder, not found")
("'download' built-in builder, not fixed-output"): New tests.

Co-authored-by: Eelco Dolstra <eelco.dolstra@logicblox.com>
2016-11-16 18:19:47 +01:00
..
base32.scm
base64.scm
bournish.scm
build-utils.scm utils: 'wrap-program' produces only one wrapper file. 2016-09-07 23:59:02 +02:00
builders.scm
challenge.scm
combinators.scm
containers.scm tests: Don't check file-systems in container tests. 2016-11-13 13:04:00 +01:00
cpan.scm tests: Adjust 'url-fetch' mocks to TLS changes. 2016-11-10 11:58:43 +01:00
cpio.scm
cran.scm tests: Adjust 'url-fetch' mocks to TLS changes. 2016-11-10 11:58:43 +01:00
cve-sample.xml
cve.scm
derivations.scm daemon: Add "builtin:download" derivation builder. 2016-11-16 18:19:47 +01:00
elpa.scm
file-systems.scm
gem.scm import: Importers return prefixed licenses. 2016-08-28 14:04:50 +02:00
gexp.scm gexp: Add 'file-append'. 2016-09-09 23:54:43 +02:00
gnu-maintenance.scm
grafts.scm grafts: Apply the right grafts in the presence of multiple outputs. 2016-10-17 23:59:03 +02:00
graph.scm graph: Add '%referrer-node-type'. 2016-10-15 23:46:39 +02:00
gremlin.scm
guix-archive.sh
guix-authenticate.sh
guix-build.sh tests: Adjust 'guix build -S' test for source-less packages. 2016-10-03 15:24:21 +02:00
guix-daemon.sh
guix-download.sh guix download: Add '-o' option. 2016-11-16 18:00:41 +01:00
guix-environment-container.sh tests: Fix 'guix environment --container' test in the presence of tmpfs. 2016-08-29 00:09:44 +02:00
guix-environment.sh environment: Set 'GUIX_ENVIRONMENT' to the profile. 2016-07-26 17:59:25 +02:00
guix-gc.sh
guix-graph.sh
guix-hash.sh guix hash: Interpret '-' as standard input. 2016-10-28 22:30:17 +02:00
guix-lint.sh
guix-package-net.sh
guix-package.sh
guix-register.sh tests: Improve synchronization in 'tests/guix-register.sh'. 2016-07-29 11:39:30 +02:00
guix-system.sh tests: Adjust to Shepherd error message change. 2016-07-20 14:49:01 +02:00
hackage.scm tests: hackage: Fix mock urls. 2016-09-01 13:40:49 +03:00
hash.scm
import-utils.scm import: utils: Refactor license->symbol. 2016-09-28 13:17:15 +02:00
lint.scm tests: Move HTTP server to (guix tests http). 2016-11-16 18:00:41 +01:00
modules.scm Add (guix modules). 2016-09-05 00:06:47 +02:00
monads.scm
nar.scm
packages.scm tests: Fix 'fold-packages' for hidden packages. 2016-11-08 23:32:41 +01:00
pk-crypto.scm
pki.scm
profiles.scm profiles: Add manifest-transaction helper procedures. 2016-09-06 23:22:10 +02:00
publish.scm tests: Make sure threads use separate output ports. 2016-08-02 18:07:19 +02:00
pypi.scm tests: Adjust pypi test to recent importer change. 2016-10-27 01:00:41 +02:00
records.scm records: Improve reporting of invalid field specifiers. 2016-07-14 19:07:07 +02:00
scripts-build.scm tests: Fix typo in 'with-graft' transformation test. 2016-10-19 15:54:10 +02:00
scripts.scm
services.scm services: shepherd: Add 'shepherd-service-upgrade', from 'guix system'. 2016-08-31 15:44:20 +02:00
sets.scm
signing-key.pub
signing-key.sec
size.scm
snix.scm
store.scm
substitute.scm
syscalls.scm tests: Skip 'pivot-root' test on Linux > 4.7.5. 2016-10-27 01:00:41 +02:00
system.scm services: shepherd: Add 'shepherd-service-upgrade', from 'guix system'. 2016-08-31 15:44:20 +02:00
test.drv
ui.scm
union.scm
upstream.scm
utils.scm utils: Support defaults in substitute-keyword-arguments. 2016-10-07 07:42:05 -05:00
zlib.scm Add (guix zlib). 2016-07-19 00:07:12 +02:00