aboutsummaryrefslogtreecommitdiff
path: root/guix
Commit message (Collapse)AuthorAge
* Generate two layers for docker images in guix packmulti-layer-docker-imagesChristopher Baines2020-03-21
| | | | | | | | | | Split the store items in to two layers, the top layer with the profile and the store items it directly references, and the bottom layer with the rest of the store items. This means that when you use pack and slightly vary the packages being packed, for example by changing the versions or sources, the base layer will be unchanged.
* Make guix pack work with the new docker image gexpressionsChristopher Baines2020-03-21
|
* Rename (guix docker) to (guix build docker)Christopher Baines2020-03-21
|
* 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.