summaryrefslogtreecommitdiff
path: root/guix
AgeCommit message (Collapse)Author
2019-03-14Merge branch 'master' into stagingMarius Bakke
2019-03-13Remove traces of "GuixSD".Ludovic Courtès
* gnu/bootloader/extlinux.scm (extlinux-configuration-file): Remove mentions of "GuixSD". * gnu/bootloader/grub.scm (install-grub-efi): Likewise. * gnu/build/vm.scm (make-iso9660-image): Change default #:volume-id to "Guix_image". (initialize-hard-disk): Search for the "Guix_image" label. * gnu/ci.scm (system-test-jobs, tarball-jobs): Remove "GuixSD". * gnu/installer/newt/welcome.scm (run-welcome-page): Likewise. * gnu/packages/audio.scm (supercollider)[description]: Likewise. * gnu/packages/curl.scm (curl): Likewise. * gnu/packages/emacs.scm (emacs): Likewise. * gnu/packages/gnome.scm (network-manager): Likewise. * gnu/packages/julia.scm (julia): Likewise. * gnu/packages/linux.scm (alsa-plugins): Likewise. (powertop, wireless-regdb): Likewise. * gnu/packages/package-management.scm (guix): Likewise. * gnu/packages/polkit.scm (polkit): Likewise. * gnu/packages/tex.scm (texlive-bin): Likewise. * gnu/services/base.scm (file-systems->fstab): Likewise. * gnu/services/cups.scm (%cups-activation): Likewise. * gnu/services/mail.scm (%dovecot-activation): Likewise. * gnu/services/messaging.scm (prosody-configuration)[log]: Likewise. * gnu/system/examples/vm-image.tmpl (vm-image-motd): Likewise. * gnu/system/install.scm (installation-os)[file-systems]: Change root file system label to "Guix_image". * gnu/system/mapped-devices.scm (check-device-initrd-modules): Remove "GuixSD". * gnu/system/vm.scm (system-docker-image): Likewise. (system-disk-image)[root-label]: Change to "Guix_image". * gnu/tests/install.scm (run-install): Remove "GuixSD". * guix/modules.scm (guix-module-name?): Likewise. * nix/libstore/optimise-store.cc: Likewise.
2019-03-12describe: 'package-path-entries' no longer includes the "guix" entry.Ludovic Courtès
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'.
2019-03-12Revert "packages: 'package-input-rewriting' can take a promise."Ludovic Courtès
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
2019-03-11packages: Add the channel .go files to the search path.Ludovic Courtès
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.
2019-03-10Merge branch 'master' into stagingMarius Bakke
2019-03-08upstream: Correctly report failure to update Git checkouts.Ludovic Courtès
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.
2019-03-08gnu: Add epl2.0.Ricardo Wurmus
* guix/licenses.scm (epl2.0): New variable.
2019-03-08channels: Do not fail when the inferior lacks 'guix repl'.Ludovic Courtès
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.
2019-03-07pack: Add '--save-provenance'.Ludovic Courtès
* 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.
2019-03-07describe: Add 'package-provenance'.Ludovic Courtès
* guix/scripts/package.scm (package-provenance): Move to... * guix/describe.scm (package-provenance): ... here.
2019-03-07database: Make 'register-items' transactional.Caleb Ristvedt
* 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>
2019-03-04Merge branch 'master' into stagingMarius Bakke
2019-03-04environment: Rename '--inherit' to '--preserve'.Ludovic Courtès
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.
2019-03-04environment: Remove deprecated -E/--exec option.Ludovic Courtès
* guix/scripts/environment.scm (%options): Remove "--exec", which was deprecated in commit 1de2fe95e017c42aacbaa34f5dab8d48249cc064 in 2015. * tests/guix-environment.sh: Remove use of '-E'.
2019-03-01Merge branch 'master' into stagingMarius Bakke
2019-03-01gnu: rust: Factor out "cargo-utils" from "cargo-build-system".Ivan Petkov
* 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>
2019-02-20Merge branch 'master' into stagingMarius Bakke
2019-02-17self: Generated (guix config) honors %CURRENT-SYSTEM.Ludovic Courtès
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).
2019-02-16self: Bundle 'glibc-utf8-locales'.Ludovic Courtès
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.
2019-02-16environment: Add '--inherit'.Ludovic Courtès
* 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.
2019-02-15gnu-maintenance: Verify GPG signatures in KDE updater.Marius Bakke
* guix/gnu-maintenance.scm (latest-kde-release): Remove #:file->signature.
2019-02-14guix: ruby-build-system: Fix removal of extension related files.Christopher Baines
This functionality was broken, possibly to do with the vendor related changes in the ruby build system. These changes restore the file removal functionality at the end of the install phase. * guix/build/ruby-build-system.scm (install): Fix removal of files related to native extensions.
2019-02-14guix: ruby-build-system: Do gem install --verbose.Christopher Baines
This is helpful as it displays more information about what gem install is doing, especially for packages with native extensions. * guix/build/ruby-build-system.scm (install): Add --verbose to gem install command.
2019-02-14gnu: ruby-build-system: Change extract-gemspec to always return #t.Christopher Baines
* guix/build/ruby-build-system.scm (extract-gemspec): Return #t right at the end, rather than returning #<unspecified> when not handling a gem archive.
2019-02-13guix system: List old generations from newest to oldest.Ludovic Courtès
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'.
2019-02-13guix system: Add 'delete-generations'.Ludovic Courtès
* 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.
2019-02-12pull: Speed up the new/upgraded package computation.Ludovic Courtès
* 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.
2019-02-12pull: Move profile comparison to 'new/upgraded-packages'.Ludovic Courtès
* guix/scripts/pull.scm (new/upgraded-packages): New procedure, with code formerly in 'display-new/upgraded-packages'. (display-new/upgraded-packages): Use it.
2019-02-12inferior: Add 'inferior-available-packages'.Ludovic Courtès
* guix/inferior.scm (inferior-available-packages): New procedure. * tests/inferior.scm ("inferior-available-packages"): New test.
2019-02-12pull: Use 'fold-available-packages' for the current package list.Ludovic Courtès
* 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'.
2019-02-11Avoid name clash with 'build' from (guix store) and (guix status).Ludovic Courtès
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.
2019-02-11pack, vm: Fix incorrect use of 'package-transitive-propagated-inputs'.Ludovic Courtès
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.
2019-02-11git: Add an exception printer for 'git-error'.Ludovic Courtès
* guix/git.scm (print-git-error): New procedure. <top level>: Call 'set-exception-printer!'.
2019-02-11ui: Always print the exception upon load errors.Ludovic Courtès
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.
2019-02-11status: Erase the current line upon new builds or downloads.Ludovic Courtès
* guix/status.scm (print-build-event): Add 'erase-current-line*' call upon 'build-started, 'substituter-started, 'download-started.
2019-02-09Merge branch 'staging'Ludovic Courtès
2019-02-08git: Always use the system certificates by default.Ludovic Courtès
'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!'.
2019-02-08guix build: '--with-branch' & co. fetch submodules.Ludovic Courtès
* guix/scripts/build.scm (transform-package-source-branch)[replace]: Add 'recursive?' field to the new package.
2019-02-08git: Add a 'recursive?' field to <git-checkout> records.Ludovic Courtès
* 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.
2019-02-08git: Support recursive updates of submodules.Ludovic Courtès
* 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.
2019-02-07status: Do not systematically erase the previous line.Ludovic Courtès
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.
2019-02-07profiles: Raise an error for unmatched patterns.Ludovic Courtès
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.
2019-02-06monads, gexp: Prevent redefinition of syntax parameters.Ludovic Courtès
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.
2019-02-05import: opam: Work around janestreet version numbers.Julien Lepiller
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.
2019-02-05import: opam: Replace "_" with "-" in imported names.Julien Lepiller
* guix/import/opam.scm (ocaml-name->guix-name): Replace "_" with "-". (opam->guix-packages): Add upstream name when we cannot guess it properly.
2019-02-05import: opam: Fix conditions.Julien Lepiller
* guix/import/opam.scm (condition-eq, condition-neq): The first argument can be empty. * tests/opam.scm: Add test case.
2019-02-05status: Display the current build phase.Ludovic Courtès
* guix/status.scm (spin!): Add 'phase' parameter and honor it. Callers updated. (print-build-event)[report-progress]: Likewise.
2019-02-05status: Keep track of the current build phase.Ludovic Courtès
* 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
2019-02-05status: Use 'define-immutable-record-type' and its functional setters.Ludovic Courtès
* 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.