Age | Commit message (Expand) | Author |
2020-03-25 | environment: Use 'with-build-handler'....* guix/scripts/environment.scm (build-environment): Remove.
(guix-environment): Wrap 'with-status-verbosity' in
'with-build-handler'. Remove 'dry-run?' conditional. Use
'built-derivations' instead of 'build-environment'.
| Ludovic Courtès |
2020-03-25 | archive: Use 'with-build-handler'....* guix/scripts/archive.scm (export-from-store): Remove call to
'show-what-to-build' and dry-run? condition.
(guix-archive): Wrap 'cond' in 'with-build-handler'.
| Ludovic Courtès |
2020-03-25 | import/cran: Support importing from Mercurial repositories....* guix/import/cran.scm (download): Accept keyword #:method; add case for hg
method.
(fetch-description): Handle hg repository.
(description->package): Add cases for hg repositories and update call of
DOWNLOAD procedure.
(cran->guix-package): Retry importing from Bioconductor when hg import failed.
| Ricardo Wurmus |
2020-03-24 | scripts: lint: Handle store connections for lint checkers....Rather than individual checkers opening up a connection to the store for each
package to check, if any checker requires a store connection, open a
connection and pass it to all checkers that would use it. This makes running
the derivation checker much faster for multiple packages.
* guix/scripts/lint.scm (run-checkers): Add a #:store argument, and pass the
store to checkers if they require a store connection.
(guix-lint): Establish a store connection if any checker requires one, and
pass it through to run-checkers.
| Christopher Baines |
2020-03-24 | lint: Add a #:store argument to check-derivation...This can then be used to avoid opening up a store connection each time a
package needs checking.
* guix/lint.scm (check-derivation): Add a #:store argument, and pull the
handling of the store connection out of the try function.
| Christopher Baines |
2020-03-24 | lint: Mark the derivation checker as requiring a store connection....* guix/lint.scm (%local-checkers): Mark the derivation checker as requiring a
store connection.
| Christopher Baines |
2020-03-24 | lint: Add a requires-store? field to the checker record....This can then be used to mark checkers that require a store connection, which
will enable passing a connection in, avoiding the overhead of establishing a
connection inside the check function when it's run for lots of different
packages.
* guix/lint.scm (<lint-checker>): Add requires-store? to the record type.
| Christopher Baines |
2020-03-24 | guix system: Fix mistaken 'guix pull' warning upon 'reconfigure'....Fixes <https://bugs.gnu.org/38196>.
Reported by Florian Pelz <pelzflorian@pelzflorian.de>.
* guix/scripts/system.scm (maybe-suggest-running-guix-pull): Check
whether 'current-profile' returns true instead of checking for the
existence of ~root/.config/guix/current. That way, "sudo guix system
reconfigure" no longer emits a warning in that case.
| Ludovic Courtès |
2020-03-24 | pack: Do not store extended attributes in squashfs images....* guix/scripts/pack.scm (squashfs-image)[build](mksquashfs): Pass "-no-xattrs".
| Ludovic Courtès |
2020-03-24 | ui: 'show-manifest-transaction' tabulates package lists for install/remove....It also removes the store file name from the output.
* guix/ui.scm (show-manifest-transaction)[package-strings]: Rewrite to
use 'tabulate'. Remove 'item' parameter and adjust callers.
| Ludovic Courtès |
2020-03-24 | ui: 'show-manifest-transaction' tabulates upgraded package lists....This also changes "1.0.0 → 1.0.0" to "(dependencies changed)", which is
probably less confusing.
* guix/ui.scm (tabulate): New procedure.
(show-manifest-transaction)[upgrade-string]: Rewrite to take lists of
names, versions, and outputs instead of single elements. Use
'tabulate'. Adjust callers accordingly.
| Ludovic Courtès |
2020-03-24 | import: crate: Deduplicate dependencies....* guix/import/crate.scm (crate-version-dependencies): Deduplicate crate dependencies.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Martin Becze |
2020-03-24 | licenses: Add QWT 1.0 license....* guix/licenses.scm (qwt1.0): New variable.
Signed-off-by: Guillaume Le Vaillant <glv@posteo.net>
| Arun Isaac |
2020-03-24 | licenses: Add Open Government Licence for Public Sector Information....* guix/licenses.scm (ogl-psi1.0): New variable.
Signed-off-by: Guillaume Le Vaillant <glv@posteo.net>
| Arun Isaac |
2020-03-23 | deploy: Write a message upon successful deployment....* guix/scripts/deploy.scm (guix-deploy): Write message upon successful
deployment.
| Ludovic Courtès |
2020-03-23 | deploy: Show what machines will be deployed....* guix/scripts/deploy.scm (show-what-to-deploy): New procedure.
(guix-deploy): Call it.
| Ludovic Courtès |
2020-03-23 | ui: Add 'indented-string'....* guix/scripts/pull.scm (display-news-entry): Remove extra space in
format string for 'indented-string'.
(indented-string): Remove.
(display-new/upgraded-packages)[pretty]: Pass #:initial-indent? to
'indented-string'.
* guix/ui.scm (indented-string): New procedure.
| Ludovic Courtès |
2020-03-23 | ssh: 'send-files' reports missing modules on the remote host....Reported by Mikael Djurfeldt <mikael@djurfeldt.com>
in <https://bugs.gnu.org/40125>.
* guix/ssh.scm (send-files)[inferior-remote-eval*]: New procedure.
[missing]: Use it. Add an explicit 'resolve-module' call.
(report-inferior-exception): New procedure.
| Ludovic Courtès |
2020-03-22 | build: emacs-utils: Add an option to select scoping for batch eval....In Emacs 27, --eval now evaluates using lexical scoping. This change adds an
option to select dynamic scoping, by using a workaround proposed in
<https://bugs.gnu.org/39823>.
* guix/build/emacs-utils.scm (emacs-batch-eval): Add a DYNAMIC? keyword
argument. Wrap the EXPR with a call to EVAL that makes use of the argument
to select the scoping mode.
(emacs-generate-autoloads): Use it.
| Maxim Cournoyer |
2020-03-22 | Remove workaround for 'time-monotonic' in Guile 2.2.2....This is a followup to e688c2df3924423b67892cc9939ca099c729d1cb.
* build-aux/hydra/evaluate.scm <top level>: Remove 'time-monotonic'
definition.
* guix/cache.scm: Likewise.
* guix/progress.scm: Likewise.
* guix/scripts/substitute.scm: Likewise.
* guix/scripts/weather.scm: Likewise.
* tests/cache.scm: Likewise.
| Ludovic Courtès |
2020-03-22 | build-system: linux-module: Fix cross compilation....* guix/build-system/linux-module.scm (default-kmod, default-gcc): Delete
procedures.
(system->arch): New procedure.
(make-linux-module-builder)[native-inputs]: Move linux...
[inputs]: ...to here.
(linux-module-build-cross): New procedure.
(linux-module-build): Add TARGET. Pass TARGET and ARCH to build side.
(lower): Allow cross-compilation. Move "linux" and "linux-module-builder"
to host-inputs. Add target-inputs. Call linux-module-build-cross if
TARGET is set, linux-module-build otherwise.
* guix/build/linux-module-build-system.scm (configure): Add ARCH argument.
(linux-module-build): Adjust comment.
Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
| Mathieu Othacehe |
2020-03-22 | system: Add kernel-loadable-modules to operating-system....* gnu/system.scm (<operating-system>): Add kernel-loadable-modules.
(operating-system-directory-base-entries): Use it.
* doc/guix.texi (operating-system Reference): Document
KERNEL-LOADABLE-MODULES.
* gnu/build/linux-modules.scm (depmod): New procedure.
(make-linux-module-directory): New procedure. Export it.
* guix/profiles.scm (linux-module-database): New procedure. Export it.
* gnu/tests/linux-modules.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
* gnu/packages/linux.scm (make-linux-libre*)[arguments]<#:phases>[install]:
Disable depmod. Remove "build" and "source" symlinks.
[native-inputs]: Remove kmod.
| Danny Milosavljevic |
2020-03-22 | packages: 'package-field-location' handles missing source properties....This is a followup to f2b24f01f42c1bad3ddffd140194de1aec38a5f8.
* guix/packages.scm (package-field-location): Check whether
'source-properties->location' returns #f. This fixes the case where
'source-properties' returns the empty list.
| Ludovic Courtès |
2020-03-22 | copy: Use 'with-build-handler'....* guix/scripts/copy.scm (send-to-remote-host): Remove explicit
'show-what-to-build' call. Call 'build-derivations' unconditionally.
(guix-copy): Wrap 'with-status-verbosity' in 'with-build-handler'.
| Ludovic Courtès |
2020-03-22 | copy: Actually implement '--dry-run'....* guix/scripts/copy.scm (%options): Add '--dry-run'.
| Ludovic Courtès |
2020-03-22 | copy: Factorize 'with-store' & co....* guix/scripts/copy.scm (send-to-remote-host): Remove 'with-store' and
'set-build-options-from-command-line' call. Add 'local' parameter.
(retrieve-from-remote-host): Likewise.
(guix-copy): Wrap 'with-status-verbosity' in 'with-store' and add call
to 'set-build-options-from-command-line'.
| Ludovic Courtès |
2020-03-22 | ui: 'build-notifier' invokes continuation when there's nothing to do....* guix/ui.scm (build-notifier): Call CONTINUE when there's nothing to
build or download, even when DRY-RUN? is true.
| Ludovic Courtès |
2020-03-22 | ui: 'show-what-to-build' returns two values, for builds and downloads....* guix/ui.scm (show-what-to-build): Return two values.
| Ludovic Courtès |
2020-03-22 | ui: 'show-what-to-build' returns true when there are grafts to build....* guix/ui.scm (show-what-to-build): Distinguish between 'build/full' and
'build'. Return true whe 'build/full' is non-empty, thus taking grafts
into account.
| Ludovic Courtès |
2020-03-22 | guix system: Use 'with-build-handler'....* guix/scripts/system.scm (reinstall-bootloader): Remove call to
'show-what-to-build*'.
(perform-action): Call 'build-derivations' instead of 'maybe-build'.
(process-action): Wrap 'run-with-store' in 'with-build-handler'.
| Ludovic Courtès |
2020-03-22 | guix package, pull: Use 'with-build-handler'....* guix/scripts/package.scm (build-and-use-profile): Remove #:dry-run?
and #:use-substitutes?. Remove call to 'show-what-to-build' and
'dry-run?' special case.
(process-actions): Adjust accordingly.
(guix-package*): Wrap 'parameterize' in 'with-build-handler'.
* guix/scripts/pull.scm (build-and-install): Remove #:use-substitutes?
and #:dry-run? and adjust 'update-profile' call accordingly. Remove
'dry-run?' conditional.
(guix-pull): Wrap body in 'with-build-handler'.
| Ludovic Courtès |
2020-03-22 | pack: Use 'with-build-handler'....* guix/scripts/pack.scm (guix-pack): Wrap 'parameterize' in
'with-build-handler'. Remove explicit call to 'show-what-to-build'.
Call 'build-derivations' regardless of whether OPTS contains 'dry-run?'.
| Ludovic Courtès |
2020-03-22 | deploy: Use 'with-build-handler'....Until now, 'guix deploy' would never display what is going to be built.
* guix/scripts/deploy.scm (guix-deploy): Wrap 'for-each' in
'with-build-handler'.
| Ludovic Courtès |
2020-03-22 | guix build: Use 'with-build-handler'....Fixes <https://bugs.gnu.org/28310>.
Reported by Andreas Enge <andreas@enge.fr>.
* guix/scripts/build.scm (guix-build): Wrap 'parameterize' in
'with-build-handler'. Remove explicit call to 'show-what-to-build'.
Call 'build-derivations' regardless of whether OPTS contains 'dry-run?'.
| Ludovic Courtès |
2020-03-22 | ui: Add a notification build handler....* guix/ui.scm (build-notifier): New variable.
| Ludovic Courtès |
2020-03-22 | store: Add 'with-build-handler'....* guix/store.scm (current-build-prompt): New variable.
(call-with-build-handler, invoke-build-handler): New procedures.
(with-build-handler): New macro.
* tests/store.scm ("with-build-handler"): New test.
| Ludovic Courtès |
2020-03-22 | syscalls: 'with-file-lock' re-grabs lock when reentering its dynamic extent....* guix/build/syscalls.scm (call-with-file-lock)
(call-with-file-lock/no-wait): Initialize PORT in the 'dynamic-wind'
"in" handler. This allows us to re-enter a captured continuation and
have the lock grabbed anew.
| Ludovic Courtès |
2020-03-22 | download: Delete the output file upon failure....This allows ENOSPC conditions to be properly reported as such rather
than as a hash mismatch due to the availability of a truncated file.
Fixes <https://bugs.gnu.org/39993>.
Reported by Maxim Cournoyer <maxim.cournoyer@gmail.com>.
* guix/build/download.scm (url-fetch): In the failure case, delete FILE.
| Ludovic Courtès |
2020-03-20 | packages: 'package-field-location' preserves the original file name....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.
| Ludovic Courtès |
2020-03-19 | guix: lint: Ad scdoc as a suggested native input....* guix/lint.scm (check-inputs-should-be-native): Add scdoc.
Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
| Brendan Tildesley |
2020-03-19 | guix package: Remove unneeded import....This is a followup to 55e1dfa4dd189e010c541e3997b65434c702b4a5.
* guix/scripts/package.scm: Remove unneeded #:use-module.
| Ludovic Courtès |
2020-03-19 | inferior: '&inferior-exception' includes a stack trace....* 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'.
| Ludovic Courtès |
2020-03-19 | repl: Return stack traces along with exceptions....* 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'.
| Ludovic Courtès |
2020-03-19 | inferior: Adjust to protocol (0 1)....* guix/inferior.scm (port->inferior): For protocol (0 x ...), where x >= 1,
send the (() repl-version ...) form.
| Ludovic Courtès |
2020-03-19 | repl: Allow clients to send their protocol version....* 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.
| Ludovic Courtès |
2020-03-14 | store: Fix many guix commands failing on some locales....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.
| Florian Pelz |
2020-03-17 | build-system: linux-module: Break some long lines....* gnu/build/linux-modules.scm (make-linux-module-builder, lower): Break some
long commentary lines.
| Mathieu Othacehe |
2020-03-17 | guix: import: opam: Use a default repository....* guix/import/opam.scm (opam->guix-package): Use a default value for
`repository`.
| Julien Lepiller |
2020-03-13 | pack: Do not create a squashfs "recovery file"....Reported by Josh Marshall <Josh.Marshall@jax.org>.
* guix/scripts/pack.scm (squashfs-image)[build](mksquashfs): Always pass
"-no-recovery".
| Ludovic Courtès |
2020-03-13 | pack: Make bit-reproducible squashfs images....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'.
| Ludovic Courtès |