summaryrefslogtreecommitdiff
path: root/guix
Commit message (Collapse)AuthorAge
* guix: import: (recursive-import) Allow for version numbersMartin Becze2020-03-21
| | | | | | | | | | | | | | | | | | | | | This adds a key VERSION to (recursive-import) and move the paramter REPO to a key. This also changes all the things that rely on (recursive-import) * guix/import/utils.scm (package->definition): added optional `append-version?` * guix/import/utils.scm (recursive-import): added key `version` and moved `repo` to be a key * guix/import/cran.scm (cran->guix-package): change `repo` to a key * guix/import/cran.scm (cran-recursive-import): change `repo` to a key * guix/scripts/import/cran.scm: change `repo` to a key * guix/import/elpa.scm (elpa->guix-pakcage): change `repo` to a key * guix/import/elpa.scm (elpa-recursive-import): change `repo` to a key * guix/scripts/import/elpa.scm: change `repo` to a key * guix/import/gem.scm (gem->guix-package): change `repo` to a key * guix/import/gem.scm (recursive-import): change `repo` to a key * guix/import/opam.scm (opam-recurive-import): change `repo` to a key * guix/import/pypi.scm (pypi-recursive-import): change `repo` to a key * guix/import/stackage.scm (stackage-recursive-import): change `repo` to a key
* packages: 'package-field-location' preserves the original file name.Ludovic Courtès2020-03-20
| | | | | | | | | Fixes <https://bugs.gnu.org/39425>. Reported by Alex ter Weele <alex.ter.weele@gmail.com>. * guix/packages.scm (package-field-location): Remove 'with-fluids' for '%file-port-name-canonicalization'. Change the 'file' field of the resulting location to FILE.
* guix: lint: Ad scdoc as a suggested native input.Brendan Tildesley2020-03-19
| | | | | | * guix/lint.scm (check-inputs-should-be-native): Add scdoc. Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
* guix package: Remove unneeded import.Ludovic Courtès2020-03-19
| | | | | | This is a followup to 55e1dfa4dd189e010c541e3997b65434c702b4a5. * guix/scripts/package.scm: Remove unneeded #:use-module.
* inferior: '&inferior-exception' includes a stack trace.Ludovic Courtès2020-03-19
| | | | | | | | * guix/inferior.scm (port->inferior): Bump protocol to (0 1 1). (&inferior-exception)[stack]: New field. (read-repl-response): Recognize 'exception' form for protocol (0 1 1). * tests/inferior.scm ("&inferior-exception"): Check the value returned by 'inferior-exception-stack'.
* repl: Return stack traces along with exceptions.Ludovic Courtès2020-03-19
| | | | | | | | | * guix/repl.scm (repl-prompt): New variable. (stack->frames): New procedure. (send-repl-response)[frame->sexp, handle-exception]: New procedure. Pass HANDLE-EXCEPTION as a pre-unwind handler. (machine-repl): Define 'tag'. Bump protocol version to (0 1 1). Wrap 'loop' call in 'call-with-prompt'.
* inferior: Adjust to protocol (0 1).Ludovic Courtès2020-03-19
| | | | | * guix/inferior.scm (port->inferior): For protocol (0 x ...), where x >= 1, send the (() repl-version ...) form.
* repl: Allow clients to send their protocol version.Ludovic Courtès2020-03-19
| | | | | | | | | * guix/repl.scm (send-repl-response): Add #:version. (machine-repl): Make 'loop' an internal define with a 'version' parameter. Pass VERSION to 'send-repl-response'. Send (0 1) as the protocol version. If the first element read from INPUT matches (() repl-version _ ...), interpret it as the client's protocol version.
* store: Fix many guix commands failing on some locales.Florian Pelz2020-03-14
| | | | | | | | | | | | Partly fixes <https://bugs.gnu.org/39970>. At least 'guix environment', 'guix install' and 'guix pull' on 'az_AZ.utf8' and 'tr_TR.utf8' were affected. * guix/store.scm (store-path-hash-part): Move base path detection to ... (store-path-base): ... this new exported procedure. (store-path-package-name): Use it instead of locale-dependent regexps. (store-regexp*): Remove.
* build-system: linux-module: Break some long lines.Mathieu Othacehe2020-03-17
| | | | | * gnu/build/linux-modules.scm (make-linux-module-builder, lower): Break some long commentary lines.
* guix: import: opam: Use a default repository.Julien Lepiller2020-03-17
| | | | | * guix/import/opam.scm (opam->guix-package): Use a default value for `repository`.
* pack: Do not create a squashfs "recovery file".Ludovic Courtès2020-03-13
| | | | | | | Reported by Josh Marshall <Josh.Marshall@jax.org>. * guix/scripts/pack.scm (squashfs-image)[build](mksquashfs): Always pass "-no-recovery".
* pack: Make bit-reproducible squashfs images.Ludovic Courtès2020-03-13
| | | | | | | Reported by Josh Marshall <Josh.Marshall@jax.org>. * guix/scripts/pack.scm (squashfs-image)[build](mksquashfs): Always pass "-all-time", "-mkfs-time", "-force-uid", and "-force-gid" to 'mksquashfs'.
* pack: Factorize 'mksquashfs' invocations.Ludovic Courtès2020-03-13
| | | | | | * guix/scripts/pack.scm (squashfs-image)[build](mksquashfs): New procedure. Replace instances of (invoke "mksquashfs" ...) with (mksquashfs ...).
* weather: '--coverage' filters out non-package objects.Ludovic Courtès2020-03-13
| | | | | | | This is a followup to d37b5a1b58824dafbe6f32b1c183661c147c660c. * guix/scripts/weather.scm (guix-weather): Filter PACKAGES passed to 'report-package-coverage'.
* weather: Exit with non-zero when coverage is below 100%.Ludovic Courtès2020-03-13
| | | | | * guix/scripts/weather.scm (report-server-coverage): Return the coverage ratio. (guix-weather): Exit if and only if each server's coverage is 1.
* weather: Allow for multiple '--manifest' options.Ludovic Courtès2020-03-12
| | | | | | * guix/scripts/weather.scm (guix-weather)[package-list]: Account for all the 'manifest entries in OPTS. * doc/guix.texi (Invoking guix weather): Document it.
* weather: Add '--display-missing'.Ludovic Courtès2020-03-12
| | | | | | | | * guix/scripts/weather.scm (report-server-coverage): Add #:display-missing? and honor it. (show-help, %options): Add "--display-missing". (guix-weather): Pass #:display-missing? to 'report-server-coverage'. * doc/guix.texi (Invoking guix weather): Document it.
* gexp: Add 'with-parameters'.Ludovic Courtès2020-03-12
| | | | | | | | | | * 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.
* inferior: Distinguish inferior exceptions.Ludovic Courtès2020-03-12
| | | | | | | | | | | | 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.
* import: cpan: Gracefully handle missing projects.Ludovic Courtès2020-03-12
| | | | * guix/import/cpan.scm (cpan-fetch): Check whether 'json-fetch' returns #f.
* import: utils: Remove 'assoc-ref*'.Ludovic Courtès2020-03-12
| | | | * guix/import/utils.scm (assoc-ref*): Remove.
* import: pypi: Rewrite to use 'define-json-mapping'.Ludovic Courtès2020-03-12
| | | | | | | | | | * 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.
* download: Remove (web http) workarounds no longer relevant.Ludovic Courtès2020-03-11
| | | | | | * 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>.
* ui: Restore line wrapping for 'package->recutils'.Ludovic Courtès2020-03-11
| | | | | | | | | | 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.
* download: Remove misbehaving kvin.lv mirror.Tobias Geerinckx-Rice2020-03-09
| | | | | | It issues bogus redirections instead of returning 404. * guix/download.scm (%mirrors): Remove kvin.lv from CPAN.
* gexp: Default to current target.Mathieu Othacehe2020-03-08
| | | | | | | | | | | * 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.
* store: Add set-current-target procedure.Mathieu Othacehe2020-03-08
| | | | * guix/store.scm (set-current-target): New exported procedure.
* import/cran: Add vignette builder to native inputs.Ricardo Wurmus2020-03-07
| | | | | * guix/import/cran.scm (needs-knitr?): New procedure. (description->package): Use it.
* scripts: Show disk-space warning when under the min of the thresholds.Pierre Neidhardt2020-03-06
| | | | | | | | 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.
* weather: Parameterize '%graft?' upfront.Ludovic Courtès2020-03-05
| | | | * guix/scripts/weather.scm (guix-weather): Parameterize %GRAFT? upfront.
* guix build: Parameterize '%graft?' upfront.Ludovic Courtès2020-03-05
| | | | | * guix/scripts/build.scm (guix-build): Add 'graft?' variable and parameterize %GRAFT?.
* weather: Allow non-package objects in manifest.Ludovic Courtès2020-03-05
| | | | | | * guix/scripts/weather.scm (package-outputs)[lower-object/no-grafts]: New procedure. Use it instead of 'package->derivation'.
* guix build: Allow non-package objects in manifest.Ludovic Courtès2020-03-05
| | | | | | | * 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.
* import: pypi: Add more licensesLars-Dominik Braun2020-03-04
| | | | | | | * 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>
* file-systems: Add a 'file-system-device->string' procedure.Maxim Cournoyer2020-03-02
| | | | | | | * 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.
* build-system: copy-build-system: Keep symlinks symbolic.Leo Prikler2020-02-28
| | | | | | | 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>
* Revert "ui: Only display link in capable terminals."Ludovic Courtès2020-02-28
| | | | | | | | | | | 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.
* scripts: Adjust disk-space warning functionality.Ludovic Courtès2020-02-27
| | | | | | | | | 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.
* guix package: Don't error out when failing to create ~/.guix-profile.Ludovic Courtès2020-02-27
| | | | | | | | This is a followup to 7842ddcbc118cbc2799e22651732b7cdc06b93ee, which broke tests when 'HOME' is unset. * guix/scripts/package.scm (ensure-default-profile): Silently ignore 'symlink' exceptions.
* emacs-build-system: Byte compile the autoload files.Maxim Cournoyer2020-02-27
| | | | | | | | | | * 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.
* scripts: Emit GC hint if free space is lower than absolute and relative ↵Pierre Neidhardt2020-02-26
| | | | | | | | | | 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>
* build-system/linux-module: Disable depmod.Danny Milosavljevic2020-02-25
| | | | * guix/build/linux-module-build-system.scm (install): Disable depmod.
* guix: node-build-system: Do not symlink /bin.Julien Lepiller2020-02-25
| | | | | * guix/build/node-build-system.scm (install): Do not add a symlink for /bin.
* build-system: Fix copy-build-system default install plan.Pierre Neidhardt2020-02-24
| | | | | * guix/build-system/copy.scm (copy-build): Set install-plan default value to copy everything from source to the output.
* ui: Don't truncate search output when inside Emacs.Pierre Neidhardt2020-02-24
| | | | | * guix/ui.scm (display-search-results): Loop over all results when INSIDE_EMACS is set.
* ui: Don't disable colors when INSIDE_EMACS is set.Pierre Neidhardt2020-02-24
| | | | * guix/colors.scm (color-output?): Remove INSIDE_EMACS condition.
* ui: Only display link in capable terminals.zimoun2020-02-24
| | | | | | | * 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.
* ui: (size->number "1.M") is correctly parsed.Ludovic Courtès2020-02-23
| | | | | | | 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.
* swh: Handle absolute URLs being returned by the API.Jakub Kądziołka2020-02-23
| | | | | | | | * 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.