Commit graph

66372 commits

Author SHA1 Message Date
Ryan Prior 4a2cb3fa0e
gnu: Add quickjs.
* gnu/packages/javascript.scm (quickjs): New variable.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2020-09-14 16:12:36 +02:00
Ludovic Courtès 846403ef62
ui: 'show-what-to-build' displays download estimate more prominently.
* guix/ui.scm (show-what-to-build): When VERBOSITY is 1, add a newline
before the "would/will be downloaded" line, and wrap that message in
'highlight'.
2020-09-14 15:42:56 +02:00
Ludovic Courtès 8eeeedcb35
tests: Remove one 'delete-paths' call in 'tests/store.scm'.
This makes the test slightly less expensive.

* tests/store.scm ("add-text-to-store vs. delete-paths")
("add-to-store vs. delete-paths"): Delete and merge into...
("add-text-to-store/add-to-store vs. delete-paths"): ... this test.
2020-09-14 15:42:56 +02:00
Ludovic Courtès 7d516c17da
authenticate: Cache the ACL and key pairs.
In practice we're always using the same key pair,
/etc/guix/signing-key.{pub,sec}.  Keeping them in cache allows us to
avoid redundant I/O and parsing when signing multiple store items in a
row.

* guix/scripts/authenticate.scm (load-key-pair): New procedure.
(sign-with-key): Remove 'key-file' parameter and add 'public-key' and
'secret-key'.  Adjust accordingly.
(validate-signature): Add 'acl' parameter and pass it to
'authorized-key?'.
(guix-authenticate)[call-with-reply]: New procedure.
[with-reply]: New macro.
Call 'current-acl' upfront and cache its result.  Add 'key-pairs' as an
argument to 'loop' and use it as a cache of key pairs.
2020-09-14 15:42:55 +02:00
Ludovic Courtès 64cf660f87
daemon: Spawn 'guix authenticate' once for all.
Previously, we'd spawn 'guix authenticate' once for each item that has
to be signed (when exporting) or authenticated (when importing).  Now,
we spawn it once for all and then follow a request/reply protocol.  This
reduces the wall-clock time of:

  guix archive --export -r $(guix build coreutils -d)

from 30s to 2s.

* guix/scripts/authenticate.scm (sign-with-key): Return the signature
instead of displaying it.  Raise a &formatted-message instead of calling
'leave'.
(validate-signature): Likewise.
(read-command): New procedure.
(define-enumerate-type, reply-code): New macros.
(guix-authenticate)[send-reply]: New procedure.
Change to read commands from current-input-port.
* nix/libstore/local-store.cc (runAuthenticationProgram): Remove.
(authenticationAgent, readInteger, readAuthenticateReply): New
functions.
(signHash, verifySignature): Rewrite in terms of the agent.
* tests/store.scm ("import not signed"): Remove 'pk' call.
("import signed by unauthorized key"): Check the error message of C.
* tests/guix-authenticate.sh: Rewrite using the new protocol.

fixlet
2020-09-14 15:42:55 +02:00
Ludovic Courtès ee9dff34f9
daemon: Move 'Agent' to libutil.
* nix/libstore/build.cc (DerivationGoal::tryBuildHook): Add "offload" to
'args' and pass settings.guixProgram as the first argument to
Agent::Agent.
(pathNullDevice, commonChildInit, Agent, Agent::Agent)
(Agent::~Agent): Move to...
* nix/libutil/util.cc: ... here.
* nix/libutil/util.hh (struct Agent, commonChildInit): New
declarations.
2020-09-14 15:42:55 +02:00
Ludovic Courtès 27cc51c269
daemon: Isolate signing and signature verification functions.
* nix/libstore/local-store.cc (signHash, verifySignature): New
functions.
(LocalStore::exportPath): Use 'signHash' instead of inline code.
(LocalStore::importPath): Use 'verifySignature' instead of inline code.
2020-09-14 15:42:55 +02:00
Ludovic Courtès 7809071c82
daemon: Generalize 'HookInstance' to 'Agent'.
* nix/libstore/build.cc (HookInstance): Rename to...
(Agent): ... this.  Rename 'toHook' and 'fromHook' similarly and update
users.  Change constructor to require a command and an argument list.
(DerivationGoal::tryBuildHook): Pass arguments to the 'Agent'
constructor.
2020-09-14 15:42:55 +02:00
Paul Garlick 735808b12c
guix: Fix download-svn-to-store.
* guix/svn-download.scm (download-svn-to-store): Add a subdirectory to
the download path.  The subdirectory is used as the target for the 'svn
export' command, avoiding a 'directory exists' error when attempting to
use the parent directory directly.
2020-09-14 14:24:29 +01:00
Mathieu Othacehe bc5dcd9ef5
gnu: cuirass: Update to 0.0.1-45.cf11b73.
* gnu/packages/ci.scm (cuirass): Update to 0.0.1-45.cf11b73.
2020-09-14 14:43:33 +02:00
Stefan 8c4f1aa85f
gnu: grub: Support loading files from TFTP if the root filesystem is NFS.
* gnu/bootloader/grub.scm (grub-root-search): Set the root to "(tftp)" if
the searched-for file is stored on NFS.
2020-09-14 14:25:04 +02:00
Ricardo Wurmus f6807498be
gnu: Add altermime.
* gnu/packages/mail.scm (altermime): New variable.
2020-09-14 13:17:46 +02:00
zimoun c22c6de453
gnu: rapicorn: Use pandoc instead of ghc-pandoc.
* gnu/packages/graphics.scm (rapicorn)[native-inputs]: Replace ghc-pandoc with
pandoc.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2020-09-14 10:51:27 +02:00
zimoun 885332832c
gnu: ganeti: Use pandoc instead of ghc-pandoc.
* gnu/packages/text-editors.scm (ganeti)[native-inputs]: Replace ghc-pandoc
with pandoc.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2020-09-14 10:51:27 +02:00
zimoun 5dc5a3116b
gnu: manuskript: Use pandoc instead of ghc-pandoc.
* gnu/packages/text-editors.scm (manuskript)[inputs]: Replace ghc-pandoc with
pandoc.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2020-09-14 10:51:26 +02:00
zimoun 991c61678b
gnu: emacs-org-web-tools: Use pandoc instead of ghc-pandoc.
* gnu/packages/emacs-xyz.scm (emacs-org-webtools)[inputs]: Replace ghc-pandoc
with pandoc.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2020-09-14 10:51:26 +02:00
zimoun d37279ee1e
gnu: emacs-ox-pandoc: Use pandoc instead of ghc-pandoc.
* gnu/packages/emacs-xyz.scm (emacs-ox-pandoc)[inputs]: Replace ghc-pandoc
with pandoc.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2020-09-14 10:51:26 +02:00
zimoun 8cc8e584ab
gnu: ruby-pandoc-ruby: Use pandoc instead of ghc-pandoc.
* gnu/packages/ruby.scm (ruby-pandoc-ruby)[native-inputs]: Replace ghc-pandoc
with pandoc.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2020-09-14 10:51:26 +02:00
Christopher Baines 2932591b8a
database: register-items: reduce transaction scope.
It was made transactional in a4678c6ba1, with
the reasoning to prevent broken intermediate states from being visible. I
think this means something like an entry being in ValidPaths, but the Refs not
being inserted.

Using a transaction for this makes sense, but I think using one single
transaction for the whole register-items call is unnecessary to avoid broken
states from being visible, and could block other writes to the store database
while register-items is running. Because the deduplication and resetting
timestamps happens within the transaction as well, even though these things
don't involve the database, writes to the database will still be blocked while
this is happening.

To reduce the potential for register-items to block other writers to the
database for extended periods, this commit moves the transaction to just wrap
the call to sqlite-register. This is the one place where writes occur, so that
should prevent the broken intermediate states issue above. The one difference
this will make is some of the registered items will be visible to other
connections while others may be still being added. I think this is OK, as it's
equivalent to just registering different items.

* guix/store/database.scm (register-items): Reduce transaction scope.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2020-09-14 10:51:26 +02:00
Caleb Ristvedt a05c31ab30
database: document extra registration requirements.
It's necessary that store items be locked and protected from garbage
collection while they are being registered.  This documents that.

* guix/store/database.scm (register-path, register-items): document GC
  protection and locking requirements.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2020-09-14 10:51:26 +02:00
Caleb Ristvedt 14c422c12c
deduplication: pass store directory to replace-with-link.
This causes with-writable-file to take into consideration the actual store
being used, as passed to 'deduplicate', rather than
whatever (%store-directory) may return.

* guix/store/deduplication.scm (replace-with-link): new keyword argument
  'store'.  Pass to with-writable-file.
  (with-writable-file, call-with-writable-file): new store argument.
  (deduplicate): pass store to replace-with-link.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2020-09-14 10:51:26 +02:00
Caleb Ristvedt 1d40e6fdd1
.dir-locals.el: fix call-with-{retrying-}transaction indenting.
* .dir-locals.el (call-with-transaction, call-with-retrying-transaction):
  change scheme-indent-function property from 2 to 1.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2020-09-14 10:51:26 +02:00
Pierre Neidhardt 24244f3fbf
gnu: python-wrapper: Mention pip in description.
* gnu/packages/python.scm (python-wrapper)[description]: Mention that `pip'
won't work properly if both python and python-wrapper are installed.
2020-09-14 10:35:05 +02:00
Danny Milosavljevic 2be5c2652a
build-system: linux-module: Delete some huge items that we probably don't need.
* guix/build-system/linux-module.scm (make-linux-module-builder): Delete
some huge items that we probably don't need.
2020-09-14 10:15:43 +02:00
Efraim Flashner f165f7c9cb
gnu: sxiv: Use 'cc-for-target'.
* gnu/packages/image-viewers.scm (sxiv)[arguments]: Replace hard-coded
gcc substitution with cc-for-target in make-flags.
2020-09-14 10:30:42 +03:00
Efraim Flashner 858bb37a1d
gnu: sxiv: Install icons.
* gnu/packages/image-viewers.scm (sxiv)[arguments]: Add custom phase to
install icons.
2020-09-14 10:27:46 +03:00
Efraim Flashner d67a3beb52
gnu: sxiv: Install desktop file.
* gnu/packages/image-viewers.scm (sxiv)[arguments]: Add custom
'install-desktop-file phase to install desktop file.
2020-09-14 10:25:34 +03:00
Gabriel Arazas e641a95694
gnu: rofi: Update to 1.6.0.
* gnu/packages/xdisorg.scm (rofi): Update to 1.6.0.
[inputs]: Add libjpeg-turbo.

Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
2020-09-14 10:08:24 +03:00
Robin Green 1042d269a7
gnu: Update coq and its dependents
* gnu/packages/coq.scm (coq): Update to 8.11.2
(coq-flocq): Update to 3.3.1
(coq-gappa): Update to 1.4.4
(coq-mathcomp): Update to 1.11.0
(coq-coquelicot): Update to 3.1.0
(coq-bignums): Update to 8.11.0
(coq-interval): Update to 4.0.0
(coq-equations): Update to 1.2.3

Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2020-09-14 01:55:52 +02:00
Tobias Geerinckx-Rice 2cae49f9c9
gnu: youtube-dl: Update to 2020.09.14.
* gnu/packages/video.scm (youtube-dl): Update to 2020.09.14.
2020-09-14 00:55:34 +02:00
Tobias Geerinckx-Rice d392226f4a
gnu: python-ansi2html: Fix typo in description.
* gnu/packages/python-xyz.scm (python-ansi2html)[description]: Fix typo.
2020-09-14 00:23:01 +02:00
Tobias Geerinckx-Rice 61d02cecd9
gnu: wesnoth: Update to 1.14.14.
* gnu/packages/games.scm (wesnoth): Update to 1.14.14.
2020-09-14 00:23:01 +02:00
Tobias Geerinckx-Rice 1e58798bc4
gnu: jasper: Update to 2.0.20 [fixes CVE-2016-9398's revenge].
* gnu/packages/image.scm (jasper): Update to 2.0.20.
[arguments]: Skip tests of the now-disabled MIF image format.
2020-09-14 00:23:00 +02:00
Tobias Geerinckx-Rice ce4a497b13
gnu: shellcheck: Update to 0.7.1.
* gnu/packages/haskell-apps.scm (shellcheck): Update to 0.7.1.
2020-09-14 00:23:00 +02:00
Tobias Geerinckx-Rice 33061f7bf1
gnu: bear: Update to 2.4.4.
* gnu/packages/build-tools.scm (bear): Update to 2.4.4.
2020-09-14 00:23:00 +02:00
Leo Prikler 43514b82e4
gnu: libhandy: Enable glade_catalog.
* gnu/packages/gnome.scm (libhandy)[configure-flags]: Add glade_catalog.
[inputs]: Add glade and libxml2.
(libhandy-0.0)[configure-flags]: Keep glade_catalog disabled.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2020-09-13 23:34:23 +02:00
Leo Prikler 88915958c0
gnu: glade: Add catalog and module search paths.
* gnu/packages/gnome.scm (glade3)[native-search-paths]: Add
GLADE_CATALOG_SEARCH_PATH and GLADE_MODULE_SEARCH_PATH.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2020-09-13 23:34:23 +02:00
Morgan Smith 227932991f
gnu: emacs-djvu: Add needed inputs
* gnu/packages/emacs-xyz.scm (emacs-djvu)[inputs, arguments]: New fields.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2020-09-13 23:34:23 +02:00
Timotej Lazar 11a962e653
services: certbot: Support registration without email.
* gnu/services/certbot.scm (certbot-configuration): Add default for the
email option.
(certbot-command): Pass email for registration only when specified.
* doc/guix.texi (Certificate Services): "mandatory"→"optional" email.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2020-09-13 23:34:23 +02:00
Greg Hogan 0f918908eb
gnu: fmt: Update to 7.0.3.
From 820d39a55a5673fffac70c919b8cc3b28d94f6e7 Mon Sep 17 00:00:00 2001
From: Greg Hogan <code@greghogan.com>
Date: Fri, 11 Sep 2020 10:53:20 +0000
Subject: [PATCH] gnu: fmt: Update to 7.0.3.

* gnu/packages/pretty-print.scm (fmt): Update to 7.0.3.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2020-09-13 23:34:23 +02:00
zimoun 0214d5dd84
gnu: gcc-toolchain: Reword description.
* gnu/packages/commencement.scm (make-gcc-toolchain)[description]: Reword.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2020-09-13 23:34:22 +02:00
zimoun 542c4707de
gnu: gccgo: Reword synopsis and description.
Fixes <https://bugs.gnu.org/43303>.
Reported by Jeffrey Walton <noloader@gmail.com>.

* gnu/packages/gcc.scm: (gccgo-4.9): Add synopsis and description

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2020-09-13 23:34:22 +02:00
zimoun a4fe16ee41
gnu: libgccjit: Reword synopsis and description.
Fixes <https://bugs.gnu.org/43303>.
Reported by Jeffrey Walton <noloader@gmail.com>.

* gnu/packages/gcc.scm: (libgccjit)[synopsis,description]: Reword.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2020-09-13 23:34:22 +02:00
Alexandros Theodotou 66ce92ffe4
gnu: zrythm: Update to 0.8.911.
* gnu/packages/music.scm (zrythm): Update to 0.8.911.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2020-09-13 23:34:22 +02:00
Alexandros Theodotou ae286b58c8
gnu: Add meson 0.55.1.
* gnu/packages/build-tools.scm (meson-0.55): New variable.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2020-09-13 23:34:22 +02:00
Alexandros Theodotou fce852c458
gnu: libaudec: Update to 0.2.3.
* gnu/packages/audio.scm (libaudec): Update to 0.2.3.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2020-09-13 23:34:22 +02:00
Ludovic Courtès 978c9bc50d
gnu: libcyaml: Update to 1.1.0.
* gnu/packages/web.scm (libcyaml): Update to 1.1.0.
2020-09-13 23:34:22 +02:00
Tobias Geerinckx-Rice 71992a532d
services: Fix zram-device-service.
* gnu/services/linux.scm (<zram-device-configuration>): Fix typo.
2020-09-13 23:07:36 +02:00
Leo Famulari 898fbb60b2
gnu: Fix a crash in NTP and Chrony.
Fixes <https://bugs.gnu.org/43321>.

* gnu/packages/ntp.scm (ntp, chrony)[inputs]: Replace libcap with libcap/next.
2020-09-13 15:46:02 -04:00
Christopher Baines 1192ae9404
gnu: josm: Fix formatting and install more files.
This means that JOSM appears in the GNOME Shell menu.

* gnu/packages/geo.scm (josm)[source]: Replace tab character.
[arguments]: Reduce line length, and add install-share-directories phase.
2020-09-13 13:22:13 +01:00