Age | Commit message (Expand) | Author |
2019-03-12 | describe: 'package-path-entries' no longer includes the "guix" entry....Fixes <https://bugs.gnu.org/34833>
Reported by mikadoZero <mikadozero@yandex.com>.
By returning the "guix" entry, we were then adding it to
%PACKAGE-MODULE-PATH, causing the discovery code to scan the whole tree,
including gnu/installer modules, which would in turn lead to warnings.
Regression introduced in bfc9c339301ffe6dd15d156894dc27e05f6f081f.
* guix/describe.scm (package-path-entries): Use
'current-channel-entries', not 'current-profile-entries'.
| Ludovic Courtès |
2019-03-12 | Revert "packages: 'package-input-rewriting' can take a promise."...This reverts commit 7d2be1277b44de9d0528d9d3015443b40cb3b104, which
turned out to be unhelpful for the problem at hand:
https://lists.gnu.org/archive/html/guix-devel/2019-01/msg00486.html
| Ludovic Courtès |
2019-03-11 | packages: Add the channel .go files to the search path....Until now %LOAD-COMPILED-PATH would wrongfully contain:
CHANNEL/share/guile/site/X.Y
for each channel, thereby ignoring all the .go files of channels. This
fixes it so that %LOAD-COMPILED-PATH instead contains:
CHANNEL/lib/guile/X.Y/site-ccache
* guix/describe.scm (current-channel-entries): New procedure.
(package-path-entries): Change to return the %LOAD-COMPILED-PATH entries
as a second value.
* gnu/packages.scm (%package-module-path): Expect two values from
'package-path-entries' and augment %LOAD-COMPILED-PATH accordingly.
| Ludovic Courtès |
2019-03-08 | upstream: Correctly report failure to update Git checkouts....Fixes <https://bugs.gnu.org/34778>.
Reported by Gábor Boskovits <boskovits@gmail.com>.
* guix/upstream.scm (package-update/url-fetch): New procedure, with code
formerly in 'package-update'.
(%method-updates): New variable.
(package-update): Check the method to download PACKAGE's source, and
look up a corresponding update method in %METHOD-UPDATES, and raise an
error if none was found.
| Ludovic Courtès |
2019-03-08 | gnu: Add epl2.0....* guix/licenses.scm (epl2.0): New variable.
| Ricardo Wurmus |
2019-03-08 | channels: Do not fail when the inferior lacks 'guix repl'....Fixes <https://bugs.gnu.org/34637>.
Reported by Martin Flack <martin.flack@gmail.com>.
Previously we'd fail to build the package cache for old versions of Guix
that lack 'guix repl'. Now we simply ignore the issue and keep going
without a cache.
* guix/inferior.scm (gexp->derivation-in-inferior): Add
#:silent-failure? and honor it.
[drop-extra-keyword]: New procedure.
Use it.
* guix/channels.scm (package-cache-file): Pass #:silent-failure? #t.
| Ludovic Courtès |
2019-03-07 | pack: Add '--save-provenance'....* guix/scripts/pack.scm (show-help, %options): Add '--save-provenance'.
(guix-pack)[manifest-from-args]: Honor it.
* doc/guix.texi (Invoking guix pack): Document it.
| Ludovic Courtès |
2019-03-07 | describe: Add 'package-provenance'....* guix/scripts/package.scm (package-provenance): Move to...
* guix/describe.scm (package-provenance): ... here.
| Ludovic Courtès |
2019-03-07 | database: Make 'register-items' transactional....* guix/store/database.scm (SQLITE_BUSY, register-output-sql): New variables.
(add-references): Don't try finalizing after each use, only after all the
uses (otherwise a finalized statement would be used if #:cache? was #f).
(call-with-transaction): New procedure.
(register-items): Use call-with-transaction to prevent broken intermediate
states from being visible.
* .dir-locals.el (call-with-transaction): indent it.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Caleb Ristvedt |
2019-03-04 | environment: Rename '--inherit' to '--preserve'....Suggested by Eric Bavier and Ricardo Wurmus.
* guix/scripts/environment.scm (show-help, %options): Emit a deprecation
warning for "--inherit" and add -E/--preserve.
* tests/guix-environment.sh: Adjust accordingly.
* doc/guix.texi (Invoking guix environment): Update accordingly.
| Ludovic Courtès |
2019-03-04 | environment: Remove deprecated -E/--exec option....* guix/scripts/environment.scm (%options): Remove "--exec", which was
deprecated in commit 1de2fe95e017c42aacbaa34f5dab8d48249cc064 in 2015.
* tests/guix-environment.sh: Remove use of '-E'.
| Ludovic Courtès |
2019-03-01 | gnu: rust: Factor out "cargo-utils" from "cargo-build-system"....* guix/build/cargo-utils.scm: New file.
* Makefile.am (MODULES): Add it.
* guix/build-system/cargo.scm (%cargo-utils-modules): New variable.
(%cargo-build-system-modules): Use it.
* guix/build/cargo-build-system.scm (file-sha256, generate-checksums): Move
from here...
* guix/build/cargo-utils.scm: ...to here.
* gnu/packages/rust.scm (rust-1.19.0)[arguments]<#:imported-modules>: Use
%cargo-utils-modules.
<#:phases>[patch-cargo-checksums]: Use (guix build cargo-utils).
* gnu/packages/gnuzilla.scm (icecat):
[arguments]<#:imported-modules>: Use %cargo-utils-modules.
<#phases>[patch-cargo-checksums]: import (guix build cargo-utils).
Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
| Ivan Petkov |
2019-02-17 | self: Generated (guix config) honors %CURRENT-SYSTEM....Fixes <https://bugs.gnu.org/34468>.
Reported by Diego Nicola Barbato <dnbarbato@posteo.de>.
* guix/self.scm (%config-variables): Remove %SYSTEM.
(make-config.scm): Define '%system' to (%current-system).
| Ludovic Courtès |
2019-02-16 | self: Bundle 'glibc-utf8-locales'....This minimizes the risk of locale-related warnings, at least for those
who use one of the bundled UTF-8 locales.
* guix/self.scm (guix-command)[glibc-utf8-locales]: New variable.
In program body, set GUIX_LOCPATH.
| Ludovic Courtès |
2019-02-16 | environment: Add '--inherit'....* guix/scripts/environment.scm (purify-environment): Add 'white-list'
parameter and honor it.
(create-environment): Add #:white-list parameter and honor it.
(launch-environment): Likewise.
(launch-environment/fork): Likewise.
(show-help, %options): Add '--inherit'.
(guix-environment): Define 'white-list' and pass it to
'launch-environment/fork'.
* tests/guix-environment.sh: Test '--inherit'.
* doc/guix.texi (Invoking guix environment): Document it.
| Ludovic Courtès |
2019-02-15 | gnu-maintenance: Verify GPG signatures in KDE updater....* guix/gnu-maintenance.scm (latest-kde-release): Remove #:file->signature.
| Marius Bakke |
2019-02-13 | guix system: List old generations from newest to oldest....Previously 'guix system switch-generation' or 'delete-generations' would
yield a GRUB menu where entries for old generations were in the wrong
order (i.e., oldest first.)
* guix/scripts/system.scm (reinstall-bootloader): Reverse the list
returned by 'generation-numbers'.
| Ludovic Courtès |
2019-02-13 | guix system: Add 'delete-generations'....* guix/scripts/package.scm (delete-matching-generations): Export.
* guix/scripts/system.scm (show-help): Add 'delete-generations'.
(process-command): Honor it.
(guix-system): Support it.
* doc/guix.texi (Invoking guix system): Document it.
| Ludovic Courtès |
2019-02-12 | pull: Speed up the new/upgraded package computation....* guix/scripts/pull.scm (new/upgraded-packages): OLD no longer stores
all the versions of each package. Remove 'vhash-fold*' call and reduce
the number of 'version>?' calls when computing UPGRADED.
| Ludovic Courtès |
2019-02-12 | pull: Move profile comparison to 'new/upgraded-packages'....* guix/scripts/pull.scm (new/upgraded-packages): New procedure, with
code formerly in 'display-new/upgraded-packages'.
(display-new/upgraded-packages): Use it.
| Ludovic Courtès |
2019-02-12 | inferior: Add 'inferior-available-packages'....* guix/inferior.scm (inferior-available-packages): New procedure.
* tests/inferior.scm ("inferior-available-packages"): New test.
| Ludovic Courtès |
2019-02-12 | pull: Use 'fold-available-packages' for the current package list....* guix/scripts/pull.scm (display-profile-news): Use
'fold-available-packages' instead of 'fold-packages' to compute OLD.
(profile-package-alist): Use 'inferior-available-packages'.
| Ludovic Courtès |
2019-02-11 | Avoid name clash with 'build' from (guix store) and (guix status)....Since commit 976ef2d97887d16eab8d4eb9dad811786b04d690, (guix status)
exports 'build', which clashes with 'build' from (guix store).
* build-aux/run-system-tests.scm: Select 'with-status-verbosity'
from (guix status).
* guix/scripts/archive.scm: Likewise.
* guix/scripts/build.scm: Likewise.
* guix/scripts/copy.scm: Likewise.
* guix/scripts/environment.scm: Likewise.
* guix/scripts/pack.scm: Likewise.
* guix/scripts/package.scm: Likewise.
* guix/scripts/pull.scm: Likewise.
* guix/scripts/system.scm: Likewise.
| Ludovic Courtès |
2019-02-11 | pack, vm: Fix incorrect use of 'package-transitive-propagated-inputs'....In practice the error was not triggered because
'package-transitive-propagated-inputs' currently returns the empty list
for these two packages.
* guix/scripts/pack.scm (gcrypt-sqlite3&co): Remove labels from the
result.
* gnu/system/vm.scm (gcrypt-sqlite3&co): Likewise.
| Ludovic Courtès |
2019-02-11 | git: Add an exception printer for 'git-error'....* guix/git.scm (print-git-error): New procedure.
<top level>: Call 'set-exception-printer!'.
| Ludovic Courtès |
2019-02-11 | ui: Always print the exception upon load errors....Fixes <https://bugs.gnu.org/34402>.
Reported by <pkill9@runbox.com>.
Previously 'display-error' could be called with the wrong number of
arguments (e.g., for 'git-error' exceptions), and thus nothing at all
was displayed.
* guix/ui.scm (report-load-error): Check whether ARGS matches the
parameters for 'display-error' and call 'print-exception' otherwise.
| Ludovic Courtès |
2019-02-11 | status: Erase the current line upon new builds or downloads....* guix/status.scm (print-build-event): Add 'erase-current-line*' call
upon 'build-started, 'substituter-started, 'download-started.
| Ludovic Courtès |
2019-02-09 | Merge branch 'staging' | Ludovic Courtès |
2019-02-08 | git: Always use the system certificates by default....'guix pull' was always doing it, and now '--with-branch' & co. will do
it as well.
* guix/git.scm (honor-system-x509-certificates!): New procedure.
(%certificates-initialized?): New variable.
(with-libgit2): Add call to 'honor-system-x509-certificates!'.
* guix/scripts/pull.scm (honor-x509-certificates): Call
'honor-system-x509-certificates!' and fall back to
'honor-lets-encrypt-certificates!'.
| Ludovic Courtès |
2019-02-08 | guix build: '--with-branch' & co. fetch submodules....* guix/scripts/build.scm (transform-package-source-branch)[replace]: Add
'recursive?' field to the new package.
| Ludovic Courtès |
2019-02-08 | git: Add a 'recursive?' field to <git-checkout> records....* guix/git.scm (<git-checkout>)[recursive?]: New field.
(latest-repository-commit*): Add #:recursive? and honor it.
(git-checkout-compiler): Honor the 'recursive?' field of CHECKOUT.
| Ludovic Courtès |
2019-02-08 | git: Support recursive updates of submodules....* guix/git.scm: Autoload (git submodule).
(url-cache-directory): Add #:recursive? and honor it.
(call-with-repository): New procedure.
(with-repository): New macro.
(update-submodules): New procedure.
(update-cached-checkout): Add #:recursive? and #:log-port and honor
them.
(latest-repository-commit): Add #:recursive? and honor it.
[dot-git?]: Recognize ".git" regular files when RECURSIVE? is true.
| Ludovic Courtès |
2019-02-07 | status: Do not systematically erase the previous line....After a successful download, we'd erase the download-progress line, and
the end result would be two empty lines following the "downloading …"
line.
Reported by Ricardo Wurmus <rekado@elephly.net> at
<https://debbugs.gnu.org/cgi/bugreport.cgi?bug=33470#27>.
* guix/status.scm (print-build-event)[erase-current-line*]: Set to a
no-op when PRINT-LOG? is true.
Move calls to 'erase-current-line*' to the 'build-succeeded' and
'build-failed' events.
| Ludovic Courtès |
2019-02-07 | profiles: Raise an error for unmatched patterns....Previously, "guix package -r something-not-installed" would silently
complete. Now an error is raised.
* guix/profiles.scm (&unmatched-pattern-error): New condition type.
(manifest-matching-entries): Rewrite to raise an error when one of
PATTERNS is not matched.
* guix/ui.scm (call-with-error-handling): Handle 'unmatched-pattern-error?'.
* tests/guix-package.sh: Add test.
* tests/profiles.scm ("manifest-matching-entries"): Don't try to remove
unmatched pattern.
("manifest-matching-entries, no match"): New test.
("manifest-transaction-effects"): Remove 'remove' field.
| Ludovic Courtès |
2019-02-06 | monads, gexp: Prevent redefinition of syntax parameters....Fixes <https://bugs.gnu.org/27476>.
This fixes multi-threaded compilation of this code where syntax
parameters could end up being redefined and where a race condition could
lead a thread to see the "wrong" value of the syntax parameter.
* guix/monads.scm (define-syntax-parameter-once): New macro.
(>>=, return): Use it.
* guix/gexp.scm (define-syntax-parameter-once): New macro.
(current-imported-modules, current-imported-extensions): Use it.
| Ludovic Courtès |
2019-02-05 | import: opam: Work around janestreet version numbers....janestreet reversionned its packages and prefixed them with "v". Let the
importer know about that and choose "v" versions first.
* guix/import/opam.scm (find-latest-version): Work around version
rewrite from janestreet.
(opam->guix-package): Do not pass "v" to version number.
| Julien Lepiller |
2019-02-05 | import: opam: Replace "_" with "-" in imported names....* guix/import/opam.scm (ocaml-name->guix-name): Replace "_" with "-".
(opam->guix-packages): Add upstream name when we cannot guess it
properly.
| Julien Lepiller |
2019-02-05 | import: opam: Fix conditions....* guix/import/opam.scm (condition-eq, condition-neq): The first argument
can be empty.
* tests/opam.scm: Add test case.
| Julien Lepiller |
2019-02-05 | status: Display the current build phase....* guix/status.scm (spin!): Add 'phase' parameter and honor it. Callers
updated.
(print-build-event)[report-progress]: Likewise.
| Ludovic Courtès |
2019-02-05 | status: Keep track of the current build phase....* guix/status.scm (<build>)[phase]: New field.
(%phase-start-rx): New variable.
(update-build): Add clause to match %PHASE-START-RX and adjust the
'phase' field accordingly.
* tests/status.scm ("compute-status, build phase"): Add test
| Ludovic Courtès |
2019-02-05 | status: Use 'define-immutable-record-type' and its functional setters....* guix/status.scm (<build>): Define using
'define-immutable-record-type', and add 'set-build-completion' binding.
(update-build)[set-completion]: Remove.
Use 'set-build-completion' instead.
| Ludovic Courtès |
2019-02-04 | gnu: dune: Update to 1.6.3....* gnu/packages/ocaml.scm (dune): Update to 1.6.3.
* guix/build/dune-build-system.scm (build): Use --libdir.
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
| Gabriel Hondet |
2019-02-04 | status: Erase the progress bar or spinner....Previously the progress bar wouldn't be erased by the time the next
"building foo" line would be printed.
* guix/status.scm (print-build-event)[erase-current-line*]: New
procedure.
Call it instead of (display "\r").
| Ludovic Courtès |
2019-02-04 | store: 'log-file' honors 'GUIX_LOG_DIRECTORY'....* guix/store.scm (derivation-log-file): Use %LOCALSTATEDIR or
"GUIX_LOG_DIRECTORY" instead of (dirname %STATE-DIRECTORY).
| Ludovic Courtès |
2019-02-04 | self: Ensure the daemon refers to the right 'guix' command....Previously it would refer to
/var/guix/profiles/per-user/root/current-guix/bin/guix, which would fail
when that profile does not exist. This is notably the case when using
'channel-instance->package' as done in commit
7e6d8d366a61f951936ed83371877ce006f679f6.
* gnu/packages/package-management.scm (guix-daemon)[arguments]: In
'install phase, honor environment variable 'GUIX'.
* guix/self.scm (whole-package)[wrap]: New procedure.
Use it.
| Ludovic Courtès |
2019-02-04 | daemon: Rename 'NIX_STATE_DIR' and 'NIX_DB_DIR' environment variables....Fixes <https://bugs.gnu.org/22459>.
Reported by Jeff Mickey <j@codemac.net>.
* guix/config.scm.in (%state-directory): Change NIX_STATE_DIR to
GUIX_STATE_DIRECTORY.
(%store-database-directory): Change NIX_DB_DIR to
GUIX_DATABASE_DIRECTORY.
* nix/libstore/globals.cc (Settings::processEnvironment): Likewise.
* guix/self.scm (make-config.scm): Likewise.
* build-aux/build-self.scm (make-config.scm): Likewise.
* build-aux/test-env.in: Likewise.
* tests/derivations.scm ("derivation #:leaked-env-vars"): Likewise.
* tests/guix-build.sh (GUIX_DAEMON_SOCKET): Likewise.
* tests/guix-daemon.sh (socket): Likewise.
| Ludovic Courtès |
2019-02-01 | profiles: 'manual-database' hook reports progress....* guix/profiles.scm (manual-database)[build](compute-entries): Write a
progress report.
| Ludovic Courtès |
2019-02-01 | guix package: '-A' no longer lists deprecated packages....Fixes a regression introduced in
0ea939fb796fdd4f0d46d3534b2ec6135e0f3dc7.
* guix/scripts/package.scm (process-query) <'list-available>: Change
#:superseded? to #:deprecated? since that's what
'fold-available-packages' passes.
| Ludovic Courtès |
2019-01-31 | Merge branch 'master' into staging | Marius Bakke |
2019-01-29 | pull: Default to verbosity level 1....* guix/scripts/pull.scm (%default-options): Change 'verbosity to 1.
| Ludovic Courtès |