Commit graph

70868 commits

Author SHA1 Message Date
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
2aa512ec28
image: 'register-closure' leaves it up to the caller to deduplicate.
* 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.
2020-12-15 17:32:10 +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
Ludovic Courtès
dea1ee1fd7
database: Remove #:reset-timestamps? from 'register-items'.
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.
2020-12-15 17:32:10 +01:00
Ludovic Courtès
0f15fd5c12
image: 'register-closure' assumes already-reset timestamps.
* 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.
2020-12-15 17:32:10 +01:00
Ludovic Courtès
7b8d239ec2
store-copy: 'populate-store' resets timestamps.
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.
2020-12-15 17:32:10 +01:00
Ludovic Courtès
2718c29c3f
nar: Deduplicate files right as they are restored.
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".
2020-12-15 17:32:09 +01:00
Ludovic Courtès
ed7d02f7c1
serialization: 'restore-file' sets canonical timestamp and permissions.
* 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".
2020-12-15 17:32:09 +01:00
Ludovic Courtès
465d2cb286
serialization: 'fold-archive' notifies about directory processing completion.
* 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.
2020-12-15 17:32:09 +01:00
Ludovic Courtès
7a2897149d
Revert "gnu: grub: Fix unicode font loading when booting over TFTP."
This reverts commit 03fb57ff77, 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
2020-12-15 17:32:09 +01:00
divoplade
190187326a
gnu: Add ocaml-reactivedata.
* gnu/packages/ocaml.scm (ocaml-reactivedata): Add ocaml-reactivedata.

Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2020-12-15 15:46:01 +01:00
Michael Rohleder
1962c6b286
gnu: maven-wagon-http: Disable a failing test.
* gnu/packages/maven.scm (maven-wagon-http)[arguments]: Add
HugeFileDownloadTest to excluded tests.

Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2020-12-15 15:06:51 +01:00
Julien Lepiller
954e4cf6a4
offload: Print warning in context.
* guix/scripts/offload.scm (build-machine): Add `location` field.
(build-machine-system): Print location with warning.
2020-12-15 15:04:06 +01:00
Efraim Flashner
8c0751505b
gnu: iproute: Fix cross compiling.
* 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.
2020-12-15 12:28:36 +02:00
Efraim Flashner
7d9d474dd2
gnu: Add rust-ndarray-0.12.
* 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.
2020-12-15 10:57:37 +02:00
Efraim Flashner
f18f86c981
gnu: rust-cblas-sys-0.1: Don't skip build.
* gnu/packages/crates-io.scm (rust-cblas-sys-0.1)[arguments]: Don't skip
build.
2020-12-15 10:57:37 +02:00
Efraim Flashner
d07d68b087
gnu: Add rust-handlegraph-0.3.
* gnu/packages/crates-io.scm (rust-handlegraph-0.3): New variable.
2020-12-15 10:57:36 +02:00
Ryan Prior
980013c503
gnu: esbuild: Update to 0.8.23.
* gnu/packages/web.scm (esbuild): Update to 0.8.23.

Signed-off-by: Leo Famulari <leo@famulari.name>
2020-12-15 03:09:26 -05:00
Leo Famulari
c33df8ab95
gnu: ffmpeg-2.8: Remove extraneous inputs.
These inputs are not used by FFmpeg 2.

* gnu/packages/video.scm (ffmpeg-2.8)[inputs]: Remove dav1d, libaom,
rav1e, and srt.
2020-12-15 03:01:28 -05:00
Leo Prikler
54d8326806
gnu: ffmpeg-4.2: Remove extraneous input rav1e.
* gnu/packages/video.scm (ffmpeg-4.2)[inputs]: Remove rav1e.

Signed-off-by: Leo Famulari <leo@famulari.name>
2020-12-15 03:01:25 -05:00
Giacomo Leidi
e779dc8be0
gnu: Add python-sanic.
* gnu/packages/python-web.scm (python-sanic): New variable.

Signed-off-by: Leo Famulari <leo@famulari.name>
2020-12-15 01:55:38 -05:00
Giacomo Leidi
7ae4571684
gnu: Add python-pytest-sanic.
* gnu/packages/python-check.scm (python-pytest-sanic): New variable.

Signed-off-by: Leo Famulari <leo@famulari.name>
2020-12-15 01:55:38 -05:00
Giacomo Leidi
6655b975a0
gnu: Add python-pywatchman.
* gnu/packages/python-xyz.scm (python-pywatchman): New variable.

Signed-off-by: Leo Famulari <leo@famulari.name>
2020-12-15 01:55:38 -05:00
Giacomo Leidi
cfdad650b9
gnu: Add python-dataclasses.
* gnu/packages/python-xyz.scm (python-dataclasses): New variable.

Signed-off-by: Leo Famulari <leo@famulari.name>
2020-12-15 01:55:38 -05:00
Giacomo Leidi
83ade5bfb5
gnu: Add python-nbsphinx.
* gnu/packages/sphinx.scm (python-nbsphinx): New variable.

Signed-off-by: Leo Famulari <leo@famulari.name>
2020-12-15 01:55:38 -05:00
Giacomo Leidi
f5de08ffab
gnu: Add python-pyre-extensions.
* gnu/packages/python-xyz.scm (python-pyre-extensions): New variable.

Signed-off-by: Leo Famulari <leo@famulari.name>
2020-12-15 01:55:37 -05:00
Giacomo Leidi
0386f3a69e
gnu: Add python-hstspreload.
* gnu/packages/python-web.scm (python-hstspreload): New variable.

Signed-off-by: Leo Famulari <leo@famulari.name>
2020-12-15 01:55:37 -05:00
Giacomo Leidi
56cfef4766
gnu: Add python-aiofiles.
* gnu/packages/python-xyz.scm (python-aiofiles): New variable.

Signed-off-by: Leo Famulari <leo@famulari.name>
2020-12-15 01:55:37 -05:00
Giacomo Leidi
8071877fa7
gnu: Add python-contextvars.
* gnu/packages/python-xyz.scm (python-contextvars): New variable.

Signed-off-by: Leo Famulari <leo@famulari.name>
2020-12-15 01:55:37 -05:00
Robert Smith
338592020a
gnu: Add kanshi.
* gnu/packages/wm.scm (kanshi): New variable.

Signed-off-by: Leo Famulari <leo@famulari.name>
2020-12-15 01:13:55 -05:00
Aniket Patil
1c6789464a
gnu: Add r-lpme.
* gnu/packages/cran.scm (r-lpme): New variable.

Signed-off-by: Leo Famulari <leo@famulari.name>
2020-12-15 00:33:35 -05:00
Aniket Patil
6b5c04034d
gnu: Add r-locpol.
* gnu/packages/cran.scm (r-locpol): New variable.

Signed-off-by: Leo Famulari <leo@famulari.name>
2020-12-15 00:33:35 -05:00
Aniket Patil
795f654b2a
gnu: Add r-decon.
* gnu/packages/cran.scm (r-decon): New variable.

Signed-off-by: Leo Famulari <leo@famulari.name>
2020-12-15 00:33:24 -05:00
Brett Gilio
bd740f77ff
gnu: emacs-transmission: Update to 0.12.2.
* gnu/packages/emacs-xyz.scm (emacs-transmission): Update to 0.12.2.
2020-12-14 18:21:15 -06:00
Stefan
03fb57ff77
gnu: grub: Fix unicode font loading when booting over TFTP.
* gnu/bootloader/grub.scm (eye-candy)(font-file): Fix unicode font loading
when booting over TFTP.

Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
2020-12-14 23:33:22 +01:00
Tobias Geerinckx-Rice
48cccf06ad
doc: Note different texlive-tiny & texline-union natures.
* doc/contributing.texi (Submitting Patches): Add ‘package’ and
‘procedure’.

Inspired-by: Jorge P. de Morais Neto
2020-12-14 19:11:03 +01:00
Nicolas Goaziou
db785b7497
gnu: kitty: Re-order inputs and native-inputs alphabetically.
* gnu/packages/terminals.scm (kitty)[inputs, native-inputs]: Re-order
alphabetically.
2020-12-14 18:55:53 +01:00
Nicolas Goaziou
153b279e7b
gnu: kitty: Update to 0.19.2.
* 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.
2020-12-14 18:53:15 +01:00
Leo Famulari
80ebcdd100
maint: Only run make authenticate when pushing commits.
* etc/git/pre-push: Exit early when deleting a branch.
2020-12-14 12:15:06 -05:00
Nicolas Goaziou
3ef808bbeb
gnu: emacs-org-contrib: Update to 20201213.
* gnu/packages/emacs-xyz.scm (emacs-org-contrib): Update to 20201213.
2020-12-14 16:40:47 +01:00
Nicolas Goaziou
8f351e3a90
gnu: emacs-org: Update to 9.4.2.
* gnu/packages/emacs-xyz.scm (emacs-org): Update to 9.4.2.
2020-12-14 16:40:34 +01:00
Nicolas Goaziou
76d59abea3
gnu: emacs-ivy-posframe: Update to 0.5.4.
* gnu/packages/emacs-xyz.scm (emacs-ivy-posframe): Update to 0.5.4.
2020-12-14 16:33:00 +01:00
Efraim Flashner
f6afc63dc1
gnu: pies: Update to 1.5.
* gnu/packages/admin.scm (pies): Update to 1.5.
2020-12-14 16:00:26 +02:00
Zhu Zihao
20a964149c
gnu: ecl: Remove build-stamp to improve reproducibility.
* 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>
2020-12-14 14:27:55 +01:00
Zhu Zihao
e3f538969e
gnu: ecl: Return #t in wrap phase.
* gnu/packages/lisp.scm (ecl)[arguments]<phases>: In phase "wrap", return #t.

Signed-off-by: Guillaume Le Vaillant <glv@posteo.net>
2020-12-14 14:26:43 +01:00
Pierre Neidhardt
4427f36a36
gnu: emacs-helm-switch-to-repl: Update to 0.1.1.
* gnu/packages/emacs-xyz.scm (emacs-helm-switch-to-repl): Update to 0.1.1.
2020-12-14 13:18:34 +01:00
Kyle Meyer
5cac753d88
gnu: b4: Update to 0.6.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>
2020-12-14 12:20:09 +01:00
Kyle Meyer
7a8a4fd7a7
gnu: python-dnspython: Update to 2.0.0.
* gnu/packages/python-xyz.scm (python-dnspython): Update to 2.0.0.
[source]: Download from pypi.
[native-inputs]: Add unzip.
[home-page]: Prefer https.
(python-dnspython-1.16):
(python2-dnspython-1.16): New variables.
* gnu/packages/ebook.scm (calibre):
* gnu/packages/web.scm (linkchecker): Use python2-dnspython-1.16.
* gnu/packages/finance.scm (electrum): Use python-dnspython-1.16.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2020-12-14 12:20:06 +01:00
Kyle Meyer
bff6e01afe
gnu: python-dnspython: Fix indentation.
* gnu/packages/python-xyz.scm (python-dnspython): Fix indentation.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2020-12-14 12:19:56 +01:00
Ludovic Courtès
f06f569aa2
doc: Link to "Pattern Matching" in Guile.
* doc/contributing.texi (Data Types and Pattern Matching): Link to the
"Pattern Matching" node of the Guile manual.
2020-12-14 12:19:05 +01:00