summaryrefslogtreecommitdiff
path: root/guix
Commit message (Collapse)AuthorAge
* publish: Add '--negative-ttl'.Ludovic Courtès2021-05-16
| | | | | | | | | * guix/scripts/publish.scm (show-help, %options): Add '--negative-ttl'. (render-narinfo, render-narinfo/cached, make-request-handler): Add #:negative-ttl and honor it. (run-publish-server): Add #:narinfo-negative-ttl and honor it. (guix-publish): Honor '--negative-ttl'. * tests/publish.scm ("negative TTL", "no negative TTL"): New tests.
* substitutes: Reduce negative TTLs.Ludovic Courtès2021-05-16
| | | | | * guix/substitutes.scm (%narinfo-negative-ttl): Change to 15mn. (%narinfo-transient-error-ttl): Halve.
* inferior: Support querying package replacements.Christopher Baines2021-05-15
| | | | | | | | I'm looking at this to help with adding support for looking up package replacements to store in the Guix Data Service. * guix/inferior.scm (inferior-package-replacement): New procedure. * tests/inferior.scm ("inferior-package-replacement"): New test.
* swh: 'lookup-origin-revision' ignores partial visits.Ludovic Courtès2021-05-14
| | | | | * guix/swh.scm (lookup-origin-revision): Filter out visits with a status different from 'full.
* self: Add dependency on Disarchive.Ludovic Courtès2021-05-14
| | | | | | | | | This enables the Disarchive fallback implemented in commit fbc2a52a32ddc664db8ebab420c2e17b1432c744 (on foreign distros). * guix/self.scm (specification->package): Add "disarchive". (compiled-guix): Add DISARCHIVE to DEPENDENCIES in the #:dependencies argument to 'guix-command'.
* import: go: Fix goproxy option argument's format.Zheng Junjie2021-05-14
| | | | | | | | | | | | Commit a8b927a562 Added new procedure go-module-available-versions use 'string-append' to GOPROXY, but 'string->symbol' let GOPROXY is a symbol (it must be a string), which would lead to wrong-type-arg errors in the 'string-append' procedure. * guix/scripts/import/go.scm (%options)[goproxy]: Remove call to 'string->symbol'. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* challenge: Be defensive in the size passed to the progress reporter.Ludovic Courtès2021-05-13
| | | | | | | | | Possibly fixes <https://bugs.gnu.org/48045>. Reported by Bone Baboon <bone.baboon@disroot.org>. * guix/scripts/challenge.scm (call-with-nar): Rename second value returned by 'http-fetch' to match reality. Change second argument to 'progress-reporter/file'.
* self: Build with 'guile-3.0-latest'.Ludovic Courtès2021-05-13
| | | | | * guix/self.scm (specification->package): Use 'guile-3.0-latest' instead of 'guile-3.0/libgc-7'.
* channels: Add a #:system argument to channel-instances->manifest.Christopher Baines2021-05-12
| | | | | | | | | | | | | | | | | | | | | | This allows computing a manifest for a specific system. Previously this was possible, but only through changing %current-system, which caused the derivation to be computed using that system as well (so computing a derivation for aarch64-linux on x86_64-linux would require running aarch64-linux code). This new argument adds the possibility of computing derivations for non-native systems, without having to run non-native code. I'm looking at this as it will enable the Guix Data Service to compute channel instance derivations without relying on QEMU emulation for non-native systems (it should be faster as well). * guix/channels.scm (build-from-source): Add #:system argument and pass to build. (build-channel-instance): Add system argument and pass to build-from-source. (channel-instance-derivations): Add #:system argument and pass to build-channel-instance, also rename system to current-system-value. (channel-instances->manifest): Add #:system argument and pass to channel-instance-derivations.
* Merge branch 'version-1.3.0'Maxim Cournoyer2021-05-11
|\
| * describe: Gracefully handle profiles that lack provenance info.Ludovic Courtès2021-05-09
| | | | | | | | | | | | | | | | | | | | | | | | | | Fixes <https://bugs.gnu.org/48313>. Previously, 'current-channels' would return the empty list when 'current-profile' is true but the profile lacks provenance info. * guix/describe.scm (current-channels)[build-time-metadata]: New procedure. Call it when 'manifest-entry-channel' returns #f for all of ENTRIES. * guix/scripts/describe.scm (guix-describe): When PROFILE is true, pass third argument to 'display-profile-info'.
| * diagnostics, ui: Adjust to 'read-error' and 'syntax-error' in Guile 3.0.6.Ludovic Courtès2021-05-09
| | | | | | | | | | | | | | | | | | | | | | | | | | * guix/diagnostics.scm (source-properties->location): Add clause for vectors. * guix/ui.scm (report-load-error): Tweak 'read-error' handling for 3.0.6. * tests/guix-package.sh: Relax regexp for the "unbound variable" diagnostic check. * tests/guix-system.sh: Adjust "missing closing paren" check for 3.0.6. * tests/records.scm (location-alist): New procedure. ("define-record-type* & wrong field specifier") ("define-record-type* & wrong field specifier, identifier") ("define-record-type* & duplicate initializers"): Use it.
| * swh: Adjust for compatibility with Guile 2.2's (web client).Ludovic Courtès2021-05-05
| | | | | | | | | | | | | | Guile <= 2.2.7 did not support #:verify-certificate? so work around it. * guix/swh.scm (http-get*, http-post*) [! guile-3]: Add variant for Guile 2.2.
| * http-client: Remove exception mishandling in 'http-multiple-get'.Ludovic Courtès2021-04-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Partly fixes <https://bugs.gnu.org/47867>. Reported by Florian Pelz <pelzflorian@pelzflorian.de>. The non-tail recursive call to 'connect' could cause requests to be processed twice, with 'p' possibly closed the second time. Regression introduced in 205833b72c5517915a47a50dbe28e7024dc74e57 and carried over in 45fce38fb0b6c6796906149ade145b8d3594c1c6. * guix/http-client.scm (http-multiple-get): Remove call to 'close-port' and recursive call to 'connect' when the 'write-request' block returns #f.
| * http-client, substitute: Gracefully handle GnuTLS EAGAIN/EINTR.Ludovic Courtès2021-04-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Partly fixes <https://bugs.gnu.org/47867>. Reported by Florian Pelz <pelzflorian@pelzflorian.de>. In GnuTLS up to 3.7.1 included, GNUTLS_E_AGAIN and GNUTLS_E_INTERRUPTED are not handled by 'write_to_session_record_port' and could be thrown at the caller. This patch works around that by dropping connections altogether and restarting when this happens. * guix/http-client.scm (false-if-networking-error): Swallow ERROR/AGAIN and ERROR/INTERRUPTED. * guix/scripts/substitute.scm (call-with-cached-connection): Likewise.
| * cve: Gracefully handle bogus CVE entries.Ludovic Courtès2021-04-25
| | | | | | | | | | | | | | | | | | Fixes <https://bugs.gnu.org/47941>. Reported by Jack Hill <jackhill@jackhill.us>. * guix/cve.scm (reference-data->cve-references): Gracefully handle lack of "reference_data". (cpe-match->cve-configuration): Gracefully handle lack of "cpe23Uri".
| * import: Remove Nix importer.Ludovic Courtès2021-04-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This importer has suffered from bitrot and no longer works with current Nix and Nixpkgs. See <https://bugs.gnu.org/32339> and <https://bugs.gnu.org/36255>. * guix/import/snix.scm, guix/scripts/import/nix.scm, tests/snix.scm: Remove. * Makefile.am (MODULES, SCM_TESTS): Remove them. * guix/scripts/import.scm (importers): Remove "nix". * build-aux/test-env.in: Remove NIXPKGS variable. * configure.ac: Remove '--with-nixpkgs' option. * doc/guix.texi (Invoking guix import): Remove bit about "guix import nix". * etc/completion/fish/guix.fish: Likewise.
| * import: go: Autoload (htmlprag).Ludovic Courtès2021-04-23
| | | | | | | | | | | | | | Fixes <https://bugs.gnu.org/47924>. Reported by Carl Dong <contact@carldong.me>. * guix/import/go.scm: Autoload (htmlprag).
| * import: go: Do not set '%strict-tokenizer?' from the top level.Ludovic Courtès2021-04-23
| | | | | | | | | | | | | | | | | | | | This avoids interference with other users of (htmlprag) and makes the intent clearer. * guix/import/go.scm <top level>: Remove call to '%strict-tokenizer?'. (go-package-licenses, go-package-description) (go-package-synopsis, fetch-module-meta-data): Pass #:strict? #t to 'html->sxml'.
* | ssh: Fix type that broke offloading.Ludovic Courtès2021-05-11
| | | | | | | | | | | | | | Reported by Simon Streit <simon@netpanic.org>. Regression introduced in 3270308eebe82075d2f02517c5a2b1599928495c. * guix/ssh.scm (remote-daemon-channel)[redirect]: Unquote SOCKET-NAME.
* | guix: scripts system: Increase the size for generating Docker container images.Roel Janssen2021-05-10
| | | | | | | | * guix/scripts/system.scm: Override the default of 256.
* | ssh: Honor GUIX_DAEMON_SOCKET on the target machine.Ludovic Courtès2021-05-08
| | | | | | | | | | | | | | | | | | Fixes <https://bugs.gnu.org/48240>. Reported by Ricardo Wurmus <rekado@elephly.net>. * guix/ssh.scm (remote-daemon-channel)[redirect]: Define 'connect-to-daemon'. Use the same-named procedure from (guix store) when available, and honor GUIX_DAEMON_SOCKET.
* | store: Export 'connect-to-daemon'.Ludovic Courtès2021-05-08
| | | | | | | | * guix/store.scm (connect-to-daemon): Make public. Improve docstring.
* | ssh: 'connect-to-remote-daemon' raises a nicer message upon error.Ludovic Courtès2021-05-08
| | | | | | | | | | * guix/ssh.scm (connect-to-remote-daemon): Catch 'store-connection-error?' and rethrow.
* | store: 'open-connection' never returns #f.Ludovic Courtès2021-05-08
| | | | | | | | | | * guix/store.scm (open-connection)[handshake-error]: New procedure. Call it in code paths that would previously return #f.
* | weather: '--display-missing' shows the system type of missing items.Ludovic Courtès2021-05-08
| | | | | | | | | | | | * guix/scripts/weather.scm (store-item-system): New procedure. (report-server-coverage): Use it to print the system type of each missing item.
* | build-system: asdf: Work around package-name->name+version bug.Guillaume Le Vaillant2021-05-08
| | | | | | | | | | | | | | | | | | | | | | This patch modifies how the name of the main Common Lisp system is extracted from the full Guix package name to work around bug#48225 concerning the 'package-name->name+version' function. Fixes <https://issues.guix.gnu.org/41437>. * guix/build-system/asdf.scm (asdf-build): Fix 'systems' function. * guix/build/asdf-build-system.scm (main-system-name): Fix it.
* | download: Restore error reporting.Timothy Sample2021-05-05
| | | | | | | | | | | | | | | | | | | | | | Normal error reporting was disrupted by the introduction of Disarchive in commit fbc2a52a32ddc664db8ebab420c2e17b1432c744. In particular, running 'guix download' would succeed with a partially downloaded file. * guix/build/download.scm (disarchive-fetch/any): Return '#f' when Disarchive cannot be found, the specification cannot be found, or Disarchive fails due to an error.
* | cvs-download: Fix module exportsKonrad Hinsen2021-05-05
| | | | | | | | | | | | | | * guix/cvs-download.scm: Remove non-existent export cvs-reference-url, add cvs-reference-root-directory and cvs-reference-module Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* | swh: Adjust for compatibility with Guile 2.2's (web client).Ludovic Courtès2021-05-05
| | | | | | | | | | | | | | Guile <= 2.2.7 did not support #:verify-certificate? so work around it. * guix/swh.scm (http-get*, http-post*) [! guile-3]: Add variant for Guile 2.2.
* | profiles: texlive-configuration: Handle updmap.cfg conflict.Ricardo Wurmus2021-05-05
| | | | | | | | | | | | | | | | | | The profile hook would fail when preparing an environment for a package using texlive-union, because the union already had a updmap.cfg file. Reported-by: Lars-Dominik Braun <ldb@leibniz-psychology.org>. * guix/profiles.scm (texlive-configuration): Delete updmap.cfg if it exists.
* | build-system: emacs: Clarify %install-dir.Leo Prikler2021-05-05
| | | | | | | | | | | | | | | | The old comment is no longer adequate, see <https://lists.gnu.org/archive/html/guix-patches/2021-05/msg00113.html>. * guix/build/emacs-build-system.scm (%install-dir): Adjust comment to better reflect usage of this variable.
* | ui: Suggest installing glibc-locales, not glibc-utf8-locales.Maxim Cournoyer2021-05-05
| | | | | | | | | | | | | | | | | | | | | | Users (both old and new) struggling with locale warnings is a recurrent theme; part of it may be due to the glibc-utf8-locales package being misleading, as it only includes a subset of the UTF-8 locales. To prevent confusion, suggest installing the glibc-locales package instead. * guix/ui.scm (install-locale): Do not mention glibc-utf8-locales in the hint message. Use glibc-locales instead of glibc-utf8-locales in the provided example.
* | status: Avoid abbreviation in messages.Ludovic Courtès2021-05-05
| | | | | | | | | | | | This is a followup to 68228d80dd575f0042d71b4563d82a8fef577a47. * guix/status.scm (hook-message): Spell out "sub-directories".
* | profiles: texlive-configuration: Refresh font maps.Ricardo Wurmus2021-05-03
| | | | | | | | | | * guix/profiles.scm (texlive-configuration): Run updmap to generate font maps necessary for pdflatex and other tools.
* | android-repo-download: Add guile-json extension.Mathieu Othacehe2021-05-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This partially fixes: <https://issues.guix.gnu.org/48152>. The (guix build download-nar) module drags the (guix build download) module that autoloads (guix swh). [13/26] Loading './guix/swh.scm'... ;;; Failed to autoload swh-download-directory in (guix swh): ;;; no code for module (json) Backtrace: In srfi/srfi-1.scm: 460:18 19 (fold #<procedure 7ffff2c50760 at ice-9/eval.scm:336:1?> ?) In ice-9/eval.scm: 619:8 18 (_ #(#(#<directory (guix build utils) 7ffff318fd20>) # ?)) In ice-9/boot-9.scm: 2806:4 17 (save-module-excursion #<procedure 7ffff25b1a00 at ice-?>) In unknown file: 16 (primitive-load "./guix/swh.scm") In ice-9/eval.scm: 721:20 15 (primitive-eval (define-module (guix swh) #:use-module ?)) In ice-9/psyntax.scm: 1241:36 14 (expand-top-sequence ((define-module (guix swh) # # ?)) ?) 1233:19 13 (parse _ (("placeholder" placeholder)) ((top) #(# # ?)) ?) 285:10 12 (parse _ (("placeholder" placeholder)) (()) _ c&e (eval) ?) In ice-9/eval.scm: 293:34 11 (_ #<directory (guix build utils) 7ffff318fd20>) In ice-9/boot-9.scm: 3380:4 10 (define-module* _ #:filename _ #:pure _ #:version _ # _ ?) 2565:24 9 (call-with-deferred-observers #<procedure 7ffff2215230 ?>) 3393:24 8 (_) 222:29 7 (map1 (((guix base16)) ((guix build utils)) ((# ?) ?) ?)) 222:29 6 (map1 (((guix build utils)) ((guix build syscalls) ?) ?)) 222:29 5 (map1 (((guix build syscalls) #:select (mkdtemp!)) (#) ?)) 222:29 4 (map1 (((web uri)) ((web client)) ((web response)) (#) ?)) 222:29 3 (map1 (((web client)) ((web response)) ((json)) ((?)) ?)) 222:29 2 (map1 (((web response)) ((json)) ((srfi srfi-1)) ((?)) ?)) 222:17 1 (map1 (((json)) ((srfi srfi-1)) ((srfi srfi-9)) ((?)) ?)) 3300:6 0 (resolve-interface (json) #:select _ #:hide _ #:prefix _ ?) ice-9/boot-9.scm:3300:6: In procedure resolve-interface: no code for module (json) * guix/android-repo-download.scm (android-repo-fetch): Add guile-json extension.
* | cvs-download: Add guile-json and gnutls extensions.Mathieu Othacehe2021-05-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This partially fixes: <https://issues.guix.gnu.org/48152>. The (guix build download-nar) module drags the (guix build download) module that autoloads (guix swh). [13/26] Loading './guix/swh.scm'... ;;; Failed to autoload swh-download-directory in (guix swh): ;;; no code for module (json) Backtrace: In srfi/srfi-1.scm: 460:18 19 (fold #<procedure 7ffff2c50760 at ice-9/eval.scm:336:1?> ?) In ice-9/eval.scm: 619:8 18 (_ #(#(#<directory (guix build utils) 7ffff318fd20>) # ?)) In ice-9/boot-9.scm: 2806:4 17 (save-module-excursion #<procedure 7ffff25b1a00 at ice-?>) In unknown file: 16 (primitive-load "./guix/swh.scm") In ice-9/eval.scm: 721:20 15 (primitive-eval (define-module (guix swh) #:use-module ?)) In ice-9/psyntax.scm: 1241:36 14 (expand-top-sequence ((define-module (guix swh) # # ?)) ?) 1233:19 13 (parse _ (("placeholder" placeholder)) ((top) #(# # ?)) ?) 285:10 12 (parse _ (("placeholder" placeholder)) (()) _ c&e (eval) ?) In ice-9/eval.scm: 293:34 11 (_ #<directory (guix build utils) 7ffff318fd20>) In ice-9/boot-9.scm: 3380:4 10 (define-module* _ #:filename _ #:pure _ #:version _ # _ ?) 2565:24 9 (call-with-deferred-observers #<procedure 7ffff2215230 ?>) 3393:24 8 (_) 222:29 7 (map1 (((guix base16)) ((guix build utils)) ((# ?) ?) ?)) 222:29 6 (map1 (((guix build utils)) ((guix build syscalls) ?) ?)) 222:29 5 (map1 (((guix build syscalls) #:select (mkdtemp!)) (#) ?)) 222:29 4 (map1 (((web uri)) ((web client)) ((web response)) (#) ?)) 222:29 3 (map1 (((web client)) ((web response)) ((json)) ((?)) ?)) 222:29 2 (map1 (((web response)) ((json)) ((srfi srfi-1)) ((?)) ?)) 222:17 1 (map1 (((json)) ((srfi srfi-1)) ((srfi srfi-9)) ((?)) ?)) 3300:6 0 (resolve-interface (json) #:select _ #:hide _ #:prefix _ ?) ice-9/boot-9.scm:3300:6: In procedure resolve-interface: no code for module (json) * guix/cvs-download.scm (cvs-fetch): Add guile-json and gnutls as extensions.
* | hg-download: Add guile-json and gnutls extensions.Mathieu Othacehe2021-05-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This partially fixes: <https://issues.guix.gnu.org/48152>. The (guix build download-nar) module drags the (guix build download) module that autoloads (guix swh). [13/26] Loading './guix/swh.scm'... ;;; Failed to autoload swh-download-directory in (guix swh): ;;; no code for module (json) Backtrace: In srfi/srfi-1.scm: 460:18 19 (fold #<procedure 7ffff2c50760 at ice-9/eval.scm:336:1?> ?) In ice-9/eval.scm: 619:8 18 (_ #(#(#<directory (guix build utils) 7ffff318fd20>) # ?)) In ice-9/boot-9.scm: 2806:4 17 (save-module-excursion #<procedure 7ffff25b1a00 at ice-?>) In unknown file: 16 (primitive-load "./guix/swh.scm") In ice-9/eval.scm: 721:20 15 (primitive-eval (define-module (guix swh) #:use-module ?)) In ice-9/psyntax.scm: 1241:36 14 (expand-top-sequence ((define-module (guix swh) # # ?)) ?) 1233:19 13 (parse _ (("placeholder" placeholder)) ((top) #(# # ?)) ?) 285:10 12 (parse _ (("placeholder" placeholder)) (()) _ c&e (eval) ?) In ice-9/eval.scm: 293:34 11 (_ #<directory (guix build utils) 7ffff318fd20>) In ice-9/boot-9.scm: 3380:4 10 (define-module* _ #:filename _ #:pure _ #:version _ # _ ?) 2565:24 9 (call-with-deferred-observers #<procedure 7ffff2215230 ?>) 3393:24 8 (_) 222:29 7 (map1 (((guix base16)) ((guix build utils)) ((# ?) ?) ?)) 222:29 6 (map1 (((guix build utils)) ((guix build syscalls) ?) ?)) 222:29 5 (map1 (((guix build syscalls) #:select (mkdtemp!)) (#) ?)) 222:29 4 (map1 (((web uri)) ((web client)) ((web response)) (#) ?)) 222:29 3 (map1 (((web client)) ((web response)) ((json)) ((?)) ?)) 222:29 2 (map1 (((web response)) ((json)) ((srfi srfi-1)) ((?)) ?)) 222:17 1 (map1 (((json)) ((srfi srfi-1)) ((srfi srfi-9)) ((?)) ?)) 3300:6 0 (resolve-interface (json) #:select _ #:hide _ #:prefix _ ?) ice-9/boot-9.scm:3300:6: In procedure resolve-interface: no code for module (json) * guix/hg-download.scm (hg-fetch): Add guile-json and gnutls as extensions.
* | build-system: emacs: Use subdirectories again.Leo Prikler2021-05-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | With this, Emacs libraries are installed in the ELPA_NAME-VERSION subdirectory of site-lisp and potential subdirectories should no longer collide. * guix/build/emacs-build-system.scm (add-source-to-load-path): Rename to... (expand-load-path): ... this. Also expand lone subdirectories of site-lisp. (%standard-phases): Adjust accordingly. (elpa-directory): New variable. Export it publicly for use in other build systems. (build, patch-el-files, make-autoloads): Use ELPA name and version to construct subdirectories of %install-dir. (install): Install in subdirectory.
* | profiles: Add hook for Emacs subdirs.Leo Prikler2021-05-01
| | | | | | | | | | | | * guix/profiles.scm (emacs-subdirs): New variable. (%default-profile-hooks): Add it here. * guix/status.scm (hook-message): Add a message for emacs-subdirs.
* | download: Use Disarchive as a last resort.Timothy Sample2021-04-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a fixed version of 66b14dccdd0d83c875ce3a8d50ceab8b6f0a3ce2, which was reverted in e74250c3c535b75dd2225a26df51febb7ed94654. * guix/download.scm (%disarchive-mirrors): New variable. (%disarchive-mirror-file): New variable. (built-in-download): Add 'disarchive-mirrors' keyword argument and pass its value along to the 'builtin:download' derivation. (url-fetch): Pass '%disarchive-mirror-file' to 'built-in-download'. * guix/scripts/perform-download.scm (perform-download): Read Disarchive mirrors from the environment and pass them to 'url-fetch'. * guix/build/download.scm (disarchive-fetch/any): New procedure. (url-fetch): Add 'disarchive-mirrors' keyword argument, use it to make a list of URIs, and use the new procedure to fetch the file if all other methods fail. * build-aux/build-self.scm (build-program)[select?]: Exclude '(guix build download)'. * guix/self.scm (compiled-guix)[*core-modules*]: Add 'guile-json' to the list of extensions.
* | diagnostics, ui: Adjust to 'read-error' and 'syntax-error' in Guile 3.0.6.Ludovic Courtès2021-04-29
| | | | | | | | | | | | | | | | | | | | | | | | | | * guix/diagnostics.scm (source-properties->location): Add clause for vectors. * guix/ui.scm (report-load-error): Tweak 'read-error' handling for 3.0.6. * tests/guix-package.sh: Relax regexp for the "unbound variable" diagnostic check. * tests/guix-system.sh: Adjust "missing closing paren" check for 3.0.6. * tests/records.scm (location-alist): New procedure. ("define-record-type* & wrong field specifier") ("define-record-type* & wrong field specifier, identifier") ("define-record-type* & duplicate initializers"): Use it.
* | packages: 'package-with-patches' preserves package location.Ludovic Courtès2021-04-29
| | | | | | | | | | * guix/packages.scm (package-with-patches): Preserve the 'location' field of ORIGINAL.
* | Revert "download: Use Disarchive as a last resort."Timothy Sample2021-04-28
| | | | | | | | | | This reverts commit 66b14dccdd0d83c875ce3a8d50ceab8b6f0a3ce2, which broke 'guix pull'.
* | download: Use Disarchive as a last resort.Timothy Sample2021-04-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * guix/download.scm (%disarchive-mirrors): New variable. (%disarchive-mirror-file): New variable. (built-in-download): Add 'disarchive-mirrors' keyword argument and pass its value along to the 'builtin:download' derivation. (url-fetch): Pass '%disarchive-mirror-file' to 'built-in-download'. * guix/scripts/perform-download.scm (perform-download): Read Disarchive mirrors from the environment and pass them to 'url-fetch'. * guix/build/download.scm (disarchive-fetch/any): New procedure. (url-fetch): Add 'disarchive-mirrors' keyword argument, use it to make a list of URIs, and use the new procedure to fetch the file if all other methods fail.
* | swh: Add a directory download procedure.Timothy Sample2021-04-27
| | | | | | | | | | | | * guix/swh.scm (swh-directory-download): New procedure (with implementation extracted from 'swh-download'). (swh-download): Use it to download the revision directory.
* | http-client: Remove exception mishandling in 'http-multiple-get'.Ludovic Courtès2021-04-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Partly fixes <https://bugs.gnu.org/47867>. Reported by Florian Pelz <pelzflorian@pelzflorian.de>. The non-tail recursive call to 'connect' could cause requests to be processed twice, with 'p' possibly closed the second time. Regression introduced in 205833b72c5517915a47a50dbe28e7024dc74e57 and carried over in 45fce38fb0b6c6796906149ade145b8d3594c1c6. * guix/http-client.scm (http-multiple-get): Remove call to 'close-port' and recursive call to 'connect' when the 'write-request' block returns #f.
* | http-client, substitute: Gracefully handle GnuTLS EAGAIN/EINTR.Ludovic Courtès2021-04-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Partly fixes <https://bugs.gnu.org/47867>. Reported by Florian Pelz <pelzflorian@pelzflorian.de>. In GnuTLS up to 3.7.1 included, GNUTLS_E_AGAIN and GNUTLS_E_INTERRUPTED are not handled by 'write_to_session_record_port' and could be thrown at the caller. This patch works around that by dropping connections altogether and restarting when this happens. * guix/http-client.scm (false-if-networking-error): Swallow ERROR/AGAIN and ERROR/INTERRUPTED. * guix/scripts/substitute.scm (call-with-cached-connection): Likewise.
* | import: pypi: Clarify docstring of parse-requires.txtRovanion Luckey2021-04-22
| | | | | | | | | | | | | | * guix/import/pypi.scm (parse-requires.txt): Document the parameter more explicitly. Signed-off-by: Leo Famulari <leo@famulari.name>
* | status: Separate downloads upon '--verbosity=2'.Ludovic Courtès2021-04-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a followup to 1fa4aff1fbb46bbb9df8486ca12bfcfe6144458a, reintroducing the newline previously emitted by 'guix substitute' upon download completion. With this change, with '--verbosity=2', each download occupies three lines again, like so: --8<---------------cut here---------------start------------->8--- downloading from https://ci.guix.gnu.org/nar/lzip/…-jsoncpp-1.9.2 ... jsoncpp-1.9.2 93KiB 4.2MiB/s 00:00 [##################] 100.0% --8<---------------cut here---------------end--------------->8--- This makes the output more readable. * guix/status.scm (print-build-event): When PRINT-URLS? is true, print a blank line after the download.