me
/
guix
Archived
1
0
Fork 0
Commit Graph

5560 Commits (47a6a938c3c4d0bbe7b6a3c64ff75d7bfb2f24fb)

Author SHA1 Message Date
Maxim Cournoyer 47a6a938c3
utils: Add NIX_STORE_DIR as a candidate for the value of the store directory.
On the daemon side, nixStore gets set to the environment variable
NIX_STORE_DIR, else the environment variable NIX_STORE else the compile time
macro NIX_STORE_DIR (see the Settings::processEnvironment method in
nix/libstore/globals.cc).  When creating a build environment, it sets
NIX_STORE with the value computed as described above.  Hence, it's safer to
look for both NIX_STORE_DIR and NIX_STORE in (guix build utils), so that it
works in any context (build context or external context).

* guix/build/utils.scm (%store-directory): Consider both NIX_STORE_DIR and
NIX_STORE as environment variables.
2021-01-26 22:48:35 -05:00
Ludovic Courtès f41ff53293
packages: 'patch-and-repack' returns a directory when given a directory.
Previously, 'patch-and-repack' would always create a tar.xz archive as a
result, even if the input was a directory (a checkout).  This change
reduces gratuitous CPU and storage overhead.

* guix/packages.scm (patch-and-repack)[tarxz-name]: Remove 'checkout?' case.
[build](repack): New procedure, with "tar" invocation formerly at the
top level.
If SOURCE is a directory, call 'copy-recursively'; otherwise, call
'repack'.
Change NAME to ORIGINAL-FILE-NAME when it matches 'checkout?'.
2021-01-18 15:55:14 +01:00
Ludovic Courtès 9621809ce8
build-system/gnu: Really ignore the return value of phases.
This is a followup to 04baa011e9.

* guix/build/gnu-build-system.scm (gnu-build): Really ignore the return
value of PROC.  Wrap PROC call in 'with-throw-handler'.  Add
'end-of-phase' procedure and use it.
2021-01-15 14:06:13 +01:00
Maxim Cournoyer 8c3abb47f0
build-system/texlive: Allow specifying SVN references with a single component.
This is the case for macros (formats), for which the TeX Directory Structure
specifies to be located at the root of the source tree directly.

* guix/build-system/texlive.scm (texlive-ref): Make the ID parameter
optional.  Update doc.
2021-01-14 09:02:11 -05:00
Maxim Cournoyer 01f0707207
Merge branch 'staging' into 'core-updates'.
Conflicts:

	gnu/local.mk
	gnu/packages/cmake.scm
	gnu/packages/curl.scm
	gnu/packages/gl.scm
	gnu/packages/glib.scm
	gnu/packages/guile.scm
	gnu/packages/node.scm
	gnu/packages/openldap.scm
	gnu/packages/package-management.scm
	gnu/packages/python-xyz.scm
	gnu/packages/python.scm
	gnu/packages/tls.scm
	gnu/packages/vpn.scm
	gnu/packages/xorg.scm
2021-01-13 23:45:53 -05:00
Maxim Cournoyer 31ebecf73d
packages: Fix 'base32' used before definition warning.
Before this change, compiling the module would emit the following message:
"guix/packages.scm:213:25: warning: macro `base32' used before definition".

* guix/packages.scm (define-compile-time-decoder)
(base32, base64): Move definitions to the top of the module.
2021-01-10 17:12:22 -05:00
Maxim Cournoyer 0715793373
build-systems/emacs: No longer skip patching of files containing NULs.
This follows the fix to <https://bugs.gnu.org/30116>.

* guix/build/emacs-build-system.scm (patch-el-files)
[file-contains-nul-char]: Remove nested procedure.
[el-file]: Do no filter out files containing NUL characters.
2021-01-08 14:10:33 -05:00
Mark H Weaver 485ac28235
utils: Allow text substitution even in the presence of NUL characters.
Fixes <https://issues.guix.gnu.org/30116>.

Before this change, the presence of a NUL character on a line meant that
the (glibc) regexp engine used by Guile would either 1. stop scanning the
string or 2. crash with the error "string contains #\\nul character",
depending on the locale used.

This change works around this limitation by first replacing the NUL character
by an unused Unicode code point, doing the substitution, then reverting the
replacement.

* guix/build/utils.scm (unused-private-use-code-point)
(replace-char): New procedures.
(substitute): Make use of the above procedures to work around the NUL
character regexp engine limitation.
* tests/build-utils.scm: Add tests.

Co-authored-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2021-01-08 14:10:33 -05:00
Simon Tournier a0f019b81f
ui: Fix order of match clauses.
Fixes <https://bugs.gnu.org/45709>.

This is a follow-up to commit cf289d7cfa.

* guix/ui.scm (run-guix-command): Match for #false first.

Signed-off-by: Ricardo Wurmus <rekado@elephly.net>
2021-01-07 18:10:58 +01:00
Ludovic Courtès 069bb95ab2
upstream: Make the 'updaters' parameter optional.
* guix/upstream.scm (lookup-updater, package-latest-release)
(package-latest-release*, package-update): Make 'updaters' an optional
parameter.
* guix/lint.scm (check-for-updates): Remove second argument to
'package-latest-release*'.
2021-01-07 12:08:41 +01:00
Ludovic Courtès b793718cb4
import: elpa: Updater gracefully handles missing upstream data.
Fixes a crash with:

  guix refresh emacs-exwm-no-x-toolkit

* guix/import/elpa.scm (latest-release): Return #f when
'elpa-package-info' returns #f.
2021-01-07 12:08:40 +01:00
Ricardo Wurmus cf289d7cfa
Discover extensions via GUIX_EXTENSIONS_PATH.
* guix/scripts.scm (%command-categories): Add extension category.
* guix/ui.scm (source-file-command): Also parse extensions files.
(command-files): Accept an optional directory argument.
(extension-directories): New procedure.
(commands): Use it.
(show-guix-help): Hide empty categories.
(run-guix-command): Try loading an extension if there is no matching Guix
command.
2021-01-05 23:58:21 +01:00
Ludovic Courtès 10612d6154
graph: Install JavaScript files.
Until now, 'guix graph --backend=d3js' wouldn't work outside the build
tree.

* d3.v3.js: Move to...
* guix/d3.v3.js: ... here.
* graph.js: Move to...
* guix/graph.js: ... here.
* Makefile.am (nobase_dist_guilemodule_DATA): Add them.
(EXTRA_DIST): Remove them.
* guix/graph.scm (emit-d3js-prologue, emit-d3js-epilogue): Adjust
'search-path' argument accordingly.
* guix/self.scm (compiled-guix)[*extra-modules*]: Pass them via #:extra-files.
2021-01-04 23:54:16 +01:00
Ludovic Courtès fa42774742
ui: It's 2021 now!
* guix/ui.scm (show-version-and-exit): Change year to 2021.
2021-01-04 23:54:16 +01:00
Ludovic Courtès 6c3690fc57
guix system: Add '--graph-backend'.
* guix/scripts/system.scm (lookup-backend): New procedure.
(export-extension-graph, export-shepherd-graph): Add #:backend parameter
and honor it.
(show-help, %options): Add "--graph-backend".
(%default-options): Add 'graph-backend'.
(process-action): Pass #:backend to 'export-extension-graph' and
'export-shepherd-graph'.
* doc/guix.texi (Invoking guix system): Document '--graph-backend'.
2021-01-04 23:54:15 +01:00
guy fleury iteriteka 0aed31be66
environment: Remove unused modules.
* guix/scripts/environment.scm: Do not use (ice-9 format) and (ice-9
rdelim).

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-01-04 11:51:48 +01:00
Ludovic Courtès 9158020d78
substitute: Handle "invalid session" GnuTLS errors on reused connections.
Reported by Christopher Baines <mail@cbaines.net>
at <https://issues.guix.gnu.org/45323#2>.

* guix/scripts/substitute.scm (call-with-cached-connection): Handle
'gnutls-error and ERROR/INVALID-SESSION.
2021-01-04 11:51:48 +01:00
Ludovic Courtès ed63b7f87e
guix hash: Honor '-H' when used alongside '-r'.
* guix/scripts/hash.scm (guix-hash): When 'recursive? is true, use
'open-hash-port' instead of 'open-sha256-port'.
* tests/guix-hash.sh: Add test for 'guix hash -r -H sha512'.
2021-01-04 11:51:48 +01:00
Ricardo Wurmus 51c06d10cf
import/utils: recursive-import: Fix typo.
* guix/import/utils.scm (recursive-import): Fix typo.
2020-12-31 15:52:13 +01:00
Ricardo Wurmus f249af3086
import/elpa: Abort early on failure to fetch meta data.
* guix/import/elpa.scm (elpa->guix-package): Raise condition instead of
returning #FALSE.
* guix/scripts/import/elpa.scm (guix-import-elpa): Handle conditions when
importing recursively.
2020-12-31 15:50:48 +01:00
Zhu Zihao 5f6216d551
build-system/cargo: Use argument "--no-track" in "cargo install".
* guix/build/cargo-build-system(install):
Add argument "--no-track" in "cargo install".
Remove stale hack.

Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
2020-12-31 14:42:15 +02:00
Maxim Cournoyer 7f80cc8102
build-systems/gnu: Add compressor file extension to symbolic links.
Otherwise man and info readers are not able to read their content as they rely
on the file extension to detect if compression is used.

* guix/build/gnu-build-system.scm (compress-documentation)
[retarget-symlink]: Append the compressor file extension to the link file name.
2020-12-29 13:38:54 -05:00
Efraim Flashner 3d395e3d83
utils: Add pkg-config-for-target.
* guix/utils.scm (pkg-config-for-target): New procedure.
2020-12-28 19:04:34 +02:00
Ludovic Courtès e38d90d497
transformations: Add '--with-patch'.
Suggested by Philippe Swartvagher <philippe.swartvagher@inria.fr>.

* guix/transformations.scm (transform-package-patches): New procedure.
(%transformations): Add it as 'with-patch'.
(%transformation-options, show-transformation-options-help/detailed):
Add '--with-patch'.
* tests/transformations.scm ("options->transformation, with-patch"): New
test.
* doc/guix.texi (Package Transformation Options): Document it.
2020-12-27 17:23:40 +01:00
Ricardo Wurmus 5aae614868
import/utils: alist->package: Handle SPDX license names only as fallback.
Fixes <https://bugs.gnu.org/45453>.

* guix/import/utils.scm (alist->package): Find plain license names in (guix
licenses) first, and only fall back to SPDX names on error.
* tests/import-utils.scm ("alist->package with SPDX license name 1/2",
"alist->package with SPDX license name 2/2"): New tests.
2020-12-27 12:06:49 +01:00
Ricardo Wurmus 649786f0cb
import/print: package->code: Fix branching.
* guix/import/print.scm (package->code)<license->code>: Branch on VAR, not on
the SYMBOL-APPEND return value.
2020-12-27 12:04:22 +01:00
Ricardo Wurmus 7549c963c4
guix: Quote list of bootstrap scripts.
This is a follow-up to commit 9cfc93be30.

* guix/build-system/gnu.scm (gnu-build, gnu-cross-build): Quote the list of
default bootstrap scripts.
2020-12-23 21:17:46 +01:00
Ludovic Courtès 7624ebbae3
ssh: Use 'guix repl' instead of 'guile'.
This simplifies setup of build machines: no need to install Guile in
addition to Guix, no need to set 'GUILE_LOAD_PATH' & co., leading to
fewer failure modes.

* guix/ssh.scm (remote-run): New procedure.
(remote-daemon-channel): Use it instead of 'open-remote-pipe*'.
(store-import-channel)[import]: Remove check for module availability.
Add call to 'primitive-exit'.
Use 'remote-run' instead of 'open-remote-pipe'.
(store-export-channel)[export]: Remove check for module availability.
Add calls to 'primitive-exit'.
Use 'remote-run' instead of 'open-remote-pipe'.
(handle-import/export-channel-error): Remove 'module-error' clause.
(report-module-error): Remove.
* guix/scripts/offload.scm (assert-node-has-guix): Replace call to
'report-module-error' by 'leave'.
* doc/guix.texi (Daemon Offload Setup): Remove mention of Guile.
2020-12-23 16:03:32 +01:00
Ludovic Courtès be5a75ebb5
substitute: Reuse connections for '--query'.
This significantly speeds up things like substituting the closure of a
.drv.  This is a followup to 5ff521452b.

* guix/scripts/substitute.scm (http-multiple-get): Add #:open-connection
and #:keep-alive? and honor them.
(open-connection-for-uri/maybe): Use 'open-connection-for-uri/cached'
instead of 'guix:open-connection-for-uri'.  Call 'http-multiple-get'
within 'call-with-cached-connection'.
(open-connection-for-uri/cached): Add #:timeout and #:verify-certificate?
and honor them.
(call-with-cached-connection): Add 'open-connection'  parameter and
honor it.
2020-12-23 16:03:32 +01:00
Ricardo Wurmus 9cfc93be30
build-system/gnu: Allow overriding of bootstrap scripts.
* guix/build-system/gnu.scm (gnu-build, gnu-cross-build): Accept
bootstrap-scripts keyword argument and pass it to gnu-build.
(%bootstrap-scripts): New variable.
* guix/build/gnu-build-system.scm (%bootstrap-scripts): Remove variable.
(bootstrap): Remove default value for bootstrap-scripts argument.
2020-12-23 13:33:24 +01:00
Nicolas Goaziou 5420db323f
import: crate: Change updater name from "crates" to "crate".
* guix/import/crate.scm (%crate-updater): Change name to `crate', so it is on
par with the importer, and the manual.
2020-12-23 10:34:39 +01:00
Nicolas Goaziou 9f813f2505
scripts: Fix typo in crate importer help message.
Fixes <https://issues.guix.gnu.org/45351>.

* guix/scripts/import/crate.scm (show-help): Fix URL.
2020-12-23 10:05:07 +01:00
Ricardo Wurmus 5f5e3873d7
import/cran: Add input style "specification".
* guix/import/cran.scm (%input-style): New parameter.
(format-inputs): Use it.
* guix/scripts/import/cran.scm (guix-import-cran): Set the %input-style
parameter.
 (%options): Add "--style" option.
* doc/guix.texi (Invoking guix import): Document it.
2020-12-22 14:18:34 +01:00
Miguel Ángel Arruga Vivas f00e68ace0
system: Allow separated /boot and encrypted root.
* gnu/bootloader/grub.scm (grub-configuration-file): New parameter
store-crypto-devices.
[crypto-devices]: New helper function.
[builder]: Use crypto-devices.
* gnu/machine/ssh.scm (roll-back-managed-host): Use
boot-parameters-store-crypto-devices to provide its contents to the
bootloader configuration generation process.
* gnu/tests/install.scm (%encrypted-root-not-boot-os,
%encrypted-root-not-boot-os): New os declaration.
(%encrypted-root-not-boot-installation-script): New script, whose contents
were initially taken from %encrypted-root-installation-script.
(%test-encrypted-root-not-boot-os): New test.
* gnu/system.scm (define-module): Export
operating-system-bootoader-crypto-devices and
boot-parameters-store-crypto-devices.
(<boot-parameters>): Add field store-crypto-devices.
(read-boot-parameters): Parse store-crypto-devices field.
[uuid-sexp->uuid]: New helper function extracted from
device-sexp->device.
(operating-system-bootloader-crypto-devices): New function.
(operating-system-bootcfg): Use
operating-system-bootloader-crypto-devices to provide its contents to
the bootloader configuration generation process.
(operating-system-boot-parameters): Add store-crypto-devices to the
generated boot-parameters.
(operating-system-boot-parameters-file): Likewise to the file with
the serialized structure.
* guix/scripts/system.scm (reinstall-bootloader): Use
boot-parameters-store-crypto-devices to provide its contents to the
bootloader configuration generation process.
* tests/boot-parameters.scm (%default-store-crypto-devices): New
variable.
(%grub-boot-parameters, test-read-boot-parameters): Use
%default-store-crypto-devices.
(tests store-crypto-devices): New tests.
2020-12-21 18:41:11 +01:00
Mathieu Othacehe ee94cd265e
scripts: discover: Remove previous cache file.
Partially fixes <https://issues.guix.gnu.org/45302>.

* guix/scripts/discover.scm (guix-discover): Remove previous cache files.
2020-12-20 10:56:45 +01:00
Ludovic Courtès f9978346e7
avahi: Remove poll timeout when possible.
Fixes <https://issues.guix.gnu.org/45314>.

* guix/avahi.scm (avahi-browse-service-thread): Change timeout default value
to false when no "stop-loop?" procedure is passed. Adapt "iterate-simple-poll"
call accordingly.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2020-12-20 10:40:57 +01:00
Ludovic Courtès 4f621a2b00
maint: Require Guile >= 2.2.6.
* configure.ac: For Guile 2.2, require 2.2.6 or later.
* guix/gexp.scm (define-syntax-parameter-once): Remove.
Use 'define-syntax-parameter' instead.
* guix/mnoads.scm: Likewise.
* guix/inferior.scm (proxy)[select*]: Remove.
* guix/scripts/publish.scm <top level>: Remove replacement for (@@ (web
http) read-header-line).
* guix/store/deduplication.scm (counting-wrapper-port): Remove.
(nar-sha256): Call 'port-position' on PORT to compute SIZE.
2020-12-19 23:25:01 +01:00
Ludovic Courtès c7c7f068c1
daemon: Delegate deduplication to 'guix substitute'.
This removes the main source of latency between subsequent downloads.

* nix/libstore/build.cc (SubstitutionGoal::tryToRun): Add a
"deduplicate" key to ENV.
(SubstitutionGoal::finished): Remove call to 'optimisePath'.
* guix/scripts/substitute.scm (process-substitution)[destination-in-store?]
[dump-file/deduplicate*]: New variables.
Pass #:dump-file to 'restore-file'.
* guix/scripts/substitute.scm (guix-substitute)[deduplicate?]: New
variable.
Pass #:deduplicate? to 'process-substitution'.
* guix/serialization.scm (dump-file): Export and augment 'dump-file'.
2020-12-19 23:25:01 +01:00
Ludovic Courtès 9dfa20a22a
daemon: Let 'guix substitute' perform hash checks.
This way, the hash of the store item can be computed as it is restored,
thereby avoiding an additional file tree traversal ('hashPath' call)
later on in the daemon.  Consequently, it should reduce latency between
subsequent substitute downloads.

This is a followup to 5ff521452b.

* guix/scripts/substitute.scm (narinfo-hash-algorithm+value): New
procedure.
(process-substitution): Wrap INPUT into a hash input port, 'hashed', and
read from it.  Compare the actual and expected hashes, and print a
"hash-mismatch" status line when they differ.  When they match, print
not just "success" but also the nar hash and size.
* nix/libstore/build.cc (class SubstitutionGoal)[expectedHashStr]:
Remove.
(SubstitutionGoal::finished): Tokenize 'status'.  Parse it and handle
"success" and "hash-mismatch" accordingly.  Call 'hashPath' only when
the returned hash is not SHA256.
(SubstitutionGoal::handleChildOutput): Remove 'expectedHashStr'
handling.
* tests/substitute.scm ("substitute, invalid hash"): Rename to...
("substitute, invalid narinfo hash"): ... this.
("substitute, invalid hash"): New test.
2020-12-19 23:25:00 +01:00
Ludovic Courtès d613c1771a
status: Do not emit ANSI escapes when stderr is not a tty.
Fixes <https://bugs.gnu.org/44985>.
Reported by Simon Josefsson <simon@josefsson.org>.

* guix/progress.scm (display-download-progress): Add #:tty? and honor it.
* guix/status.scm (print-build-event): Pass #:tty? to
'display-download-progress'.
2020-12-18 16:13:39 +01:00
Carlo Zancanaro b129b43475
import: elpa: Support working with MELPA.
* guix/import/elpa.scm (default-files-spec): New variable.
(download-git-repository, package-name->melpa-recipe, file-hash, vcs-file?,
git-repository->origin, melpa-recipe->origin, melpa-recipe->maybe-arguments):
New procedures.
(elpa-package->sexp): Add optional repo argument, and use it to determine
whether to attempt to construct a source using the MELPA recipe.
(elpa->guix-package): Pass repo to elpa-package->sexp.

Signed-off-by: Christopher Baines <mail@cbaines.net>
2020-12-18 12:37:26 +00:00
Lars-Dominik Braun f14bb29def
import: cran: Use CRAN’s canonical URL as home-page.
* guix/import/cran.scm (%cran-canonical-url): New variable.
(description->package): Construct home-page using canonical URL.

Signed-off-by: Christopher Baines <mail@cbaines.net>
2020-12-15 22:34:30 +00:00
Ludovic Courtès 7530e491b5
deduplicate: Create the '.links' directory lazily.
This avoids repeated (mkdir-p "/gnu/store/.links") calls when
deduplicating lots of files.

* guix/store/deduplication.scm (deduplicate): Remove initial call to
'mkdir-p'.  Add ENOENT case in 'link' exception handler.  Reindent.
* tests/store-deduplication.scm ("deduplicate, ENOSPC"): Check
for (<= links 4) to account for the initial 'link' call.
2020-12-15 17:32:12 +01:00
Ludovic Courtès 9e6fe0e08f
database: Honor 'SOURCE_DATE_EPOCH'.
* guix/store/database.scm (timestamp): New procedure.
(sqlite-register): Use it as the default for #:time.
(register-items): Likewise for #:registeration-time.
2020-12-15 17:32:11 +01:00
Ludovic Courtès 3169c93903
database: Remove 'register-path'.
* guix/store/database.scm (register-path): Remove.
* tests/store-database.scm ("register-path"): Rename to...
("register-items"): ... this, and use 'register-items' instead of
'register-path'.
("register-path, directory"): Rename to...
("register-items, directory"): ... this, and use 'register-items'
instead of 'register-path'.
("register-path with unregistered references"): Rename to...
("sqlite-register with unregistered references"): ... this.
2020-12-15 17:32:11 +01:00
Ludovic Courtès 1574bd82bb
system: 'init' does not recompute the hash of each store item.
Fixes <https://bugs.gnu.org/44760>.

Previously, the 'register-path' call would re-traverse ITEM to compute
its nar hash, even though that hash is already known in the initial
store.  This patch also avoids repeated opening/closing of the
database.

* guix/store/database.scm (call-with-database): Export.
* guix/scripts/system.scm (copy-item): Add 'db' parameter.  Call
'sqlite-register' instead of 'register-path'.
(copy-closure): Remove redundant call to 'references*'.  Call
'call-with-database' and pass the database to 'copy-item'.
2020-12-15 17:32:11 +01:00
Ludovic Courtès 0682cc5936
database: Remove #:deduplicate? and #:reset-timestamps? from 'register-path'.
* guix/store/database.scm (register-path): Remove #:deduplicate?
and #:reset-timestamps?.
* guix/scripts/system.scm (copy-item): Adjust accordingly.
* tests/store-database.scm ("register-path")
("register-path, directory"): Call 'reset-timestamps'.
2020-12-15 17:32:11 +01:00
Ludovic Courtès cd6c5ddfc8
guix system: 'init' copies, resets timestamps, and deduplicates at once.
Partly fixes <https://bugs.gnu.org/44760>.

* guix/build/store-copy.scm (copy-store-item): New procedure.
(populate-store): Use it instead of the inline 'copy-recursively' call.
* guix/scripts/system.scm (copy-item): Likewise.
Pass #:reset-timestamps? and #:deduplicate? to 'register-path'.
2020-12-15 17:32:11 +01:00
Ludovic Courtès 0793833c59
database: Remove #:deduplicate? from 'register-items'.
It is now up to the caller to deduplicate store contents.

* guix/store/database.scm (register-items): Remove #:deduplicate?
parameter and call to 'deduplicate'.
(register-path): Call 'deduplicate' when #:deduplicate? is true.
* gnu/build/image.scm (register-closure): Adjust call accordingly.
* gnu/build/vm.scm (register-closure): Likewise.
* guix/nar.scm (finalize-store-file): Likewise.
* guix/scripts/pack.scm (store-database): Likewise.
2020-12-15 17:32:11 +01:00
Ludovic Courtès 6a060ff27f
store-copy: 'populate-store' can optionally deduplicate files.
Until now deduplication was performed as an additional pass after
copying files, which involve re-traversing all the files that had just
been copied.

* guix/store/deduplication.scm (copy-file/deduplicate): New procedure.
* tests/store-deduplication.scm ("copy-file/deduplicate"): New test.
* guix/build/store-copy.scm (populate-store): Add #:deduplicate?
parameter and honor it.
* tests/gexp.scm ("gexp->derivation, store copy"): Pass #:deduplicate? #f
to 'populate-store'.
* gnu/build/image.scm (initialize-root-partition): Pass #:deduplicate?
to 'populate-store'.  Pass #:deduplicate? #f to 'register-closure'.
* gnu/build/vm.scm (root-partition-initializer): Likewise.
* gnu/build/install.scm (populate-single-profile-directory): Pass
 #:deduplicate? #f to 'populate-store'.
* gnu/build/linux-initrd.scm (build-initrd): Likewise.
* guix/scripts/pack.scm (self-contained-tarball)[import-module?]: New
procedure.
[build]: Pass it as an argument to 'source-module-closure'.
* guix/scripts/pack.scm (squashfs-image)[build]: Wrap in
'with-extensions'.
* gnu/system/linux-initrd.scm (expression->initrd)[import-module?]: New
procedure.
[builder]: Pass it to 'source-module-closure'.
* gnu/system/install.scm (cow-store-service-type)[import-module?]: New
procedure.  Pass it to 'source-module-closure'.
2020-12-15 17:32:10 +01:00