Commit graph

74443 commits

Author SHA1 Message Date
Nicolas Goaziou
9d76ff4304
gnu: pwsafe-cli: Fix version.
* gnu/packages/password-utils.scm (pwsafe-cli)[version]: Use 0.2.1 instead of
0.
2021-02-23 18:30:22 +01:00
Nicolas Goaziou
aac6dd5bd6
gnu: pwsafe-cli: Small fixes.
* gnu/packages/password-utils.scm (pwsafe-cli): Fix indentation.
[inputs]: Re-order alphabetically.
[description]: Use a full sentence.
2021-02-23 18:27:45 +01:00
Nicolas Goaziou
484c56593b
gnu: pwsafe-cli: Fix license.
* gnu/packages/password-utils.scm (pwsafe-cli)[license]: Use GPL2+.
2021-02-23 18:23:43 +01:00
Stefan Reichör
33a212bf88
gnu: Add pwsafe-cli.
* gnu/packages/password-utils.scm (pwsafe-cli): New variable.

Signed-off-by: Léo Le Bouter <lle-bout@zaclys.net>
2021-02-23 16:54:45 +01:00
Alexey Abramov via Guix-patches via
892d395152
gnu: emacs-oauth2: Fix source location.
* gnu/packages/emacs-xyz.scm (emacs-oauth2): Replace .el extension with .tar

Signed-off-by: Nicolas Goaziou <mail@nicolasgoaziou.fr>
2021-02-23 15:52:23 +01:00
raid5atemyhomework
0a0b0148e5
doc: Expand sane-service-type documentation.
* doc/guix.texi (sane-service-type): Move from between documentation
about geoclue, expand slightly.
(sane-backends-minimal): New description.
(sane-backends): New description, new example.

Signed-off-by: Nicolas Goaziou <mail@nicolasgoaziou.fr>
2021-02-23 15:41:46 +01:00
Ludovic Courtès
0a912b3a43
store: Micro-optimize object cache lookup.
This avoids a closure allocation when 'lookup-cached-object' is called.

* guix/store.scm (lookup-cached-object): Avoid optional/keyword
arguments and inline.
(%mcached): Adjust accordingly.
2021-02-23 15:24:49 +01:00
Ludovic Courtès
fcde4e10b8
gexp: Reduce allocations in 'gexp-attribute'.
* guix/gexp.scm (gexp-attribute): Use 'fold' and 'fold/tree' instead of
'append-map'.
2021-02-23 15:24:49 +01:00
Ludovic Courtès
c8bd5fa59c
gexp: Reduce allocations while traversing lists.
This reduces the total amount of memory allocated by 8% when running
"guix build qemu -d --no-grafts".

* guix/gexp.scm (fold/tree): New procedure.
(gexp-inputs)[interesting?]: New procedure.
[add-reference-inputs]: Change (lst ...) clause to (? pair? lst), and
use 'fold/tree' to recurse into it.
(gexp-inputs)[add-reference-output]: Likewise, and remove
plain (lst ...) clause.
Call 'fold'.
(gexp->sexp)[reference->sexp]: In the list case, avoid boxing and
recursive call when the object has a plain non-aggregate type.
2021-02-23 15:24:49 +01:00
Ludovic Courtès
b57de6fea1
gexp: Micro-optimize 'gexp->sexp' and 'lower-inputs'.
* guix/gexp.scm (lower-inputs, gexp->sexp): Change keyword parameters to
positional parameters.  Adjust callers accordingly.
* tests/gexp.scm (gexp->sexp*, "gexp->file"): Adjust accordingly.
2021-02-23 15:24:48 +01:00
Ludovic Courtès
a26006ff72
gexp: Keep 'lower-inputs' private.
It had been made public in 6b6298ae39 but
it's no longer needed since 779aa003fb.

* guix/gexp.scm (lower-inputs): Do not export.
2021-02-23 15:24:48 +01:00
Ludovic Courtès
4fa9d48fd4
gexp: 'gexp-inputs' returns both native and non-native inputs.
This avoids double traversal of references and extra bookkeeping,
thereby further reducing memory allocations.

* guix/gexp.scm (lower-gexp): Include only one call to 'lower-inputs'.
(gexp-inputs): Remove #:native? parameter.
[set-gexp-input-native?]: New procedure.
[add-reference-inputs]: Use it.
(gexp-native-inputs): Remove.
* tests/gexp.scm (gexp-native-inputs): Remove.
(gexp-input->tuple): Include 'gexp-input-native?'.
("let-system")
("let-system, nested")
("ungexp + ungexp-native")
("ungexp + ungexp-native, nested")
("ungexp + ungexp-native, nested, special mixture")
("input list")
("input list + ungexp-native")
("input list splicing")
("input list splicing + ungexp-native-splicing")
("gexp list splicing + ungexp-splicing"): Adjust accordingly.
2021-02-23 15:24:48 +01:00
Ludovic Courtès
fc6d6aee66
gexp: 'gexp-inputs' returns a list of <gexp-input> records.
This slightly reduces memory allocation.

* guix/gexp.scm (lower-inputs): Expect a list of <gexp-input> rather
than a list of tuples.
(lower-reference-graphs)[tuple->gexp-input]: New procedure.
Use it.
(gexp-inputs): Return a list of <gexp-input> rather than a list of
tuples.
* tests/gexp.scm (gexp-input->tuple): New procedure.
("one input package")
("one input package, dotted list")
("one input origin")
("one local file")
("one local file, symlink")
("one plain file")
("two input packages, one derivation, one file")
("file-append")
("file-append, output")
("file-append, nested")
("let-system")
("let-system, nested")
("ungexp + ungexp-native")
("ungexp + ungexp-native, nested")
("ungexp + ungexp-native, nested, special mixture")
("input list")
("input list + ungexp-native")
("input list splicing")
("input list splicing + ungexp-native-splicing")
("gexp list splicing + ungexp-splicing"): Adjust accordingly.
2021-02-23 15:24:48 +01:00
Ludovic Courtès
bde7929bd0
gexp: Micro-optimize sexp serialization.
* guix/gexp.scm (sexp->string): New procedure.
(gexp->derivation): Use it instead of 'object->string'.
2021-02-23 15:24:48 +01:00
Ludovic Courtès
70b33d8898
store: Object cache profiling shows the number of entries.
* guix/store.scm (record-cache-lookup!): Add 'size' variable; keep it
up-to-date and display it.
2021-02-23 15:24:47 +01:00
Ludovic Courtès
db45712a67
grafts: Inline 'grafting?' and 'set-grafting'.
As for 'current-target-system' & co., this makes sure we don't
needlessly allocate closures.

* guix/grafts.scm (grafting?, set-grafting): Inline.
2021-02-23 15:24:47 +01:00
Efraim Flashner
3c548c3e0e
gnu: ruby-rails: Update to 6.1.3.
* gnu/packages/rails.scm (ruby-activemodel, ruby-activerecord,
ruby-actionview, ruby-actionpack, ruby-actioncable, ruby-activejob,
ruby-activestorage, ruby-actionmailer, ruby-railties, ruby-rails):
Update to 6.1.3.
(ruby-actiontext, ruby-actionmailbox): New variables.
(ruby-actioncable)[propagated-inputs]: Add ruby-activesupport.
(ruby-activestorage)[propagated-inputs]: Add ruby-activejob,
ruby-activesupport, ruby-mimemagic.
(ruby-actionmailer)[propagated-inputs]: Add ruby-activesupport.
(ruby-railties)[propagated-inputs]: Add ruby-rake.
(ruby-rails)[propagated-inputs]: Add ruby-actionmailbox,
ruby-actiontext.
* gnu/packages/ruby.scm (ruby-activesupport): Update to 6.1.3.
[propagated-inputs]: Add ruby-zeitwerk.
[home-page]: Use https.
2021-02-23 16:04:27 +02:00
Efraim Flashner
c2fdc528dd
gnu: ruby-rack: Update to 2.2.3.
* gnu/packages/ruby.scm (ruby-rack): Update to 2.2.3.
[source]: Remove patch. Add snippet.
[arguments]: Adjust custom 'fix-tests phase. Remove 'make-files-writable
phase.
[native-inputs]: Remove ruby-minitest-sprint, which. Add
ruby-minitest-global-expectations.
[propagated-inputs]: Remove ruby-concurrent.
* gnu/packages/patches/ruby-rack-ignore-failing-test.patch: Remove file.
* gnu/local.mk (dist_patch_DATA): Remove it.
2021-02-23 16:04:27 +02:00
Efraim Flashner
8bad3c8ddf
gnu: Add ruby-zeitwerk.
* gnu/packages/ruby.scm (ruby-zeitwerk): New variable.
2021-02-23 16:04:27 +02:00
Efraim Flashner
fa0a244138
gnu: ruby-web-console: Update to 4.1.0.
* gnu/packages/rails.scm (ruby-web-console): Update to 4.1.0.
2021-02-23 16:04:27 +02:00
Efraim Flashner
ebd8e447e9
gnu: ruby-tzinfo-data: Update to 1.2021.1.
* gnu/packages/ruby.scm (ruby-tzinfo-data): Update to 1.2021.1.
[source]: Remove patch.
[arguments]: Add custom 'patch-source, 'pre-check phases.
[native-inputs]: Add IANA timezone data files.
* gnu/packages/patches/ruby-tzinfo-data-ignore-broken-test.patch: Remove
file.
* gnu/local.mk (dist_patch_DATA): Remove it.
2021-02-23 16:04:27 +02:00
Efraim Flashner
76e1093b2b
gnu: ruby-tzinfo: Update to 2.0.4.
* gnu/packages/ruby.scm (ruby-tzinfo): Update to 2.0.4.
[source]: Download using git-fetch.
[arguments]: Add custom 'pre-check, 'check phases.
[propagated-inputs]: Remove ruby-thread-safe, add ruby-concurrent.
[native-inputs]: Add ruby-simplecov.
2021-02-23 16:04:27 +02:00
Efraim Flashner
6519e61129
gnu: ruby-rails-html-sanitizer: Update to 1.3.0.
* gnu/packages/rails.scm (ruby-rails-html-sanitizer): Update to 1.3.0.
2021-02-23 16:04:26 +02:00
Efraim Flashner
945d5d039a
gnu: ruby-rails-dom-testing: Update to 2.0.3.
* gnu/packages/rails.scm (ruby-rails-dom-testing): Update to 2.0.3.
2021-02-23 16:04:26 +02:00
Efraim Flashner
8bb7ebc3d8
gnu: ruby-loofah: Update to 2.3.1.
* gnu/packages/ruby.scm (ruby-loofah): Update to 2.3.1.
[arguments]: Adjust custom 'remove-unnecessary-dependencies phase for
upstream changes.
2021-02-23 16:04:26 +02:00
Efraim Flashner
ab4b6ae6af
gnu: ruby-mail: Update to 2.7.1.
* gnu/packages/ruby.scm (ruby-mail): Update to 2.7.1.
[propagated-inputs]: Remove ruby-mime-types, add ruby-mini-mime.
[arguments]: Adjust comment about skipping tests.
2021-02-23 16:04:26 +02:00
Efraim Flashner
ae17c6c31d
gnu: Add ruby-mini-mime.
* gnu/packages/ruby.scm (ruby-mini-mime): New variable.
2021-02-23 16:04:26 +02:00
Efraim Flashner
b76723041b
gnu: ruby-protobuf: Add missing input.
* gnu/packages/protobuf.scm (ruby-protobuf)[propagated-inputs]: Add
ruby-thread-safe.
2021-02-23 16:04:23 +02:00
Greg Hogan
25f00a2e44
gnu: stockfish: Update to 13.
* gnu/packages/games.scm (stockfish): Update to 13.
[inputs]: Update neural network file.

Signed-off-by: Nicolas Goaziou <mail@nicolasgoaziou.fr>
2021-02-23 13:53:10 +01:00
Masaya Tojo
d2299fe38a
gnu: Add emacs-ido-at-point.
* gnu/packages/emacs-xyz.scm (emacs-ido-at-point): New variable.

Signed-off-by: Nicolas Goaziou <mail@nicolasgoaziou.fr>
2021-02-23 13:49:07 +01:00
Mathieu Othacehe
b4f28584d3
gnu: cli11: Remove (guix utils) dependency.
* gnu/packages/cpp.scm (cli11)[arguments]: Do not import (guix utils) that is
not meant to go on the build side.
2021-02-23 12:39:15 +01:00
Mathieu Othacehe
0de0074844
tests: cuirass: Restore "cuirass running".
This is a follow-up of ab054868af. The test was
failing because the Shepherd control socket wasn't ready yet. Restore it but
make sure that the control socket is available first.

* gnu/tests/cuirass.scm ("shepherd socket ready"): New test.
("cuirass running"): Restore it.
2021-02-23 11:54:53 +01:00
Mathieu Othacehe
ab054868af
tests: cuirass: Remove "cuirass running" test.
* gnu/tests/cuirass.scm ("cuirass running"): Remove it as it fails if all the
dependencies are not started yet.
2021-02-23 11:24:47 +01:00
Mathieu Othacehe
f2b10e1b7f
services: cuirass: Fix services requirements.
* gnu/services/cuirass.scm (cuirass-shepherd-service): Add "postgres-roles" to
cuirass requirements. Set cuirass-web requirements to cuirass only. Remove
"guix-daemon" and "networking" from cuirass-remote-server requirements as are
already required by cuirass.
2021-02-23 11:22:22 +01:00
Mathieu Othacehe
1a8cfb6d4c
services: postgresql-roles: Fix race condition.
Make sure that the postgresql-roles script is completed before declaring the
postgresql-roles service as started.

* gnu/services/databases.scm (postgresql-create-roles): Return the command
line instead of a program-file.
(postgresql-role-shepherd-service): Use fork+exec-command to start the role
creation script and wait for its completion before returning.
2021-02-23 11:00:18 +01:00
Mathieu Othacehe
bebcf97600
services: cuirass: Improve simple-cuirass-services.
Instead of returning multiple services in simple-cuirass-services, rely on the
instantiate-missing-services procedure to instantiate postgresql and
postgresql-role-service-type when missing.

Turn simple-cuirass-services procedure into
simple-cuirass-configuration->specs, that takes a simple-cuirass-configuration
record and returns a Cuirass specification.

Suggested-by: Ludovic Courtès <ludo@gnu.org>

* gnu/services/cuirass.scm (%default-cuirass-config): Remove it.
(simple-cuirass-services): Rename it to ...
(simple-cuirass-configuration->specs): ... this procedure.
* gnu/tests/cuirass.scm (cuirass-services): Remove postgresql and
postgresql-role services that are automatically instantiated.
(simple-cuirass-service): New variable.
(%cuirass-simple-test): Adapt it to use simple-cuirass-configuration->specs
instead of simple-cuirass-services.
* doc/guix.texi (Simple Cuirass): Update it.
2021-02-23 09:45:09 +01:00
Pierre Neidhardt
602f86d60b
gnu: sbcl-common-lisp-jupyter: Update to 20210217.
* gnu/packages/lisp-xyz.scm (sbcl-common-lisp-jupyter): Update to 20210217.
2021-02-23 09:25:40 +01:00
Pierre Neidhardt
bdf7296666
gnu: sbcl-trivial-clipboard: Update to 20210219.
* gnu/packages/lisp-xyz.scm (sbcl-trivial-clipboard): Update to 20210219.
2021-02-23 09:12:23 +01:00
Tobias Geerinckx-Rice
a239237b2f
gnu: youtube-dl: Update to 2021.02.22.
* gnu/packages/video.scm (youtube-dl): Update to 2021.02.22.
2021-02-23 08:02:52 +01:00
Ludovic Courtès
11f11d7ecb
scripts: Don't trigger option hints for short options.
Previously, 'guix install foo -r bar' would crash with a backtrace
because NAME would be #\r (a character instead of a string).

* guix/scripts.scm (parse-command-line)[parse-options-from]: Call
'option-hint' only when NAME is a string.
2021-02-22 23:42:08 +01:00
Ludovic Courtès
e8fc373900
profiles: Fix typo in manifest comment.
* guix/build/profiles.scm (build-profile): Fix typo.
2021-02-22 23:42:08 +01:00
Ludovic Courtès
ce2ba3431a
describe: Fix typo in 'manifest-entry-with-provenance'.
* guix/describe.scm (manifest-entry-with-provenance): Fix first argument
to 'assq'.
2021-02-22 23:42:08 +01:00
Ludovic Courtès
d8c80c671b
gnu: ocaml-llvm: Remove duplicate package.
Commit 8f710cc598 introduced a duplicate
ocaml-llvm@9.0.1 package, which was flagged by a test failure in
tests/packages.scm.

* gnu/packages/ocaml.scm (make-ocaml-llvm): Define as 'mlambdaq'.
2021-02-22 23:42:08 +01:00
Ludovic Courtès
43cef0ba81
gnu: linux-libre-headers@5.11: Refer to 5.11, not 5.10.
Fixes a typo introduced in b819512ca2.

* gnu/packages/linux.scm (linux-libre-headers-5.11): Really refer to 5.11.
2021-02-22 23:42:08 +01:00
Ludovic Courtès
66c9bc35ef
packages: 'package-field-location' preserves the original file name.
This fixes a regression introduced in
9a38bed2cf.

* guix/packages.scm (package-field-location): Do not shadow the 'file'
variable.
2021-02-22 23:42:08 +01:00
Leo Famulari
21cdb35b60
gnu: isync: Update to 1.3.5 [fixes CVE-2021-20247].
* gnu/packages/mail.scm (isync): Update to 1.3.5.
2021-02-22 16:48:50 -05:00
Christopher Baines
5c7874adb0
gnu: Add temper-exporter.
* gnu/packages/monitoring.scm (temper-exporter): New variable.
2021-02-22 20:45:55 +00:00
Christopher Baines
7c5e5e0e0f
system: hurd: Have the static networking provision 'networking.
Some services require networking, I'm looking at the Guix Build Coordinator
agent.  Networking seems to work in the childhurd VM, so I think this change
makes sense.

* gnu/system/hurd.scm (%base-services/hurd): Add 'networking to the provision
parameter for the static-networking service.
2021-02-22 20:44:58 +00:00
Christopher Baines
20c08a8a45
substitute: Rework connection error handling.
This is part of trying to reduce the interdependency of code within the
substitute module.

This commit addresses some of the error handling that was performed through
open-connection-for-uri/maybe. The new approach is to use
call-with-connection-error-handling, and wrap calls to http-multiple-get and
http-fetch with that procedure, which takes care of handling connection
errors.

I think this is even slightly more rigerous than the previous setup, because
this approach handles connection errors that occur when http-multiple-get
reconnects to a host.

* guix/scripts/substitute.scm (open-connection-for-uri/maybe): Transform in to
call-with-connection-error-handling.
(fetch-narinfos): Use call-with-connection-error-handling.
(process-query): Replace open-connection-for-uri/maybe with
open-connection-for-uri/cached.
(open-connection-for-uri/cached): Set a default timeout, matching the
behaviour in open-connection-for-uri/maybe.
(process-substitution): Use call-with-connection-error-handling.
2021-02-22 20:43:12 +00:00
Christopher Baines
187e970968
substitute: Remove fetch-narinfos use open-connection-for-uri/maybe.
At least by default.  Instead, make the open-connection procedure a parameter,
and make the default guix:open-connection-for-uri.  Do so similarly for
lookup-narinfos and lookup-narinfos/diverse which work towards calling
fetch-narinfos.

This means this code can be moved to a different module, without having
use/move the connection caching code.

* guix/scripts/substitute.scm (fetch-narinfos): Add #:open-connection
argument, and call http-multiple-get with it.
(lookup-narinfos) Add #:open-connection argument, and call fetch-narinfos with
it.
(lookup-narinfos/diverse): Add #:open-connection argument, and call
lookup-narinfos with it.
(process-query): Call lookup-narinfos/diverse with #:open-connection
open-connection-for-uri/maybe.
2021-02-22 20:43:12 +00:00