summaryrefslogtreecommitdiff
path: root/guix
Commit message (Collapse)AuthorAge
* Merge branch 'staging' into core-updatesMarius Bakke2019-02-20
|\
| * Merge branch 'master' into stagingMarius Bakke2019-02-20
| |\
| | * self: Generated (guix config) honors %CURRENT-SYSTEM.Ludovic Courtès2019-02-17
| | | | | | | | | | | | | | | | | | | | | | | | 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).
| | * self: Bundle 'glibc-utf8-locales'.Ludovic Courtès2019-02-16
| | | | | | | | | | | | | | | | | | | | | | | | 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.
| | * environment: Add '--inherit'.Ludovic Courtès2019-02-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
| | * gnu-maintenance: Verify GPG signatures in KDE updater.Marius Bakke2019-02-15
| | | | | | | | | | | | * guix/gnu-maintenance.scm (latest-kde-release): Remove #:file->signature.
| * | guix: ruby-build-system: Fix removal of extension related files.Christopher Baines2019-02-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | guix: ruby-build-system: Do gem install --verbose.Christopher Baines2019-02-14
| | | | | | | | | | | | | | | | | | | | | 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.
| * | gnu: ruby-build-system: Change extract-gemspec to always return #t.Christopher Baines2019-02-14
| |/ | | | | | | | | * guix/build/ruby-build-system.scm (extract-gemspec): Return #t right at the end, rather than returning #<unspecified> when not handling a gem archive.
| * guix system: List old generations from newest to oldest.Ludovic Courtès2019-02-13
| | | | | | | | | | | | | | | | | | 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'.
| * guix system: Add 'delete-generations'.Ludovic Courtès2019-02-13
| | | | | | | | | | | | | | | | * 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.
| * pull: Speed up the new/upgraded package computation.Ludovic Courtès2019-02-12
| | | | | | | | | | | | * 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.
| * pull: Move profile comparison to 'new/upgraded-packages'.Ludovic Courtès2019-02-12
| | | | | | | | | | | | * guix/scripts/pull.scm (new/upgraded-packages): New procedure, with code formerly in 'display-new/upgraded-packages'. (display-new/upgraded-packages): Use it.
| * inferior: Add 'inferior-available-packages'.Ludovic Courtès2019-02-12
| | | | | | | | | | * guix/inferior.scm (inferior-available-packages): New procedure. * tests/inferior.scm ("inferior-available-packages"): New test.
| * pull: Use 'fold-available-packages' for the current package list.Ludovic Courtès2019-02-12
| | | | | | | | | | | | * 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'.
| * Avoid name clash with 'build' from (guix store) and (guix status).Ludovic Courtès2019-02-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * pack, vm: Fix incorrect use of 'package-transitive-propagated-inputs'.Ludovic Courtès2019-02-11
| | | | | | | | | | | | | | | | | | | | 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.
| * git: Add an exception printer for 'git-error'.Ludovic Courtès2019-02-11
| | | | | | | | | | * guix/git.scm (print-git-error): New procedure. <top level>: Call 'set-exception-printer!'.
| * ui: Always print the exception upon load errors.Ludovic Courtès2019-02-11
| | | | | | | | | | | | | | | | | | | | | | | | 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.
| * status: Erase the current line upon new builds or downloads.Ludovic Courtès2019-02-11
| | | | | | | | | | * guix/status.scm (print-build-event): Add 'erase-current-line*' call upon 'build-started, 'substituter-started, 'download-started.
* | Merge branch 'master' into core-updatesMarius Bakke2019-02-09
|\|
| * Merge branch 'staging'Ludovic Courtès2019-02-09
| |\
| | * Merge branch 'master' into stagingMarius Bakke2019-01-31
| | |\
| | * | download: Ask not to use TLS 1.3.Ludovic Courtès2019-01-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Works around <https://bugs.gnu.org/34102>. Reported by Marius Bakke <mbakke@fastmail.com>. * guix/build/download.scm (tls-wrap): Add "-VERS-TLS1.3" to the priority string when (gnutls-version) is not prefixed by "3.5".
| * | | git: Always use the system certificates by default.Ludovic Courtès2019-02-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | '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!'.
| * | | guix build: '--with-branch' & co. fetch submodules.Ludovic Courtès2019-02-08
| | | | | | | | | | | | | | | | | | | | * guix/scripts/build.scm (transform-package-source-branch)[replace]: Add 'recursive?' field to the new package.
| * | | git: Add a 'recursive?' field to <git-checkout> records.Ludovic Courtès2019-02-08
| | | | | | | | | | | | | | | | | | | | | | | | * 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.
| * | | git: Support recursive updates of submodules.Ludovic Courtès2019-02-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
| * | | status: Do not systematically erase the previous line.Ludovic Courtès2019-02-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | profiles: Raise an error for unmatched patterns.Ludovic Courtès2019-02-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | monads, gexp: Prevent redefinition of syntax parameters.Ludovic Courtès2019-02-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | import: opam: Work around janestreet version numbers.Julien Lepiller2019-02-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | import: opam: Replace "_" with "-" in imported names.Julien Lepiller2019-02-05
| | | | | | | | | | | | | | | | | | | | | | | | * guix/import/opam.scm (ocaml-name->guix-name): Replace "_" with "-". (opam->guix-packages): Add upstream name when we cannot guess it properly.
| * | | import: opam: Fix conditions.Julien Lepiller2019-02-05
| | | | | | | | | | | | | | | | | | | | | | | | * guix/import/opam.scm (condition-eq, condition-neq): The first argument can be empty. * tests/opam.scm: Add test case.
* | | | guix: Add wrap-script.Ricardo Wurmus2019-02-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * guix/build/utils.scm (wrap-script): New procedure. (&wrap-error): New condition. (wrap-error?, wrap-error-program, wrap-error-type): New procedures. * tests/build-utils.scm ("wrap-script, simple case", "wrap-script, with encoding declaration", "wrap-script, raises condition"): New tests.
* | | | Merge branch 'master' into core-updatesRicardo Wurmus2019-02-06
|\| | |
| * | | status: Display the current build phase.Ludovic Courtès2019-02-05
| | | | | | | | | | | | | | | | | | | | | | | | * guix/status.scm (spin!): Add 'phase' parameter and honor it. Callers updated. (print-build-event)[report-progress]: Likewise.
| * | | status: Keep track of the current build phase.Ludovic Courtès2019-02-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
| * | | status: Use 'define-immutable-record-type' and its functional setters.Ludovic Courtès2019-02-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
| * | | gnu: dune: Update to 1.6.3.Gabriel Hondet2019-02-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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>
| * | | status: Erase the progress bar or spinner.Ludovic Courtès2019-02-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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").
| * | | store: 'log-file' honors 'GUIX_LOG_DIRECTORY'.Ludovic Courtès2019-02-04
| | | | | | | | | | | | | | | | | | | | * guix/store.scm (derivation-log-file): Use %LOCALSTATEDIR or "GUIX_LOG_DIRECTORY" instead of (dirname %STATE-DIRECTORY).
| * | | self: Ensure the daemon refers to the right 'guix' command.Ludovic Courtès2019-02-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | daemon: Rename 'NIX_STATE_DIR' and 'NIX_DB_DIR' environment variables.Ludovic Courtès2019-02-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | profiles: 'manual-database' hook reports progress.Ludovic Courtès2019-02-01
| | | | | | | | | | | | | | | | | | | | * guix/profiles.scm (manual-database)[build](compute-entries): Write a progress report.
| * | | guix package: '-A' no longer lists deprecated packages.Ludovic Courtès2019-02-01
| | |/ | |/| | | | | | | | | | | | | | | | | | | | | | 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.
| * | pull: Default to verbosity level 1.Ludovic Courtès2019-01-29
| | | | | | | | | | | | * guix/scripts/pull.scm (%default-options): Change 'verbosity to 1.
| * | self: Produce progress reports compatible with (guix status).Ludovic Courtès2019-01-29
| | | | | | | | | | | | | | | | | | * guix/self.scm (compiled-modules)[build](report-load) (report-compilation): Write "[M/N]" progress reports. Use line-buffering.
| * | status: Print a progress bar for on-going builds when possible.Ludovic Courtès2019-01-29
| | | | | | | | | | | | | | | | | | | | | | | | * guix/status.scm (print-build-event)[report-build-progress]: New procedure. [print-log-line]: Add ID parameter. Call 'report-build-progress' when appropriate. Adjust callers.
| * | status: Keep track of build completion as reported by build tools.Ludovic Courtès2019-01-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | * guix/status.scm (<build>)[completion]: New field. (build): Add #:completion parameter. (%percentage-line-rx, %fraction-line-rx): New variables. (update-build): New procedure. (compute-status): Add 'build-log' case. * tests/status.scm ("compute-status, build completion"): New test.