Age | Commit message (Expand) | Author |
2022-07-17 | Revert "guix gc: '--delete-generations' now deletes old Home generations."...This reverts commit ba22560627f848f40891a56355ff26b6de1380bc.
| Tobias Geerinckx-Rice |
2022-07-23 | gnu: clojure: Update to 1.11.1....This patch updates Clojure to 1.11.1. It also adds the 'reset-class-timestamps
phase to the Clojure build system.
This phase makes sure the timestamp of compiled class files is set to a later
point in time than the timestamp of the corresponding Clojure source files. If
the timestamps of the class and source files are the same, the Clojure
compiler will compile the sources again which can lead to issues. This problem
has been discussed here [1]. The suggested solution was to keep/adjust the
timestamps of the class files.
[1] https://www.mail-archive.com/clojure@googlegroups.com/msg99928.html
* gnu/packages/clojure.scm (clojure): Update to 1.11.1 and update all of
LIBRARIES accordingly.
[arguments]: In 'unpack-library-sources' phase, copy from
"core-specs-alpha-src" and "spec-alpha-src" as well. Add
phases 'closure-spec-skip-macros', 'clojure-spec-compile',
'maven-classpath-properties', and 'reset-class-timestamps'.
* guix/build/clojure-build-system.scm (regular-jar-file?)
(reset-class-timestamps): New procedures.
(%standard-phases): Add 'reset-class-timestamps' phase.
Co-authored-by: Ludovic Courtès <ludo@gnu.org>
| r0man |
2022-07-23 | guix gc: '--delete-generations' now deletes old Home generations....Previously, 'guix gc -d4m' would ignore Home generations. With this
change, they are treated like profiles and generations that match the
pattern are deleted.
* guix/scripts/gc.scm (guix-gc)[delete-generations]: Add call to
'home-generation-base'.
* doc/guix.texi (Invoking guix gc): Document the change.
| Ludovic Courtès |
2022-07-23 | deploy: Honor '--dry-run'....* guix/scripts/deploy.scm (%options): Add "dry-run".
(show-what-to-deploy): Add #:dry-run? and honor it.
(guix-deploy): Honor --dry-run.
| Ludovic Courtès |
2022-07-19 | import: Enable recursive import for texlive packages....* guix/import/texlive.scm (tlpdb->package): Add VERSION argument; include
explicit version field in output.
(texlive->guix-package): Set default value for VERSION argument; adjust call
of tlpdb->package.
(texlive-recursive-import): Accept REPO and VERSION keyword arguments.
* guix/import/utils.scm (package->definition): Add a clause to deal with
output from tlpdb->package.
* guix/scripts/import/texlive.scm (%options): Add "recursive" option.
(guix-import-texlive): Honor "recursive" option.
* doc/guix.texi (Using TeX and LaTeX): Mention "recursive" option.
| Ricardo Wurmus |
2022-07-19 | system: Add -I, --list-installed option....* guix/scripts/system.scm (display-system-generation): Add
#:list-installed-regex and honor it.
(list-generations): Likewise.
(show-help, %options): Add "--list-installed".
(process-command): For 'describe' and 'list-generation', honor the
'list-installed option.
* doc/guix.texi (Invoking Guix System): Add information for
--list-installed flag.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Antero Mejr |
2022-07-19 | home: Add -I, --list-installed option....* guix/scripts/package.scm (list-installed): New procedure.
* guix/scripts/home.scm (%options, show-help): Add '--list-installed'.
(process-command): For 'describe' and 'list-generations', honor the
'list-installed option.
(display-home-environment-generation): Add #:list-installed-regex and
honor it.
(list-generations): Likewise.
* guix/scripts/utils.scm (pretty-print-table): New argument "left-pad".
* doc/guix.texi (Invoking Guix Home): Add information and example for
--list-installed flag.
Co-authored-by: Ludovic Courtès <ludo@gnu.org>
| Antero Mejr |
2022-07-19 | upstream: Sort '%updaters' alphabetically....Previously the output of 'guix refresh --list-updaters' would be
non-deterministic, and likewise the order in which updaters are tried
would be non-deterministic.
Reported by zimoun <zimon.toutoune@gmail.com>.
* guix/upstream.scm (%updaters): Add call to 'sort'.
| Ludovic Courtès |
2022-07-15 | import: pypi: Fix coding style....I missed this remark from the review when pushing the last change.
* guix/import/pypi.scm(python->package-name): Replace the trailing '#t'-case
by a 'else'.
| Hartmut Goebel |
2022-07-15 | import: pypi: Add special treatment for Tryton package names,...Trytond modules are Python packages, and treated like this in guix. Anyhow,
since they are add-ons for the “Trytond“ application, their guix package name
do not get the "python-" prefix like other Python modules, (see also
https://issues.guix.gnu.org/46057#1). This change disables adding the
"python-" prefix to the guix package name for Trytond modules when importing
and updating, thus inhibiting irritating messages like in this example:
$ guix refresh -u trytond-party
…
trytond-party: consider adding this propagated input: python-trytond-country
trytond-party: consider removing this propagated input: trytond-country
Handling this special case seems appropriate since (as of now) there are
about 165 packages for Trytond and the number is growing.
* guix/import/pypi.scm(python->package-name): Don't add "python-" prefix for
trytond packages.
| Hartmut Goebel |
2022-07-15 | import: egg: Fix updater....'egg-source-url' did not return the URL, but the quoted expression. This did
break the updater, which expects the URL as a string.
* guix/import/egg.scm(egg-source-url): Remove.
(egg->guix-package)[egg-content]: Use quoted expression directly.
(latest-release): Call egg-uri instead of egg-source-url.
| Hartmut Goebel |
2022-07-15 | monad-repl: Add "build", "lower", and "verbosity" commands....Fixes <https://issues.guix.gnu.org/56114>.
Reported by Maxime Devos <maximedevos@telenet.be>.
* guix/monad-repl.scm (%build-verbosity): New variable.
(evaluate/print-with-store): New procedure.
(run-in-store): Rewrite in terms of 'evaluate/print-with-store'.
(verbosity, lower, build): New meta-commands.
* doc/guix.texi (Using Guix Interactively): New node.
(The Store Monad): Link to it.
(Invoking guix repl): Likewise.
* doc/contributing.texi (Running Guix Before It Is Installed): Refer to
it.
(The Perfect Setup): Suggest 'guix install' rather than 'guix package -i'.
| Ludovic Courtès |
2022-07-15 | shell: Ignore cached profiles when using '--export-manifest'....Fixes <https://issues.guix.gnu.org/56539>.
Fixes a bug where "guix shell -D pkg --export-manifest" would provide
the expansion of PKG's dependencies instead of a call to
'package-development-manifest' if that profile happened to be cached.
* guix/scripts/shell.scm (profile-cached-gc-root): Add clause for 'export-manifest?.
| Ludovic Courtès |
2022-07-12 | style: Gracefully handle failure to locate a source file....* guix/scripts/style.scm (absolute-location): Raise an error when
'search-path' returns #f.
| Ludovic Courtès |
2022-07-11 | import: github: Use correct URL scheme....This effects packages hosted at github with source-uri like
…/releases/download/REPO-VERSION/REPO-VERSION.EXT.
E.g. ‘guix refresh udisks’ would fail to find the new release of ‘udisks’
before this change.
* guix/import/github.scm(updated-url): For one one of the
cases add missing 'prefix' and set new version.
| Hartmut Goebel |
2022-07-10 | monads: Add 'mparameterize'....* etc/system-tests.scm (mparameterize): Move to...
* guix/monads.scm (mparameterize): ... here.
* tests/monads.scm ("mparameterize"): New test.
* .dir-locals.el (c-mode): Add it.
| Ludovic Courtès |
2022-07-08 | channels: Emit version 3 profiles....Fixes <https://issues.guix.gnu.org/56441>.
Reported by zimoun <zimon.toutoune@gmail.com>.
Fixes a bug introduced in 4ff12d1de7cd617b791996ee7ca1240660b4c20e with
version 4 of the manifest format. A new 'guix time-machine' would
create a v4 manifest; when targeting an old revision (v3),
'generate-package-cache' would fail to read that manifest and abort.
Furthermore, an old Guix living in a new profile with a v4 manifest
would be unable to describe itself via (guix describe).
* guix/channels.scm (package-cache-file): Add 'format-version' field to
PROFILE.
(channel-instances->derivation): Pass #:format-version to
'profile-derivation'.
| Ludovic Courtès |
2022-07-08 | profiles: Support the creation of profiles with version 3 manifests....* guix/profiles.scm (%manifest-format-version): New variable.
(manifest->gexp): Add optional 'format-version' parameter.
[optional, entry->gexp]: Honor it.
(profile-derivation): Add #:format-version parameter and honor it.
(<profile>)[format-version]: New field.
(profile-compiler): Honor it.
* guix/build/profiles.scm (manifest-sexp->inputs+search-paths): Support
both versions 3 and 4. Remove unused 'properties' variable.
* tests/profiles.scm ("profile-derivation format version 3"): New test.
| Ludovic Courtès |
2022-07-08 | profiles: Remove support for reading versions 0 and 1....Version 2 was introduced in commit
dedb17ad010ee9ef67f3f4f3997dd17f226c8090 (May 2015), which made it into
Guix 0.9.0.
* guix/profiles.scm (find-package): Remove.
(sexp->manifest)[infer-search-paths]: Remove.
Remove clauses for versions 0 and 1.
| Ludovic Courtès |
2022-07-08 | guix: inferior: Fix the behaviour of open-inferior #:error-port....I'm looking at this as the Guix Data Service uses this behaviour to record and
display logs from inferior processes.
* guix/inferior.scm (open-bidirectional-pipe): Call dup2 for file descriptor
2, passing either the file number for the current error port, or a file
descriptor for /dev/null.
* tests/inferior.scm ("#:error-port stderr", "#:error-port pipe"): Add two new
tests that cover some of the #:error-port behaviour.
| Christopher Baines |
2022-07-04 | style: For 'let' and similar forms, emit one binding per line....Previously, 'let' bindings could be rendered like this:
(let ((x 1) (y 2)
(z 3))
...)
With this change, each bindings goes in its own line.
Partly fixes <https://issues.guix.gnu.org/56297>.
Reported by Maxime Devos <maximedevos@telenet.be>.
* guix/scripts/style.scm (pretty-print-with-comments)[list-of-lists?]:
New procedure.
Use it.
* tests/style.scm: Add tests with 'let' and 'substitute-keyword-arguments'.
| Ludovic Courtès |
2022-07-04 | style: Add option '--list-stylings'....* guix/scripts/style.scm (show-stylings): New procedure.
(%options, show-help): Add "--list-stylings".
* doc/guix.texi (Invoking guix style): Document "-l".
| Hartmut Goebel |
2022-07-03 | challenge: Do nothing when passed zero arguments....Previously, 'guix challenge' without arguments would list live store
items that had been locally built. This was deemed confusing,
especially since 'list-live' is an expensive operation.
* guix/scripts/challenge.scm (guix-challenge): Warn and exit with 0 when
FILES is empty.
* doc/guix.texi (Invoking guix challenge): Update accordingly.
| Ludovic Courtès |
2022-07-01 | profiles: Do not repeat entries in 'manifest' file....Fixes <https://issues.guix.gnu.org/55499>.
Reported by Ricardo Wurmus <rekado@elephly.net>.
With this change, the manifest file created for:
guix install r r-seurat r-cistopic r-monocle3 r-cicero-monocle3 r-assertthat
goes from 5.7M to 176K. Likewise, on this profile, wall-clock time of:
GUIX_PROFILING=gc guix package -I
goes from 0.7s to 0.1s, with heap usage going from 55M to 9M.
* guix/profiles.scm (manifest->gexp)[optional]: New procedure.
[entry->gexp]: Turn into a monadic procedure. Return a 'repeated' sexp
if ENTRY was already visited before.
Adjust caller accordingly. Bump manifest version.
(sexp->manifest)[sexp->manifest-entry]: Turn into a monadic procedure.
Add case for 'repeated' nodes. Add each entry to the current state
vhash.
Add clause for version 4 manifests.
[sexp->manifest-entry/v3]: New procedure, with former
'sexp->manifest-entry' code.
* tests/profiles.scm ("deduplication of repeated entries"): New test.
* guix/build/profiles.scm (manifest-sexp->inputs+search-paths)[let-fields]:
New macro.
Use it. Expect version 4. Add clause for 'repeated' nodes.
| Ludovic Courtès |
2022-07-01 | upstream: 'guix refresh -u' no longer stops when upstream info is lacking....Fixes <https://issues.guix.gnu.org/56338>.
Starting from 53b9c27aa59bebf955f0aa24fef60a101480ef5c, 'guix refresh -u'
would stop upon the first failure to determine upstream releases. This
fixes that.
* guix/upstream.scm (package-update): Warn rather than update.
| Ludovic Courtès |
2022-06-26 | substitute: Use SRFI-71 instead of SRFI-11....* guix/scripts/substitute.scm (display-narinfo-data)
(open-connection-for-uri/cached)
(process-substitution): Use SRFI-71 instead of SRFI-11.
| Ludovic Courtès |
2022-06-26 | status: Relay "updating substitutes" messages....Until now, those messages would be accumulated and displayed all at
once, when a '\n' was finally emitted by 'guix substitute'. In the
meantime, clients would remain silent.
* guix/status.scm (bytevector-index): Change 'number' parameter to
'numbers' and adjust accordingly.
(build-event-output-port): Pass both #\newline and #\return to
'bytevector-index'.
* tests/status.scm ("build-output-port, daemon messages with LF"): New
test.
| Ludovic Courtès |
2022-06-26 | self: 'guix-daemon' wrapper refers to the right Guile....Partly fixes <https://issues.guix.gnu.org/56030>.
Reported by Julien Lepiller <julien@lepiller.eu>.
* guix/self.scm (whole-package)[wrap]: Pass #:guile to 'program-file'.
| Ludovic Courtès |
2022-06-19 | build-system/dub: Don't expect ‘.dub/dub.json’....This file is no longer produced by our version of Dub.
* guix/build/dub-build-system.scm (build, check): Remove obsolete
substitutions.
Signed-off-by: Tobias Geerinckx-Rice <me@tobias.gr>
| ( |
2022-06-19 | build-system/dub: Fix configure docstring indentation....* guix/build/dub-build-system.scm (configure): Reflow docstring.
Signed-off-by: Tobias Geerinckx-Rice <me@tobias.gr>
| ( |
2022-06-19 | build-system/dub: Use the gold linker....* guix/build-system/dub.scm (default-ld-gold-wrapper): New procedure.
(lower): Add a LD-GOLD-WRAPPER to the keyword arguments, and to the
resulting bag's…
[build-inputs]: …build inputs.
Signed-off-by: Tobias Geerinckx-Rice <me@tobias.gr>
| ( |
2022-06-19 | build-system/dub: Don't explicitly return #t from phases....* guix/build/dub-build-system.scm (configure, build, check, install):
Remove trailing #t.
Signed-off-by: Tobias Geerinckx-Rice <me@tobias.gr>
| ( |
2022-06-24 | utils: Define 'target-x86?' predicate....* guix/utils.scm (target-x86?): New predicate.
Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
| Denis 'GNUtoo' Carikli |
2022-06-23 | guix system: Inline menu-entries in to bootcfg in perform-action....This avoids an exception when generating images, where the reading of boot
parameters fails.
* guix/scripts/system.scm (perform-action): Inline menu-entries in to bootcfg.
| Christopher Baines |
2022-06-22 | refresh: Repurpose '-L' for '--load-path'....This incompatible change fixes an inconsistency with other commands
where '-L' is short for '--load-path'.
* guix/scripts/refresh.scm (%options): Add --load-path option from
%STANDARD-BUILD-OPTIONS. Remove #\L shortcut for --list-updaters, and
remove --load-path option that lacked the #\L shortcut.
(show-help): Update accordingly.
* doc/guix.texi (Invoking guix refresh): Update accordingly.
| Ludovic Courtès |
2022-06-22 | style: Keep values next to their keyword....This ensures we print '#:key value' rather than insert a newline
between '#:key' and 'value' as was the case before.
* guix/scripts/style.scm (pretty-print-with-comments)[print-sequence]:
When ITEM is a keyword, loop with FIRST? = true.
* tests/style.scm: Add test.
| Ludovic Courtès |
2022-06-21 | build-system: chicken: Add version information to eggs if missing....Chicken eggs do not always contain version information, yet dependant packages
often rely on this information being present. Thus, add a version field if it
is missing.
* guix/build/chicken-build-system.scm (stamp-egg-version): New variable.
(%standard-phases): Add ‘stamp-egg-version’.
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
| Michal Atlas |
2022-06-19 | challenge: Colorize output....* guix/scripts/challenge.scm (good-news, bad-news): New procedures.
(summarize-report, summarize-report-list): Use them and 'highlight'.
| Ludovic Courtès |
2022-06-18 | guix: self: Do not record reference to gcc-toolchain....The ld-wrapper from gcc-toolchain records a reference to the library
path through rpath, but this is not needed. By explicitely using rpath
flags instead, we save 150 MB of closure.
* guix/self.scm (quiet-guile): Do not record reference to gcc-toolchain.
| Julien Lepiller |
2022-06-17 | guix: emacs-utils: Add emacs-header-parse....* guix/build/emacs-utils.scm (emacs-header-parse): New procedure.
* tests/build-emacs-utils.scm ("emacs-header-parse: fetch version",
"emacs-header-parse: fetch keywords", "emacs-header-parse: fetch
nonexistent author"): New tests.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Fredrik Salomonsson |
2022-06-17 | guix: emacs-utils: Add emacs-batch-script....* guix/build/emacs-utils.scm (emacs-batch-script): New procedure.
* tests/build-emacs-utils.scm: New file.
* Makefile.am (TESTS): Add `tests/build-emacs-utils.scm'.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Fredrik Salomonsson |
2022-06-17 | guix: Modernize renpy-build-system....* guix/build-system/renpy.scm (build): Drop trailing #t.
(install, install-desktop-file): Likewise. Also add inputs and use
search-input-file for /bin/sh and /bin/renpy.
| Liliana Marie Prikler |
2022-06-16 | ui: Improve pager selection logic when less is not installed....* guix/ui.scm (find-available-pager): New procedure.
(call-with-paginated-output-port): Use it.
* guix/utils.scm (call-with-environment-variables): Allow clearing of
specified environment variables.
* tests/ui.scm (make-empty-file, assert-equals-find-available-pager):
New procedures.
("find-available-pager, GUIX_PAGER takes precedence")
("find-available-pager, PAGER takes precedence")
("find-available-pager, 'less' takes precedence")
("find-available-pager, 'more' takes precedence")
("find-available-pager, no pager"): New tests.
Co-authored-by: Ludovic Courtès <ludo@gnu.org>
| Taiju HIGASHI |
2022-06-16 | shell: Fix '--export-manifest' for cached profiles and when '-p' is used....Fixes <https://issues.guix.gnu.org/55521>.
* guix/scripts/shell.scm (export-manifest): When computing 'manifest',
honor the 'profile key.
* tests/guix-shell-export-manifest.sh: Add test.
| Ludovic Courtès |
2022-06-16 | shell: Do not auto-detect manifest when '-p' is used....Previous, "guix shell -p /path/to/profile" would have manifest/guix.scm
auto-detection turned on.
* guix/scripts/shell.scm (auto-detect-manifest)[options-contain-payload?]:
Return #t for 'profile.
| Ludovic Courtès |
2022-06-16 | packages: Change the order of %SUPPORTED-SYSTEMS....Commit 2a34333d0c238fa0983659ea71f0e1af4ff0ac7b led to a couple of test
failures in tests/packages.scm and tests/lint.scm due to the different
ordering.
* guix/packages.scm (%supported-systems): Move %64BIT-SUPPORTED-SYSTEMS
first.
| Ludovic Courtès |
2022-06-16 | channels: Print backtrace when generating package cache fails....* guix/channels.scm (package-cache-file): Add a throw handler around
the generate-package-cache call, and print backtrace in it.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Josselin Poiret |
2022-06-15 | upstream: 'package-update' reports "unknown upstream releases" errors....Fixes <https://issues.guix.gnu.org/55987>.
Reported by John Kehayias <john.kehayias@protonmail.com>.
* guix/upstream.scm (package-update): Instead of calling
'package-latest-release*', call 'package-latest-release' and distinguish
between "up-to-date" and "unknown upstream releases". Raise an error in
the latter case.
| Ludovic Courtès |
2022-06-15 | refresh: Switch to SRFI-71....* guix/scripts/refresh.scm (update-package): Use SRFI-71 'let' instead
of SRFI-11 'let-values'.
| Ludovic Courtès |
2022-06-15 | challenge: When using '--diff', do not attempt to chmod symlinks....This is a followup to 2a2856d5ccd9a9b7df8a94333a277b971a39b150.
* guix/scripts/challenge.scm (make-directory-writable): Do not call
'make-file-writable' on symlinks.
| Ludovic Courtès |