summary refs log tree commit diff
AgeCommit message (Collapse)Author
2020-12-08substitute: Cache and reuse connections while substituting.Ludovic Courtès
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-08daemon: Run 'guix substitute --substitute' as an agent.Ludovic Courtès
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-08daemon: Factorize substituter agent spawning.Ludovic Courtès
* 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-08daemon: Use 'Agent' to spawn 'guix substitute --query'.Ludovic Courtès
* 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-08daemon: 'Agent' constructor takes a list of environment variables.Ludovic Courtès
* nix/libutil/util.hh (struct Agent)[Agent]: Add 'env' parameter. * nix/libutil/util.cc (Agent::Agent): Honor it.
2020-12-08gnu: autotools: Add version 2.70.Ludovic Courtès
* 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-08database: Remove unnecessary module imports.Ludovic Courtès
* guix/store/database.scm: Remove unnecessary imports added in 4b9eecd322e566783369795ebea63a479b51f486.
2020-12-08gnu: ocaml-menhir: Update to 20200211.Vincent Legoll
* 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-08gnu: mruby: Update to 2.1.2.Efraim Flashner
* gnu/packages/ruby.scm (mruby): Update to 2.1.2.
2020-12-08gnu: Add mypaint.L p R n d n
* gnu/packages/image.scm (mypaint): New variable. Signed-off-by: Christopher Baines <mail@cbaines.net>
2020-12-08gnu: libmypaint: Update to 1.6.1.Christopher Baines
Needed by mypaint@2.0.1. * gnu/packages/gimp.scm (libmypaint): Update to 1.6.1.
2020-12-08gnu: isync: Use OpenSSL 1.1.Leo Famulari
* gnu/packages/mail.scm (isync)[inputs]: Replace openssl-1.0 with openssl.
2020-12-08gnu: fcitx5-material-color-theme: Add source file-name.Efraim Flashner
* gnu/packages/fcitx5.scm (fcitx5-material-color-theme)[source]: Add file-name field.
2020-12-08guix: opam: Add coq support in the importer.Julien Lepiller
* 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-08guix: opam: Add --repo argument to importer.Julien Lepiller
* 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-08guix: opam: Pass default repository to recursive importer.Julien Lepiller
* 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-08guix: opam: Filter implicit inputs.Julien Lepiller
* guix/import/opam.scm (opam->guix-package, depends->inputs): Filter out implicit inputs.
2020-12-08guix: opam: Remove stray `pk'.Julien Lepiller
* guix/import/opam.scm (opam->guix-package): Remove stray `pk'.
2020-12-08gnu: Add fcitx5-material-color-theme.Zhu Zihao
* gnu/packages/fcitx5.scm (fcitx5-material-color-theme): New variable. Signed-off-by: 宋文武 <iyzsong@member.fsf.org>
2020-12-08gnu: Add fcitx5-configtool.Zhu Zihao
* gnu/packages/fcitx5.scm (fcitx5-configtool): New variable. Signed-off-by: 宋文武 <iyzsong@member.fsf.org>
2020-12-08gnu: Add fcitx5-chinese-addons.Zhu Zihao
* gnu/packages/fcitx5.scm (fcitx5-chinese-addons): New variable. Signed-off-by: 宋文武 <iyzsong@member.fsf.org>
2020-12-08gnu: Add fcitx5-gtk.Zhu Zihao
* gnu/packages/fcitx5.scm (fcitx5-gtk): New variable. Signed-off-by: 宋文武 <iyzsong@member.fsf.org>
2020-12-08gnu: Add fcitx5-qt.Zhu Zihao
* gnu/packages/fcitx5.scm (fcitx5-qt): New variable. Signed-off-by: 宋文武 <iyzsong@member.fsf.org>
2020-12-08gnu: Add libime.Zhu Zihao
* gnu/packages/fcitx5.scm (libime): New variable. Signed-off-by: 宋文武 <iyzsong@member.fsf.org>
2020-12-08gnu: Add fcitx5-lua.Zhu Zihao
* gnu/packages/fcitx5.scm (fcitx5-lua): New variable. Signed-off-by: 宋文武 <iyzsong@member.fsf.org>
2020-12-08gnu: Add fcitx5.Zhu Zihao
* gnu/packages/fcitx5.scm (fcitx5): New variable. Signed-off-by: 宋文武 <iyzsong@member.fsf.org>
2020-12-08gnu: Add xcb-imdkit.Zhu Zihao
* gnu/packages/fcitx5.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. Signed-off-by: 宋文武 <iyzsong@member.fsf.org>
2020-12-08services: cuirass: Add queue-size option.Mathieu Othacehe
* gnu/services/cuirass.scm (<cuirass-configuration>): Add "queue-size" field. (cuirass-shepherd-service): Honor it. * doc/guix.texi (Continuous Integration): Document it.
2020-12-08gnu: cuirass: Update to 0.0.1-56.697fa14.Mathieu Othacehe
* gnu/packages/ci.scm (cuirass): Update to 0.0.1-56.697fa14.
2020-12-08gnu: Add cjson.Ryan Prior
* gnu/packages/javascript.scm (cjson): New variable. Signed-off-by: Christopher Baines <mail@cbaines.net>
2020-12-08gnu: Add tiny-bignum.Ryan Prior
* gnu/packages/maths.scm (tiny-bignum): New variable. Signed-off-by: Christopher Baines <mail@cbaines.net>
2020-12-08gnu: trezord: Update to 2.0.30.Martin Becze
* gnu/packages/finance.scm (trezord): Update to 2.0.30. Signed-off-by: Christopher Baines <mail@cbaines.net>
2020-12-08gnu: Add go-gopkg-in-natefinch-lumberjack.v2.Martin Becze
* gnu/packages/golang.scm (go-gopkg-in-natefinch-lumberjack.v2): New variable. Signed-off-by: Christopher Baines <mail@cbaines.net>
2020-12-08gnu: Add go-github-com-gorilla-csrf.Martin Becze
* gnu/packages/golang.scm (go-github-com-gorilla-csrf): New variable. Signed-off-by: Christopher Baines <mail@cbaines.net>
2020-12-08gnu: Add go-github-com-gorilla-securecookie.Martin Becze
* gnu/packages/golang.scm (go-github-com-gorilla-securecookie): New variable. Signed-off-by: Christopher Baines <mail@cbaines.net>
2020-12-08gnu: Add go-github-com-gorilla-handlers.Martin Becze
* gnu/packages/golang.scm (go-github-com-gorilla-handlers): New variable. Signed-off-by: Christopher Baines <mail@cbaines.net>
2020-12-08gnu: Add go-github-com-felixge-httpsnoop.Martin Becze
* gnu/packages/golang.scm (go-github-com-felixge-httpsnoop): New variable. Signed-off-by: Christopher Baines <mail@cbaines.net>
2020-12-08gnu: go-github-com-gorilla-mux: Update to 1.8.0.Martin Becze
* gnu/packages/golang.scm (go-github-com-gorilla-mux): Update to 1.8.0. Signed-off-by: Christopher Baines <mail@cbaines.net>
2020-12-08gnu: scummvm: Update source URL.Tobias Geerinckx-Rice
* gnu/packages/emulators.scm (scummvm)[source]: Use HTTPS & new subdomain. Reported by Matthew Brooks <matthewfbrooks@mailbox.org>.
2020-12-08gnu: gita: Install shell completions.Michael Rohleder
* gnu/packages/version-control.scm (gita)[arguments]: Add phase install-shell-completions. Signed-off-by: Oleg Pykhalov <go.wigust@gmail.com>
2020-12-08gnu: Add emacs-burly.Ryan Desfosses
* gnu/packages/emacs-xyz.scm (emacs-burly): New variable. Signed-off-by: Oleg Pykhalov <go.wigust@gmail.com>
2020-12-08gnu: Add emacs-map.Ryan Desfosses
* gnu/packages/emacs-xyz.scm (emacs-map): New variable. Signed-off-by: Oleg Pykhalov <go.wigust@gmail.com>
2020-12-08gnu: shadowsocks: Build against openssl.Leo Prikler
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-08gnu: qoauth: Minor cosmetic improvements.Marius Bakke
* gnu/packages/web.scm (qoauth)[arguments]: Add #:tests?. Don't delete 'check' phase. Override 'configure' instead of adding new phase.
2020-12-08gnu: qoauth: Fix build failure.Marius Bakke
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-08gnu: qca: Correct license.Marius Bakke
* gnu/packages/kde.scm (qca)[license]: Change from LGPL2.1 to LGPL2.1+.
2020-12-08gnu: Add gita.Oleg Pykhalov
* gnu/packages/version-control.scm (gita): New variable.
2020-12-07gnu: imapfilter: Update to 2.7.5.Tobias Geerinckx-Rice
* gnu/packages/mail.scm (imapfilter): Update to 2.7.5.
2020-12-07gnu: grammalecte: Update to 2.0.0.Nicolas Goaziou
* gnu/packages/dictionaries.scm (grammalecte): Update to 2.0.0.
2020-12-07gnu: Add glmark2.Kei Kebreau
* gnu/packages/gl.scm (glmark2): New variable.