Age | Commit message (Collapse) | Author |
|
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'.
|
|
* 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'.
|
|
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'.
|
|
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.
|
|
* gnu/build/image.scm (register-closure): Remove #:deduplicate?
parameter and pass #:deduplicate? #f to 'register-items'.
(initialize-root-partition): Adjust accordingly.
* gnu/build/vm.scm (register-closure, root-partition-initializer):
Likewise.
|
|
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'.
|
|
The assumption now is that the caller took care of resetting timestamps
and permissions.
* guix/store/database.scm (register-items): Remove #:reset-timestamps?
parameter and the call to 'reset-timestamps'.
(register-path): Adjust accordingly and add call to 'reset-timestamps'.
* gnu/build/image.scm (register-closure): Remove #:reset-timestamps?
parameter to 'register-items'.
* gnu/build/vm.scm (register-closure): Likewise.
* guix/nar.scm (finalize-store-file): Adjust accordingly.
* guix/scripts/pack.scm (store-database)[build]: Likewise.
|
|
* gnu/build/image.scm (register-closure): Remove #:reset-timestamps?
parameter. Pass #:reset-timestamps? #f to 'register-items'.
(initialize-root-partition): Adjust accordingly.
* gnu/build/vm.scm (register-closure, root-partition-initializer):
Likewise.
|
|
Until now, 'populate-store' would reset permissions but not timestamps,
so callers would resort to going through an extra directory traversal to
reset timestamps.
* guix/build/store-copy.scm (reset-permissions): Remove.
(copy-recursively): New procedure.
(populate-store): Pass #:keep-permissions? to 'copy-recursively'.
Remove call to 'reset-permissions'.
* tests/gexp.scm ("gexp->derivation, store copy"): In BUILD-DRV, check
whether 'populate-store' canonicalizes permissions and timestamps.
* gnu/build/image.scm (initialize-root-partition): Pass #:reset-timestamps? #f
to 'register-closure'.
* gnu/build/vm.scm (root-partition-initializer): Likewise.
|
|
This avoids having to traverse and re-read the files that we have just
restored, thereby reducing I/O.
* guix/serialization.scm (dump-file): New procedure.
(restore-file): Add #:dump-file parameter and honor it.
* guix/store/deduplication.scm (tee, dump-file/deduplicate): New
procedures.
* guix/nar.scm (restore-one-item): Pass #:dump-file to 'restore-file'.
(finalize-store-file): Pass #:deduplicate? #f to 'register-items'.
* tests/nar.scm <top level>: Call 'setenv' to set "NIX_STORE".
|
|
* guix/serialization.scm (restore-file): Set the permissions and mtime
of FILE.
* guix/nar.scm (finalize-store-file): Pass #:reset-timestamps? #f to
'register-items'.
* tests/nar.scm (rm-rf): Add 'chmod' calls to ensure files are writable.
("write-file + restore-file with symlinks"): Ensure every file in OUTPUT
passes 'canonical-file?'.
* tests/guix-archive.sh: Run "chmod -R +w" before "rm -rf".
|
|
* guix/serialization.scm (fold-archive): Call PROC with a
'directory-complete tag when done with a directory.
(restore-file): Handle it.
* guix/scripts/archive.scm (list-contents): Likewise.
* guix/scripts/challenge.scm (archive-contents): Likewise.
* tests/nar.scm ("write-file-tree + fold-archive"): Adjust accordingly.
|
|
This reverts commit 03fb57ff77b57de510b59485845ed7cb4e0a77a7, which
breaks most system tests. Specifically, grub.cfg.drv fails to build:
ERROR: In procedure canonicalize-path:
In procedure canonicalize-path: No such file or directory
|
|
* gnu/packages/ocaml.scm (ocaml-reactivedata): Add ocaml-reactivedata.
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
|
|
* gnu/packages/maven.scm (maven-wagon-http)[arguments]: Add
HugeFileDownloadTest to excluded tests.
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
|
|
* guix/scripts/offload.scm (build-machine): Add `location` field.
(build-machine-system): Print location with warning.
|
|
* gnu/packages/linux.scm (iproute)[arguments]: Set CC and HOSTCC in
make-flags. Add custom phase to replace the value for PKG_CONFIG in
hand-written configure script.
|
|
* gnu/packages/crates-io.scm (rust-ndarray-0.12): New variable.
* gnu/packages/patches/rust-ndarray-remove-blas-src-dep.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
|
|
* gnu/packages/crates-io.scm (rust-cblas-sys-0.1)[arguments]: Don't skip
build.
|
|
* gnu/packages/crates-io.scm (rust-handlegraph-0.3): New variable.
|
|
* gnu/packages/web.scm (esbuild): Update to 0.8.23.
Signed-off-by: Leo Famulari <leo@famulari.name>
|
|
These inputs are not used by FFmpeg 2.
* gnu/packages/video.scm (ffmpeg-2.8)[inputs]: Remove dav1d, libaom,
rav1e, and srt.
|
|
* gnu/packages/video.scm (ffmpeg-4.2)[inputs]: Remove rav1e.
Signed-off-by: Leo Famulari <leo@famulari.name>
|
|
* gnu/packages/python-web.scm (python-sanic): New variable.
Signed-off-by: Leo Famulari <leo@famulari.name>
|
|
* gnu/packages/python-check.scm (python-pytest-sanic): New variable.
Signed-off-by: Leo Famulari <leo@famulari.name>
|
|
* gnu/packages/python-xyz.scm (python-pywatchman): New variable.
Signed-off-by: Leo Famulari <leo@famulari.name>
|
|
* gnu/packages/python-xyz.scm (python-dataclasses): New variable.
Signed-off-by: Leo Famulari <leo@famulari.name>
|
|
* gnu/packages/sphinx.scm (python-nbsphinx): New variable.
Signed-off-by: Leo Famulari <leo@famulari.name>
|
|
* gnu/packages/python-xyz.scm (python-pyre-extensions): New variable.
Signed-off-by: Leo Famulari <leo@famulari.name>
|
|
* gnu/packages/python-web.scm (python-hstspreload): New variable.
Signed-off-by: Leo Famulari <leo@famulari.name>
|
|
* gnu/packages/python-xyz.scm (python-aiofiles): New variable.
Signed-off-by: Leo Famulari <leo@famulari.name>
|
|
* gnu/packages/python-xyz.scm (python-contextvars): New variable.
Signed-off-by: Leo Famulari <leo@famulari.name>
|
|
* gnu/packages/wm.scm (kanshi): New variable.
Signed-off-by: Leo Famulari <leo@famulari.name>
|
|
* gnu/packages/cran.scm (r-lpme): New variable.
Signed-off-by: Leo Famulari <leo@famulari.name>
|
|
* gnu/packages/cran.scm (r-locpol): New variable.
Signed-off-by: Leo Famulari <leo@famulari.name>
|
|
* gnu/packages/cran.scm (r-decon): New variable.
Signed-off-by: Leo Famulari <leo@famulari.name>
|
|
* gnu/packages/emacs-xyz.scm (emacs-transmission): Update to 0.12.2.
|
|
* gnu/bootloader/grub.scm (eye-candy)(font-file): Fix unicode font loading
when booting over TFTP.
Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
|
|
* doc/contributing.texi (Submitting Patches): Add ‘package’ and
‘procedure’.
Inspired-by: Jorge P. de Morais Neto
|
|
* gnu/packages/terminals.scm (kitty)[inputs, native-inputs]: Re-order
alphabetically.
|
|
* gnu/packages/terminals.scm (kitty): Update to 0.19.2.
[inputs]: Add lcms. Switch to python-wrapper.
[arguments]: Merge hard-code-libegl phase in build phase. Change build
command. Disable checking for updates. Fix error in tests.
|
|
* etc/git/pre-push: Exit early when deleting a branch.
|
|
* gnu/packages/emacs-xyz.scm (emacs-org-contrib): Update to 20201213.
|
|
* gnu/packages/emacs-xyz.scm (emacs-org): Update to 9.4.2.
|
|
* gnu/packages/emacs-xyz.scm (emacs-ivy-posframe): Update to 0.5.4.
|
|
* gnu/packages/admin.scm (pies): Update to 1.5.
|
|
* gnu/packages/lisp.scm (ecl)[arguments]<phases>: Add "remove-build-stamp"
phase. Move "wrap" phase after "remove-build-stamp" phase.
Signed-off-by: Guillaume Le Vaillant <glv@posteo.net>
|
|
* gnu/packages/lisp.scm (ecl)[arguments]<phases>: In phase "wrap", return #t.
Signed-off-by: Guillaume Le Vaillant <glv@posteo.net>
|
|
* gnu/packages/emacs-xyz.scm (emacs-helm-switch-to-repl): Update to 0.1.1.
|
|
* gnu/packages/version-control.scm (b4): Update to 0.6.1.
[source]: Download from pypi, which now includes the manpage.
[arguments]: Remove now unnecessary install-manpages phase.
[inputs]: Add python-dkimpy and python-dnspython.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
|