Commit graph

71029 commits

Author SHA1 Message Date
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
3c799ccb98
tests: Make sure substituted items are deduplicated.
* tests/store.scm ("substitute, deduplication"): New test.
2020-12-19 23:25:01 +01:00
Ludovic Courtès
15cf28fbb4
daemon: Do not reset timestamps and permissions on substituted items.
'guix substitute' now takes care of it via 'restore-file'.

* nix/libstore/build.cc (SubstitutionGoal::finished): Remove call to
'canonicalisePathMetaData'.
2020-12-19 23:25:01 +01:00
Ludovic Courtès
77a1efed9e
tests: Check the mtime and permissions of substituted items.
* tests/store.scm ("substitute")
("substitute + build-things with output path")
("substitute + build-things with specific output"): Call 'canonical-file?'.
* tests/substitute.scm ("substitute, authorized key"): Check the mtime
and permissions of "substitute-retrieved".
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
6d955f1731
tests: Check the build trace for hash mismatches on substitutes.
* tests/store.scm ("substitute, corrupt output hash, build trace"): New
test.
2020-12-19 23:25:00 +01:00
Marius Bakke
f6f6e1efee
gnu: serf: Build with Python 3.
* gnu/packages/patches/serf-python3.patch: New file.
* gnu/local.mk (dist_patch_DATA): Adjust accordingly.
* gnu/packages/web.scm (serf)[source](patches): New field.
[arguments]: Remove #:scons.
2020-12-19 22:53:00 +01:00
Marius Bakke
ae7033ff5f
gnu: python-scipy-documentation: Add a file name for 'scipy-sphinx-theme'.
* gnu/packages/python-xyz.scm (python-numpy-documentation)[native-inputs]:
Add a file name for the "scipy-sphinx-time" input.
2020-12-19 22:53:00 +01:00
Marius Bakke
3e83e8f431
gnu: perl-pod-simple: Update to 3.42.
* gnu/packages/perl.scm (perl-pod-simple): Update to 3.42.
2020-12-19 22:53:00 +01:00
Marius Bakke
4c4d1f6952
gnu: llvm: Update download URI.
New and old releases are now only available on GitHub.

* gnu/packages/llvm.scm (llvm-uri): Remove "releases.llvm.org".
2020-12-19 22:53:00 +01:00
Marius Bakke
ce7b18837c
gnu: perl-json-maybexs: Update to 1.004003.
* gnu/packages/perl.scm (perl-json-maybexs): Update to 1.004003.
[native-inputs]: Remove PERL-TEST-WITHOUT-MODULE.  Add PERL-TEST-NEEDS.
2020-12-19 22:52:59 +01:00
Marius Bakke
4f9fa274d4
gnu: perl-cpanel-json-xs: Update to 4.25.
* gnu/packages/perl.scm (perl-cpanel-json-xs): Update to 4.25.
2020-12-19 22:52:59 +01:00
Marius Bakke
f899532302
gnu: perl-common-sense: Update to 3.75.
* gnu/packages/perl.scm (perl-common-sense): Update to 3.75.
2020-12-19 22:52:59 +01:00
Marius Bakke
20d35eac53
gnu: ltrace: Build with elfutils instead of libelf.
* gnu/packages/linux.scm (ltrace)[inputs]: Change from LIBELF to ELFUTILS.
2020-12-19 22:52:59 +01:00
Leo Famulari
66b5bc3191
gnu: linux-libre: Update to 5.10.1.
* gnu/packages/aux-files/linux-libre/5.10-arm.conf,
gnu/packages/aux-files/linux-libre/5.10-arm64.conf,
gnu/packages/aux-files/linux-libre/5.10-i686.conf,
gnu/packages/aux-files/linux-libre/5.10-x86_64.conf: New files.
* Makefile.am (AUX_FILES): Add them.
* gnu/packages/linux.scm (linux-libre-5.10-version, deblob-scripts-5.10,
linux-libre-5.10-pristine-source, linux-libre-5.10-source,
linux-libre-headers-5.10, linux-libre-5.10): New variables.
(linux-libre-version, linux-libre-pristine-source, linux-libre-source,
linux-libre, linux-libre-with-bpf): Update to 5.10.1.
2020-12-19 16:06:09 -05:00
Sharlatan Hellseher
10c06966af
gnu: Add cl-qmynd.
* gnu/packages/lisp-xyz.scm (cl-qmynd, ecl-qmynd, sbcl-qmynd): New variables.

Signed-off-by: Guillaume Le Vaillant <glv@posteo.net>
2020-12-19 19:01:29 +01:00
Guillaume Le Vaillant
b8d4568b11
gnu: sbcl-nibbles: Update to 0.14-1.8e6b9b4.
* gnu/packages/lisp-xyz.scm (sbcl-nibbles): Update to 0.14-1.8e6b9b4.
2020-12-19 18:40:29 +01:00
Guillaume Le Vaillant
bfe2f67e91
gnu: sbcl-lzlib: Update to 1.1-2.cad10f5.
* gnu/packages/lisp-xyz.scm (sbcl-lzlib): Update to 1.1-2.cad10f5.
2020-12-19 18:29:13 +01:00
Guillaume Le Vaillant
dd4dff0cb2
gnu: sbcl-cl-octet-streams: Update to 1.2.
* gnu/packages/lisp-xyz.scm (sbcl-cl-octet-streams): Update to 1.2.
2020-12-19 18:27:11 +01:00
Nicolas Goaziou
1e4785452c
gnu: freedroid: Use HTTPS home page URI.
* gnu/packages/games.scm (freedroid)[home-page]: Use HTTPS URI.
2020-12-19 16:06:18 +01:00
Nicolas Goaziou
ef7eaeedc0
gnu: fpc: Use HTTPS home page URI.
* gnu/packages/pascal.scm (fpc)[home-page]: Use HTTPS URI.
2020-12-19 16:06:03 +01:00
Nicolas Goaziou
b27013d20f
gnu: babl: Use HTTPS home page URI.
* gnu/packages/gimp.scm (babl)[home-page]: Use HTTPS URI.
2020-12-19 16:00:38 +01:00
Nicolas Goaziou
2f4dcff4c2
gnu: arb: Use HTTPS home page URI.
* gnu/packages/algebra.scm (arb)[home-page]: Use HTTPS URI.  Move above
synopsis.
2020-12-19 15:58:01 +01:00
Nicolas Goaziou
ff0725f626
gnu: java-antlr4-runtime: Update home page.
* gnu/packages/java.scm (java-antlr4-runtime)[home-page]: Update it.
2020-12-19 15:54:36 +01:00
Pierre Neidhardt
13d532a911
gnu: emacs-helm-selector: Update to 0.4.
* gnu/packages/emacs-xyz.scm (emacs-helm-selector): Update to 0.4.
2020-12-19 12:30:38 +01:00
Tobias Geerinckx-Rice
69b98261e7
gnu: dehydrated: Update to 0.7.0.
* gnu/packages/tls.scm (dehydrated): Update to 0.7.0.
2020-12-19 00:00:06 +01:00
Tobias Geerinckx-Rice
1b66116d13
gnu: kexec-tools: Update to 2.0.21.
* gnu/packages/linux.scm (kexec-tools): Update to 2.0.21.
2020-12-18 22:39:23 +01:00
Tobias Geerinckx-Rice
62fb0680a2
gnu: facter: Update to 4.0.47.
* gnu/packages/admin.scm (facter): Update to 4.0.47.
2020-12-18 22:39:23 +01:00
Tobias Geerinckx-Rice
48effda536
gnu: rgbds: Update to 0.4.2.
* gnu/packages/assembly.scm (rgbds): Update to 0.4.2.
2020-12-18 22:39:23 +01:00
Tobias Geerinckx-Rice
81641a9ce1
gnu: ethtool: Update to 5.10.
* gnu/packages/networking.scm (ethtool): Update to 5.10.
2020-12-18 22:39:22 +01:00
Tobias Geerinckx-Rice
af2fd7f332
gnu: radeontop: Update to 1.3.
* gnu/packages/linux.scm (radeontop): Update to 1.3.
2020-12-18 22:39:22 +01:00
Tobias Geerinckx-Rice
faa736b87d
gnu: xarchiver: Update to 0.5.4.16.
* gnu/packages/compression.scm (xarchiver): Update to 0.5.4.16.
2020-12-18 22:39:22 +01:00
Tobias Geerinckx-Rice
9c4910c5e8
gnu: simple-scan: Update to 3.38.2.
* gnu/packages/gnome.scm (simple-scan): Update to 3.38.2.
2020-12-18 22:39:22 +01:00
Tobias Geerinckx-Rice
04b0636e25
gnu: inxi-minimal: Update to 3.2.01-1.
* gnu/packages/admin.scm (inxi-minimal): Update to 3.2.01-1.
[inputs]: Add lvm2 and mdadm.
2020-12-18 22:39:22 +01:00
Adam Kandur
5f9bfe9beb
gnu: emacs-docker-compose-mode: Add missing input.
* gnu/packages/emacs-xyz.scm (emacs-docker-compose-mode)[propagated-inputs]:
Add emacs-yaml-mode.

Signed-off-by: Nicolas Goaziou <mail@nicolasgoaziou.fr>
2020-12-18 22:22:14 +01:00
Nicolas Goaziou
c4313660b3
gnu: emacs-graphql-mode: Fix version.
* gnu/packages/emacs-xyz.scm (emacs-graphql-mode)[version]: Use monotonic
numbering.
2020-12-18 22:19:19 +01:00
Nicolas Goaziou
454fc1ad85
gnu: emacs-eglot: Update to 1.7.
* gnu/packages/emacs-xyz.scm (emacs-eglot): Update to 1.7.
2020-12-18 22:09:20 +01:00
Hartmut Goebel
66016b1ae0
gnu: kdenlive: Add breeze-icons.
Since breeze-icons are now longer united into breeze, these need to be
explicitly added.

* gnu/package/kde.scm (kdenlive)[inputs]: Add breeze-icons.
  [argmuments]{phases}<wrap-executable>: Add breeze-icons to XDG_DATA_DIRS.
2020-12-18 19:17:11 +01:00
Hartmut Goebel
d3f1ef380c
gnu: breeze: Split from breeze-icons.
KDE breeze is separate from breeze-icons, as it can bee seen by
version, download path and git repository path being all different.
Thus a package containing both beeze and the breeze-icons contradicts
with this upstream separation.

* gnu/package/kde.scm (breeze-assets): Remove variable. (breeze): Move to ...
* gnu/package/kde-plasme.scm (breeze): here.
  [version, source]: Copy from former breeze-assets.
  [build-system]: Make explicit (was inherited even from breeze-icons).
  [arguments]: Remove.
  [native-inputs]: New element.
  [inputs]: Copy from former breeze-assets; add some optional packages.
  [home-page]: Fix and change to invent.kde.org.
  [snopysis, description]: Adjust to de-unified package.
  [licence]: Remove gpl3+, which came from breeze-icons.
2020-12-18 19:17:11 +01:00
Hartmut Goebel
c4c059ef3f
gnu: kactivities: Use qt-build-system.
* gnu/packages/kde-frameworks.scm (kactivities)[build-system]: Use
  qt-build-system.
2020-12-18 19:14:16 +01:00
Brice Waegeneire
bf51c1aff4
gnu: Add kicad-doc.
* gnu/packages/engineering.scm (kicad-doc): New variable.
(kicad)[native-search-paths]: Add 'KICAD'.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2020-12-18 16:13:40 +01:00
Michael Rohleder
b136f7cda3
gnu: emacs-erc-status-sidebar: Correct license.
* gnu/packages/emacs-xyz.scm (emacs-erc-status-sidebar)[license]: Set to GPL3+.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2020-12-18 16:13:40 +01:00
Brendan Tildesley
2be6323080
gnu: chez-scheme: Patch more hard-coded paths.
* gnu/packages/chez.scm (chez-scheme): Patch out some /bin/rm and
/bin/echo references.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2020-12-18 16:13:40 +01:00
Brendan Tildesley
8837bb2d31
gnu: chez-scheme: Update to 9.5.4.
* gnu/packages/chez.scm
(nanopass): Update to 1.9.1.
(stex): Update to 1.2.2.
(chez-scheme): Update to 9.5.4.
[inputs]: Add newly required lz4 and lz4:static.
[arguments]:
 - Remove unused zlib symbol.
 - Since we are using ZLIB=, it looks like the substitution of libz.a path in
 .c/Mf-... files is no longer needed.
 - add lz4-static symbol and use new LZ4= and ZLIB= configure options to
   point to their static binaries.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2020-12-18 16:13:39 +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
Christopher Howard
e5bbb4662f
gnu: Add libticalcs2.
* gnu/packages/emulators.scm (libticalcs2): New variable.

Signed-off-by: Christopher Baines <mail@cbaines.net>
2020-12-18 14:52:53 +00:00
Christopher Howard
b823d4ed7f
gnu: Add libtifiles2.
* gnu/packages/emulators.scm (libtifiles2): New variable.

Signed-off-by: Christopher Baines <mail@cbaines.net>
2020-12-18 14:52:53 +00:00
Christopher Howard
98ff729e62
gnu: Add libticonv.
* gnu/packages/emulators.scm (libticonv): New variable.

Signed-off-by: Christopher Baines <mail@cbaines.net>
2020-12-18 14:52:53 +00:00
Christopher Howard
45c5851872
gnu: Add libticables2.
* gnu/packages/emulators.scm (libticables2): New variable.

Signed-off-by: Christopher Baines <mail@cbaines.net>
2020-12-18 14:52:50 +00: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