pack: Honor symlinks in the Docker back-end.
* guix/docker.scm (symlink-source, topmost-component): New procedures.
(build-docker-image): Add #:symlinks parameter and honor it. Remove
hard-coded /bin symlink.
* guix/scripts/pack.scm (docker-image): Pass #:symlinks to
'build-docker-image'.
docker: Build images in a reproducible fashion.
* guix/docker.scm (%tar-determinism-options): New variable.
(build-docker-image): Use it on the two 'tar' invocations.
pack: Use a fixed timestamp in Docker images.
* guix/docker.scm (build-docker-image): Add #:creation-time parameter.
Use SRFI-19 'date->string' instead of 'strftime' et al.
* guix/scripts/pack.scm (docker-image)[build]: Pass #:creation-time to
'build-docker-image'.
pack: Add '--format' option and Docker output support.
* guix/docker.scm: Remove dependency on (guix store) and (guix utils).
Use (guix build store-copy). Load (json) lazily.
(build-docker-image): Remove #:system. Add #:closure, #:compressor, and
'image' parameters. Use 'uname' to determine the architecture. Remove
use of 'call-with-temporary-directory'. Use 'read-reference-graph' to
compute ITEMS. Honor #:compressor.
* guix/scripts/pack.scm (docker-image): New procedure.
(%default-options): Add 'format'.
(%formats): New variable.
(%options, show-help): Add '--format'.
(guix-pack): Honor '--format'.
* guix/scripts/archive.scm: Remove '--format' option. This reverts
commits 1545a012cb7cd78e25ed99ecee26df457be590e9,
01445711db6771cea6122859c3f717f130359f55, and
03476a23ff2d4175b7d3c808726178f764359bec.
* doc/guix.texi (Invoking guix pack): Document '--format'.
(Invoking guix archive): Remove documentation of '--format'.
pack: Honor command-line options related to the store.
* guix/scripts/pack.scm (guix-pack): Call
'set-build-options-from-command-line'.
memoization: Micro-optimize code produced by 'define-cache-procedure'.
* guix/memoization.scm (%nothing): Remove.
(define-cache-procedure): Make '%nothing' a local variable, with a
literal list.
services: connman: Rework service.
* gnu/services/networking.scm (connman-service): Remove.
(<connman-configuration>): New record specifying the package
to be used (connman) and whether vpn plugin shall be
disabled (disable-vpn?).
(connman-configuration): New exported variable.
(connman-configuration?): New exported variable.
(connman-service-type): Export it.
* doc/guix.texi (Networking Services): Adjust accordingly.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
gexp: Add '=>' syntax to import computed modules.
* guix/gexp.scm (imported-files)[file-pair]: Add case for pairs where
the cdr is not a string.
(imported-modules): Support '=>' syntax in MODULES.
* tests/gexp.scm ("imported-files with file-like objects")
("gexp->derivation & with-imported-module & computed module"): New tests.
* doc/guix.texi (G-Expressions): Document '=>' syntax for
'with-imported-modules'.
utils: Move base16 procedures to (guix base16).
* guix/utils.scm (bytevector->base16-string, base16-string->bytevector):
Move to...
* guix/base16.scm: ... here. New file.
* tests/utils.scm ("bytevector->base16-string->bytevector"): Move to...
* tests/base16.scm: ... here. New file.
* Makefile.am (MODULES): Add guix/base16.scm.
(SCM_TESTS): Add tests/base16.scm.
* build-aux/download.scm, guix/derivations.scm,
guix/docker.scm, guix/import/snix.scm, guix/pk-crypto.scm,
guix/scripts/authenticate.scm, guix/scripts/download.scm,
guix/scripts/hash.scm, guix/store.scm, tests/hash.scm,
tests/pk-crypto.scm: Adjust imports accordingly.
gnu: password-store: Fix compatibility with GnuPG 2.1.19.
* gnu/packages/patches/password-store-gnupg-compat.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/password-utils.scm (password-store)[source]: Use it.
Signed-off-by: Clément Lassieur <clement@lassieur.org>
gnu: Add r-seurat.
* gnu/packages/bioinformatics.scm (r-seurat): New variable.
Co-authored-by: Ricardo Wurmus <rekado@elephly.net>
gnu: sra-tools: Update to 2.8.2-1.
* gnu/packages/bioinformatics.scm (sra-tools): Update to 2.8.2-1.
[arguments]: Add DEFAULT_CRT and DEFAULT_KFG to make flags.
gnu: ncbi-vdb: Install configuration files.
* gnu/packages/bioinformatics.scm (ncbi-vdb)[arguments]: Add phase
"install-configuration-files".
gnu: ncbi-vdb: Override search path for java-ngs.
* gnu/packages/bioinformatics.scm (ncbi-vdb)[arguments]: Patch "package.prl"
to ensure that java-ngs is found by the configure script; remove configure
flag "--with-ngs-java-prefix".
gnu: ncbi-vdb: Use modify-phases syntax.
* gnu/packages/bioinformatics.scm (ncbi-vdb)[arguments]: Use modify-phases
syntax.
gnu: ncbi-vdb: Update to 2.8.2.
* gnu/packages/bioinformatics.scm (ncbi-vdb): Update to 2.8.2.
gnu: ngs-sdk: Update to 1.3.0.
* gnu/packages/bioinformatics.scm (ngs-sdk): Update to 1.3.0.
gnu: Add pzstd.
* gnu/packages/compression.scm (pzstd): New variable.
gnu: Add zstd.
* gnu/packages/compression.scm (zstd): New variable.
gnu: python-publicsuffix2: Update to 2.20160818.
* gnu/packages/python.scm (python-publicsuffix2): Update to 2.20160818.