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