Commit graph

70325 commits

Author SHA1 Message Date
Ludovic Courtès
799f066768
import: opam: Adjust test to latest 'opam->guix-package' changes.
This is a followup to a8dccd4bdc, which
broke the test.

* guix/import/opam.scm (get-opam-repository): Prevent inlining.
* tests/opam.scm ("opam->guix-package"): Mock 'get-opam-repository'.
2020-12-08 22:58:37 +01:00
Ludovic Courtès
bfe4cdf88e
daemon: Raise an error if substituter doesn't send the expected hash.
It was already impossible in practice for 'expectedHashStr' to be empty
if 'status' == "success".

* nix/libstore/build.cc (SubstitutionGoal::finished): Throw 'SubstError'
when 'expectedHashStr' is empty.
2020-12-08 22:30:08 +01:00
Ludovic Courtès
5ff521452b
substitute: Cache and reuse connections while substituting.
That way, when fetching a series of substitutes from the same server(s),
the connection is reused instead of being closed/opened for each
substitutes, which saves on network round trips and TLS handshakes.

* guix/http-client.scm (http-fetch): Add #:keep-alive? and honor it.
* guix/progress.scm (progress-report-port): Add #:close? parameter and
honor it.
* guix/scripts/substitute.scm (at-most): Return the tail as a second
value.
(fetch): Add #:port and #:keep-alive? and honor them.
(%max-cached-connections): New variable.
(open-connection-for-uri/cached, call-with-cached-connection): New
procedures.
(with-cached-connection): New macro.
(process-substitution): Wrap 'fetch' call in 'with-cached-connection'.
Pass #:close? to 'progress-report-port'.
2020-12-08 22:30:08 +01:00
Ludovic Courtès
711df9ef3c
daemon: Run 'guix substitute --substitute' as an agent.
This avoids spawning one substitute process per substitution.

* nix/libstore/build.cc (class Worker)[substituter]: New field.
[outPipe, logPipe, pid]: Remove.
(class SubstitutionGoal)[expectedHashStr, status, substituter]: New fields.
(SubstitutionGoal::timedOut): Adjust to check 'substituter'.
(SubstitutionGoal::tryToRun): Remove references to 'outPipe' and
'logPipe'.  Run "guix substitute --substitute" as an 'Agent'.  Send the
request with 'writeLine'.
(SubstitutionGoal::finished): Likewise.
(SubstitutionGoal::handleChildOutput): Change to fill in
'expectedHashStr' and 'status'.
(SubstitutionGoal::handleEOF): Call 'wakeUp' unconditionally.
(SubstitutionGoal::~SubstitutionGoal): Adjust to check 'substituter'.
* guix/scripts/substitute.scm (process-substitution): Write "success\n"
to stdout upon success.
(%error-to-file-descriptor-4?): New variable.
(guix-substitute): Set 'current-error-port' to file descriptor 4
unless (%error-to-file-descriptor-4?) is false.
Remove "--substitute" arguments.  Loop reading line from stdin.
* tests/substitute.scm <top level>: Call '%error-to-file-descriptor-4?'.
(request-substitution): New procedure.
("substitute, no signature")
("substitute, invalid hash")
("substitute, unauthorized key")
("substitute, authorized key")
("substitute, unauthorized narinfo comes first")
("substitute, unsigned narinfo comes first")
("substitute, first narinfo is unsigned and has wrong hash")
("substitute, first narinfo is unsigned and has wrong refs")
("substitute, two invalid narinfos")
("substitute, narinfo with several URLs"): Adjust to new "guix
substitute --substitute" calling convention.
2020-12-08 22:30:08 +01:00
Ludovic Courtès
a618a8c620
daemon: Factorize substituter agent spawning.
* nix/libstore/local-store.hh (class LocalStore)[substituter]: New
method.
[runningSubstituter]: Turn into a shared_ptr.
* nix/libstore/local-store.cc (LocalStore::querySubstitutablePaths):
Call 'substituter' instead of using inline code.
(LocalStore::querySubstitutablePathInfos): Likewise.
(LocalStore::substituter): New method.
2020-12-08 22:30:08 +01:00
Ludovic Courtès
79c6614f58
daemon: Use 'Agent' to spawn 'guix substitute --query'.
* nix/libstore/local-store.hh (RunningSubstituter): Remove.
(LocalStore)[runningSubstituter]: Change to unique_ptr<Agent>.
[setSubstituterEnv, didSetSubstituterEnv]: Remove.
[getLineFromSubstituter, getIntLineFromSubstituter]: Take an 'Agent'.
* nix/libstore/local-store.cc (LocalStore::~LocalStore): Remove
reference to 'runningSubstituter'.
(LocalStore::setSubstituterEnv, LocalStore::startSubstituter): Remove.
(LocalStore::getLineFromSubstituter): Adjust to 'run' being an 'Agent'.
(LocalStore::querySubstitutablePaths): Spawn substituter agent if
needed.  Adjust to 'Agent' interface.
(LocalStore::querySubstitutablePathInfos): Likewise.
* nix/libstore/build.cc (SubstitutionGoal::tryToRun): Remove call to
'setSubstituterEnv' and add 'setenv' call for "_NIX_OPTIONS" instead.
(SubstitutionGoal::finished): Remove 'readLine' call for 'dummy'.
* guix/scripts/substitute.scm (%allow-unauthenticated-substitutes?):
Remove second argument to 'make-parameter'.
(process-query): Call 'warn-about-missing-authentication'
when (%allow-unauthenticated-substitutes?) is #t.
(guix-substitute): Wrap body in 'parameterize'.  Set 'guix-warning-port'
too.  No longer exit when 'substitute-urls' returns the empty list.  No
longer print newline initially.
* tests/substitute.scm (test-quit): Parameterize 'current-error-port' to
account for the port changes in 'guix-substitute'.
2020-12-08 22:30:08 +01:00
Ludovic Courtès
2e308238ad
daemon: 'Agent' constructor takes a list of environment variables.
* nix/libutil/util.hh (struct Agent)[Agent]: Add 'env' parameter.
* nix/libutil/util.cc (Agent::Agent): Honor it.
2020-12-08 22:30:07 +01:00
Ludovic Courtès
4a98735297
gnu: autotools: Add version 2.70.
* gnu/packages/autotools.scm (autoconf): Rename to...
(autoconf-2.69): ... this.
(autoconf): Define as an alias for AUTOCONF-2.69.
(autoconf-2.70): New variable.
2020-12-08 22:28:00 +01:00
Ludovic Courtès
e9edaf3639
database: Remove unnecessary module imports.
* guix/store/database.scm: Remove unnecessary imports added in
4b9eecd322.
2020-12-08 21:40:05 +01:00
Vincent Legoll
20e5658c04
gnu: ocaml-menhir: Update to 20200211.
* gnu/packages/ocaml.scm (ocaml-menhir): Update to 20200211.
[build-system]: Switch from gnu to dune.
[arguments]: Remove phases and make-flags.
[native-inputs]: Remove field.

Signed-off-by: Christopher Baines <mail@cbaines.net>
2020-12-08 20:18:11 +00:00
Efraim Flashner
2d1a621b8d
gnu: mruby: Update to 2.1.2.
* gnu/packages/ruby.scm (mruby): Update to 2.1.2.
2020-12-08 22:09:30 +02:00
L p R n d n
8a55a3994c
gnu: Add mypaint.
* gnu/packages/image.scm (mypaint): New variable.

Signed-off-by: Christopher Baines <mail@cbaines.net>
2020-12-08 20:06:38 +00:00
Christopher Baines
c9c3569ad9
gnu: libmypaint: Update to 1.6.1.
Needed by mypaint@2.0.1.

* gnu/packages/gimp.scm (libmypaint): Update to 1.6.1.
2020-12-08 20:06:34 +00:00
Leo Famulari
e1d3b07ffc
gnu: isync: Use OpenSSL 1.1.
* gnu/packages/mail.scm (isync)[inputs]: Replace openssl-1.0 with openssl.
2020-12-08 13:25:27 -05:00
Efraim Flashner
adbb62f16e
gnu: fcitx5-material-color-theme: Add source file-name.
* gnu/packages/fcitx5.scm (fcitx5-material-color-theme)[source]: Add
file-name field.
2020-12-08 18:14:31 +02:00
Julien Lepiller
ccc4d287b7
guix: opam: Add coq support in the importer.
* guix/import/opam.scm (get-opam-repository): Add support for coq
repositories.
(ocaml-name->guix-name): Properly name coq package.
* doc/guix.texi (Invoking guix import): Document it.
2020-12-08 16:53:07 +01:00
Julien Lepiller
a8dccd4bdc
guix: opam: Add --repo argument to importer.
* guix/scripts/import/opam.scm (guix-import-opam): Pass --repo argument
to recursive and non-recursive importers.
* guix/import/opam.scm (get-opam-repository): Select proper repository
location depending on a new repo argument.
(opam->guix-package): Use get-opam-repository in the procedure body.
2020-12-08 16:47:22 +01:00
Julien Lepiller
15ee1b8317
guix: opam: Pass default repository to recursive importer.
* guix/import/opam.scm (opam->guix-package): Rename #:repository key
to #:repo.
(opam-recursive-import): Pass #:repo keyword.
* tests/opam.scm (opam->guix-package): Rename #:repository to #:repo.
2020-12-08 16:40:30 +01:00
Julien Lepiller
59873d94ce
guix: opam: Filter implicit inputs.
* guix/import/opam.scm (opam->guix-package, depends->inputs): Filter out
implicit inputs.
2020-12-08 16:40:19 +01:00
Julien Lepiller
4e110f61ac
guix: opam: Remove stray `pk'.
* guix/import/opam.scm (opam->guix-package): Remove stray `pk'.
2020-12-08 16:40:04 +01:00
Zhu Zihao
af34f757ce
gnu: Add fcitx5-material-color-theme.
* gnu/packages/fcitx5.scm (fcitx5-material-color-theme): New variable.

Signed-off-by: 宋文武 <iyzsong@member.fsf.org>
2020-12-08 20:31:47 +08:00
Zhu Zihao
ac1c7530d8
gnu: Add fcitx5-configtool.
* gnu/packages/fcitx5.scm (fcitx5-configtool): New variable.

Signed-off-by: 宋文武 <iyzsong@member.fsf.org>
2020-12-08 20:31:47 +08:00
Zhu Zihao
9a23698ecd
gnu: Add fcitx5-chinese-addons.
* gnu/packages/fcitx5.scm (fcitx5-chinese-addons): New variable.

Signed-off-by: 宋文武 <iyzsong@member.fsf.org>
2020-12-08 20:31:47 +08:00
Zhu Zihao
d4aca38b50
gnu: Add fcitx5-gtk.
* gnu/packages/fcitx5.scm (fcitx5-gtk): New variable.

Signed-off-by: 宋文武 <iyzsong@member.fsf.org>
2020-12-08 20:31:47 +08:00
Zhu Zihao
4394d3721a
gnu: Add fcitx5-qt.
* gnu/packages/fcitx5.scm (fcitx5-qt): New variable.

Signed-off-by: 宋文武 <iyzsong@member.fsf.org>
2020-12-08 20:31:47 +08:00
Zhu Zihao
69d3419ca3
gnu: Add libime.
* gnu/packages/fcitx5.scm (libime): New variable.

Signed-off-by: 宋文武 <iyzsong@member.fsf.org>
2020-12-08 20:31:47 +08:00
Zhu Zihao
2d07803be8
gnu: Add fcitx5-lua.
* gnu/packages/fcitx5.scm (fcitx5-lua): New variable.

Signed-off-by: 宋文武 <iyzsong@member.fsf.org>
2020-12-08 20:31:47 +08:00
Zhu Zihao
aa5cfb39a5
gnu: Add fcitx5.
* gnu/packages/fcitx5.scm (fcitx5): New variable.

Signed-off-by: 宋文武 <iyzsong@member.fsf.org>
2020-12-08 20:31:47 +08:00
Zhu Zihao
ad6cf3d4ad
gnu: Add xcb-imdkit.
* gnu/packages/fcitx5.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.

Signed-off-by: 宋文武 <iyzsong@member.fsf.org>
2020-12-08 20:31:47 +08:00
Mathieu Othacehe
770fb659a6
services: cuirass: Add queue-size option.
* gnu/services/cuirass.scm (<cuirass-configuration>): Add "queue-size" field.
(cuirass-shepherd-service): Honor it.
* doc/guix.texi (Continuous Integration): Document it.
2020-12-08 11:56:26 +01:00
Mathieu Othacehe
2dd4f389c7
gnu: cuirass: Update to 0.0.1-56.697fa14.
* gnu/packages/ci.scm (cuirass): Update to 0.0.1-56.697fa14.
2020-12-08 11:48:53 +01:00
Ryan Prior
ab58b2cc32
gnu: Add cjson.
* gnu/packages/javascript.scm (cjson): New variable.

Signed-off-by: Christopher Baines <mail@cbaines.net>
2020-12-08 09:26:46 +00:00
Ryan Prior
b5c51ae086
gnu: Add tiny-bignum.
* gnu/packages/maths.scm (tiny-bignum): New variable.

Signed-off-by: Christopher Baines <mail@cbaines.net>
2020-12-08 09:21:50 +00:00
Martin Becze
2d8deaa06e
gnu: trezord: Update to 2.0.30.
* gnu/packages/finance.scm (trezord): Update to 2.0.30.

Signed-off-by: Christopher Baines <mail@cbaines.net>
2020-12-08 08:50:43 +00:00
Martin Becze
2d9acf675a
gnu: Add go-gopkg-in-natefinch-lumberjack.v2.
* gnu/packages/golang.scm (go-gopkg-in-natefinch-lumberjack.v2): New variable.

Signed-off-by: Christopher Baines <mail@cbaines.net>
2020-12-08 08:50:43 +00:00
Martin Becze
2d0716e081
gnu: Add go-github-com-gorilla-csrf.
* gnu/packages/golang.scm (go-github-com-gorilla-csrf): New variable.

Signed-off-by: Christopher Baines <mail@cbaines.net>
2020-12-08 08:37:49 +00:00
Martin Becze
4368b9b2d7
gnu: Add go-github-com-gorilla-securecookie.
* gnu/packages/golang.scm (go-github-com-gorilla-securecookie): New variable.

Signed-off-by: Christopher Baines <mail@cbaines.net>
2020-12-08 08:37:49 +00:00
Martin Becze
d2a42cee0b
gnu: Add go-github-com-gorilla-handlers.
* gnu/packages/golang.scm (go-github-com-gorilla-handlers): New variable.

Signed-off-by: Christopher Baines <mail@cbaines.net>
2020-12-08 08:37:49 +00:00
Martin Becze
33504d4d70
gnu: Add go-github-com-felixge-httpsnoop.
* gnu/packages/golang.scm (go-github-com-felixge-httpsnoop): New variable.

Signed-off-by: Christopher Baines <mail@cbaines.net>
2020-12-08 08:37:44 +00:00
Martin Becze
836428c793
gnu: go-github-com-gorilla-mux: Update to 1.8.0.
* gnu/packages/golang.scm (go-github-com-gorilla-mux): Update to 1.8.0.

Signed-off-by: Christopher Baines <mail@cbaines.net>
2020-12-08 08:31:29 +00:00
Tobias Geerinckx-Rice
53cd301b08
gnu: scummvm: Update source URL.
* gnu/packages/emulators.scm (scummvm)[source]: Use HTTPS & new
subdomain.

Reported by Matthew Brooks <matthewfbrooks@mailbox.org>.
2020-12-08 08:46:54 +01:00
Michael Rohleder
dcf8dd2be5
gnu: gita: Install shell completions.
* gnu/packages/version-control.scm (gita)[arguments]: Add phase
install-shell-completions.

Signed-off-by: Oleg Pykhalov <go.wigust@gmail.com>
2020-12-08 08:09:21 +03:00
Ryan Desfosses
b5e52d8225
gnu: Add emacs-burly.
* gnu/packages/emacs-xyz.scm (emacs-burly): New variable.

Signed-off-by: Oleg Pykhalov <go.wigust@gmail.com>
2020-12-08 07:59:24 +03:00
Ryan Desfosses
fedf7d5721
gnu: Add emacs-map.
* gnu/packages/emacs-xyz.scm (emacs-map): New variable.

Signed-off-by: Oleg Pykhalov <go.wigust@gmail.com>
2020-12-08 07:59:22 +03:00
Leo Prikler
403dda2e66
gnu: shadowsocks: Build against openssl.
This patch allows shadowsocks to be used without supplying libopenssl in its
configuration.  See also https://unix.stackexchange.com/questions/623324/.

* gnu/packages/networking.scm (shadowsocks)[inputs]: Add openssl.
[#:phases]: Add patch-crypto-paths.

Signed-off-by: Marius Bakke <marius@gnu.org>
2020-12-08 00:45:56 +01:00
Marius Bakke
adf0edadef
gnu: qoauth: Minor cosmetic improvements.
* gnu/packages/web.scm (qoauth)[arguments]: Add #:tests?.  Don't delete
'check' phase.  Override 'configure' instead of adding new phase.
2020-12-08 00:45:56 +01:00
Marius Bakke
627b70e3ac
gnu: qoauth: Fix build failure.
Fixes <https://bugs.gnu.org/45031>.
Reported by Distopico <distopico@riseup.net>.

* gnu/packages/web.scm (qoauth)[arguments]: Add phase
'adjust-mkspecs-directory'.
2020-12-08 00:45:56 +01:00
Marius Bakke
63be1a7dae
gnu: qca: Correct license.
* gnu/packages/kde.scm (qca)[license]: Change from LGPL2.1 to LGPL2.1+.
2020-12-08 00:45:56 +01:00
Oleg Pykhalov
608113c083
gnu: Add gita.
* gnu/packages/version-control.scm (gita): New variable.
2020-12-08 01:49:38 +03:00
Tobias Geerinckx-Rice
ac3af8f7ed
gnu: imapfilter: Update to 2.7.5.
* gnu/packages/mail.scm (imapfilter): Update to 2.7.5.
2020-12-07 23:44:36 +01:00