summaryrefslogtreecommitdiff
path: root/guix
AgeCommit message (Collapse)Author
2020-03-12gexp: Add 'with-parameters'.Ludovic Courtès
* guix/gexp.scm (<parameterized>): New record type. (with-parameters): New macro. (compile-parameterized): New gexp compiler. * tests/gexp.scm ("with-parameters for %current-system") ("with-parameters for %current-target-system") ("with-parameters + file-append"): New tests. * doc/guix.texi (G-Expressions): Document it.
2020-03-12inferior: Distinguish inferior exceptions.Ludovic Courtès
This avoids ambiguities when looking at a backtrace where the exception was actually thrown by an inferior in a very different context. * guix/inferior.scm (&inferior-exception): New condition type. (read-repl-response): Add optional 'inferior' parameter. Raise '&inferior-exception' instead of rethrowing to KEY when receiving an 'exception' message. (read-inferior-response): Pass INFERIOR to 'read-repl-response'. * tests/inferior.scm ("&inferior-exception"): New test.
2020-03-12import: cpan: Gracefully handle missing projects.Ludovic Courtès
* guix/import/cpan.scm (cpan-fetch): Check whether 'json-fetch' returns #f.
2020-03-12import: utils: Remove 'assoc-ref*'.Ludovic Courtès
* guix/import/utils.scm (assoc-ref*): Remove.
2020-03-12import: pypi: Rewrite to use 'define-json-mapping'.Ludovic Courtès
* guix/import/pypi.scm (non-empty-string-or-false): New procedure. (<pypi-project>, <project-info>, <distribution>): New record types. (pypi-fetch): Call 'json->pypi-project'. (latest-source-release, latest-wheel-release): Use the new record accessors instead of 'assoc-ref*'. (pypi->guix-package, latest-release): Likewise. * tests/pypi.scm (test-json): Add mandatory fields.
2020-03-11download: Remove (web http) workarounds no longer relevant.Ludovic Courtès
* guix/build/download.scm <top level>: Remove workarounds for <https://bugs.gnu.org/23421> and for <https://lists.gnu.org/archive/html/guix-devel/2017-11/msg00070.html>.
2020-03-11ui: Restore line wrapping for 'package->recutils'.Ludovic Courtès
Fixes a regression introduced when switching to Guile 3.0.0 whereby monkey-patching 'wrap*' wouldn't have any effects due to inlining. * guix/ui.scm (%text-width): Define in terms of the '*line-width*' fluid when it's defined. <top level>: Set (@@ (texinfo plain-text) wrap*) only when '*line-width*' is undefined.
2020-03-09download: Remove misbehaving kvin.lv mirror.Tobias Geerinckx-Rice
It issues bogus redirections instead of returning 404. * guix/download.scm (%mirrors): Remove kvin.lv from CPAN.
2020-03-08gexp: Default to current target.Mathieu Othacehe
* guix/gexp.scm (lower-object): Set target argument to 'current by default and look for the current target system at bind time if needed, (gexp->file): ditto, (gexp->script): ditto, (lower-gexp): make sure lowered extensions are not cross-compiled. * tests/gexp.scm: Add cross-compilation test-cases for gexp->script and gexp->file with a target passed explicitely and with a default target.
2020-03-08store: Add set-current-target procedure.Mathieu Othacehe
* guix/store.scm (set-current-target): New exported procedure.
2020-03-07import/cran: Add vignette builder to native inputs.Ricardo Wurmus
* guix/import/cran.scm (needs-knitr?): New procedure. (description->package): Use it.
2020-03-06scripts: Show disk-space warning when under the min of the thresholds.Pierre Neidhardt
Follow-up to 71c3c3df92375ca9b4bd28b2be90dda67288fa5c which got the logic wrong. * guix/scripts.scm (warn-about-disk-space): Compare AVAILABLE to the min of RELATIVE-THRESHOLD-IN-BYTES and ABSOLUTE-THRESHOLD-IN-BYTES, not the max.
2020-03-05weather: Parameterize '%graft?' upfront.Ludovic Courtès
* guix/scripts/weather.scm (guix-weather): Parameterize %GRAFT? upfront.
2020-03-05guix build: Parameterize '%graft?' upfront.Ludovic Courtès
* guix/scripts/build.scm (guix-build): Add 'graft?' variable and parameterize %GRAFT?.
2020-03-05weather: Allow non-package objects in manifest.Ludovic Courtès
* guix/scripts/weather.scm (package-outputs)[lower-object/no-grafts]: New procedure. Use it instead of 'package->derivation'.
2020-03-05guix build: Allow non-package objects in manifest.Ludovic Courtès
* guix/scripts/build.scm (options->things-to-build)[manifest->packages]: Remove. Inline map of 'manifest-entry-item'. * tests/guix-build.sh: Add test for "guix build -m" with non-package object.
2020-03-04import: pypi: Add more licensesLars-Dominik Braun
* guix/import/pypi.scm (string->license): Add the BSD 2-clause and MPL 2.0 licenses, and add more strings for BSD 3-clause and Expat license. Signed-off-by: Leo Famulari <leo@famulari.name>
2020-03-02file-systems: Add a 'file-system-device->string' procedure.Maxim Cournoyer
* gnu/system/file-systems.scm (file-system-device->string): New procedure. * gnu/system.scm (bootable-kernel-arguments): Use it. * gnu/system/vm.scm (operating-system-uuid): Likewise. * guix/scripts/system.scm (display-system-generation): Likewise.
2020-02-28build-system: copy-build-system: Keep symlinks symbolic.Leo Prikler
guix/build/copy-build-system.scm (install)[install-file]: Read symlinks as is done in install-simple through copy-recursively. Signed-off-by: Pierre Neidhardt <mail@ambrevar.xyz>
2020-02-28Revert "ui: Only display link in capable terminals."Ludovic Courtès
This reverts commit d7545a6b538813e88195d084f75a3e87065c999e. The commit led to a test failure in 'tests/guix-package-net.sh'. It also led to disagreements discussed here: https://lists.gnu.org/archive/html/guix-devel/2020-02/msg00353.html Reverting until these are addressed.
2020-02-27scripts: Adjust disk-space warning functionality.Ludovic Courtès
This is a followup to fb7eec3a84afd7464027d2492a8b551a61df2725. * guix/scripts.scm (warn-about-disk-space): Do not multiply ABSOLUTE-THRESHOLD-IN-BYTES by 2^30. Compare AVAILABLE to the max of RELATIVE-THRESHOLD-IN-BYTES and ABSOLUTE-THRESHOLD-IN-BYTES, not the min. Display AVAILABLE divided by 2^30.
2020-02-27guix package: Don't error out when failing to create ~/.guix-profile.Ludovic Courtès
This is a followup to 7842ddcbc118cbc2799e22651732b7cdc06b93ee, which broke tests when 'HOME' is unset. * guix/scripts/package.scm (ensure-default-profile): Silently ignore 'symlink' exceptions.
2020-02-27emacs-build-system: Byte compile the autoload files.Maxim Cournoyer
* guix/build/emacs-build-system.scm (enable-autoloads-compilation) (validate-compiled-autoloads): Add procedures. (%standard-phases): Register the new procedures. * gnu/packages/aux-files/emacs/guix-emacs.el (guix-emacs-find-autoloads): Remove duplicates in the list of autoload files found. * guix/build/emacs-utils.scm (expr->string): Add procedure. (emacs-batch-eval, emacs-batch-edit-file): Use it.
2020-02-26scripts: Emit GC hint if free space is lower than absolute and relative ↵Pierre Neidhardt
threshold. * guix/scripts.scm (%disk-space-warning-absolute): New variable. (warn-about-disk-space): Test against %disk-space-warning-absolute. Fix error in display-hint due to extraneous 'profile' argument. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2020-02-25build-system/linux-module: Disable depmod.Danny Milosavljevic
* guix/build/linux-module-build-system.scm (install): Disable depmod.
2020-02-25guix: node-build-system: Do not symlink /bin.Julien Lepiller
* guix/build/node-build-system.scm (install): Do not add a symlink for /bin.
2020-02-24build-system: Fix copy-build-system default install plan.Pierre Neidhardt
* guix/build-system/copy.scm (copy-build): Set install-plan default value to copy everything from source to the output.
2020-02-24ui: Don't truncate search output when inside Emacs.Pierre Neidhardt
* guix/ui.scm (display-search-results): Loop over all results when INSIDE_EMACS is set.
2020-02-24ui: Don't disable colors when INSIDE_EMACS is set.Pierre Neidhardt
* guix/colors.scm (color-output?): Remove INSIDE_EMACS condition.
2020-02-24ui: Only display link in capable terminals.zimoun
* guix/ui.scm (display-generation): Display generation path on new line. * guix/scripts/describe.scm (channel-commit-hyperlink): Add TRANSFORMER argument. (display-profile-content): Use TRANSFORMER argument to display URL explicitly when terminal does not support hyperlinks.
2020-02-23ui: (size->number "1.M") is correctly parsed.Ludovic Courtès
Reported by Pierre Neidhardt <mail@ambrevar.xyz>. * guix/ui.scm (size->number)[unit-pos]: Add #\. to CHAR-SET:DIGIT. * tests/ui.scm ("size->number, 1.M"): New test.
2020-02-23swh: Handle absolute URLs being returned by the API.Jakub Kądziołka
* guix/swh.scm (swh-url): Don't prepend (%swh-base-url) if a domain is already present. This fixes the "guix lint: warning: while connecting to Software Heritage: host lookup failure: Name or service not known" error message.
2020-02-22import: github: Use HTTP "Authorization" header for access tokens.Matt Wette
Fixes <https://bugs.gnu.org/39511>. The "access_token" query parameter is now deprecated: https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api/#authenticating-using-query-parameters * guix/import/github.scm (fetch-releases-or-tags)[headers]: Add "Authorization" header when (%github-token) is true. [decorate]: Remove, and remove callers.
2020-02-22deduplication: Use nix-base32 encoding for link names.Ludovic Courtès
Fixes <https://bugs.gnu.org/39725>. * guix/store/deduplication.scm (deduplicate): Use 'bytevector->nix-base32-string' instead of 'bytevector->base16-string'.
2020-02-21build-system: Add copy-build-system.Pierre Neidhardt
* guix/build-system/copy.scm: New file. * guix/build/copy-build-system.scm: New file. * Makefile.am (MODULES): Add them. * doc/guix.texi (Build Systems): Document 'copy-build-system'.
2020-02-20ssh: Add Kerberos-support to ssh:// daemon URLsLars-Dominik Braun
* guix/ssh.scm (open-ssh-session): Fall back to GSSAPI if public key authentication does not work Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2020-02-18scripts: system: Do not validate network file systems.Maxim Cournoyer
Fixes <https://bugs.gnu.org/39551>. * guix/scripts/system.scm (check-file-system-availability): Ignore file systems of the NFS type.
2020-02-14guix build: Add '--manifest' option.Marius Bakke
* guix/scripts/build.scm (show-help): Document --manifest argument. (options->things-to-build): When given a manifest, evaluate all the entries. * tests/guix-build.sh: Add test for --manifest. * doc/guix.texi (Additional Build Options): Mention --manifest. * etc/completion/bash/guix: Complete file name if 'guix build' argument is -m.
2020-02-11build: go-build-system: Disable Go module support.Jack Hill
This allows for upgrading the Go compiler without overhauling go-build-system first. * guix/build/go-build-system.scm (setup-go-environment): Set GO111MODULE to off. Signed-off-by: Alex Griffin <a@ajgrf.com>
2020-02-11ui: Fix typo in comment.Ludovic Courtès
Reported by Vincent Legoll <vincent.legoll@gmail.com>. * guix/ui.scm (call-with-error-handling): Remove "come" in comment.
2020-02-11describe: Remove dependency on (guix scripts pull).Ludovic Courtès
Until now, 'guix describe' would perform ~3K stat calls and ~1K openat calls because it was pulling (guix scripts pull), which in turn pulls in many (gnu packages …) modules. * guix/scripts/pull.scm (display-profile-content, %vcs-web-views) (channel-commit-hyperlink): Move to... * guix/scripts/describe.scm: ... here. Remove import of (guix scripts pull).
2020-02-11swh: Remove 'id' field from <origin>.Ludovic Courtès
The "id" field has been removed upstream: https://sympa.inria.fr/sympa/arc/swh-devel/2020-02/msg00005.html * guix/swh.scm (<origin>)[id]: Remove.
2020-02-10git: Add missing exports for <git-checkout>.Ludovic Courtès
* guix/git.scm (<git-checkout>): Export 'git-checkout-commit' and 'git-checkout-recursive?'.
2020-02-10Merge branch 'staging'Marius Bakke
2020-02-09Update e-mail address for Jakob L. Kreuze.Tobias Geerinckx-Rice
As requested here: <https://lists.gnu.org/archive/html/guix-devel/2020-02/msg00128.html>. * .mailmap: Add an entry for Jakob. * gnu/machine.scm, gnu/machine/digital-ocean.scm, gnu/machine/ssh.scm, gnu/packages/admin.scm, gnu/packages/i2p.scm, gnu/packages/music.scm, gnu/packages/web.scm, gnu/tests/reconfigure.scm, guix/scripts/deploy.scm, guix/scripts/system/reconfigure.scm: Update their e-mail address.
2020-02-06git: Remove leftover pk call.Mathieu Othacehe
* guix/git.scm (update-cached-checkout): Remove leftover pk call.
2020-02-06git: Add ssh authentication support.Mathieu Othacehe
If Guile-Git revision is >= 0.3.0, use SSH agent authentication method for both clone and fetch calls. * guix/git.scm (auth-supported?): New variable, (clone*): set auth-method to ssh-agent if the variable above is true, (update-cached-checkout): ditto.
2020-02-05Merge branch 'master' into stagingMarius Bakke
2020-02-05import: pypi: Support exporting packages with .zip source.Jakub Kądziołka
* guix/import/pypi.scm (make-pypi-sexp): Rename test-inputs to native-inputs. Restructure the way pypi-uri parameters are generated. Use pypi-uri's extension parameter when required. Add "unzip" to native inputs when the package source is a zip file. Signed-off-by: Marius Bakke <mbakke@fastmail.com>
2020-02-05import: gem: Deal with unavailable licensing info.Ludovic Courtès
Fixes <https://bugs.gnu.org/39404>. Reported by Seth <lee.seth@tuta.io>. * guix/import/gem.scm (<gem>)[licenses]: Adjust for non-vector licenses. * tests/gem.scm (test-bar-json): Change "licenses" to 'null'. ("gem-recursive-import"): Adjust accordingly.