Age | Commit message (Expand) | Author |
2023-01-08 | refresh: Add CLI tests....* guix/import/test.scm, tests/guix-refresh.sh: New files.
* Makefile.am (MODULES, SH_TESTS): Add them.
| Ludovic Courtès |
2023-01-08 | import: stackage: Catch networking errors in predicate....* guix/import/stackage.scm (stackage-lts-package?): Wrap body in
'false-if-networking-error'.
| Ludovic Courtès |
2023-01-08 | gnu-maintenance: 'gnu' and 'gnu-ftp' predicates catch networking errors....Previously, in a networking-less environment such as 'guix shell -C -D
guix', 'guix refresh --list-updaters' would crash due to a
'gettaddrinfo-error' exception in these predicates.
* guix/gnu-maintenance.scm (%gnu-updater)[pred]: Wrap in
'false-if-networking-error'.
(%gnu-ftp-updater)[pred]: Likewise.
| Ludovic Courtès |
2023-01-08 | gnu-maintenance: Factorize 'false-if-networking-failure'....* guix/import/utils.scm (call-with-networking-exception-handler): New
procedure.
(false-if-networking-error): New macro.
* guix/gnu-maintenance.scm (import-html-updatable-release): Use it
instead of inline code.
| Ludovic Courtès |
2023-01-07 | substitutes: Log the failing queries....* guix/substitutes.scm (%debug?): New variable.
(handle-narinfo-response): Log the failing queries if the %debug? parameter is
set.
| Mathieu Othacehe |
2023-01-07 | scripts: publish: Add a custom baking header....Log the not-found responses and their reason (baking or not) to stdout. Also
send the X-Baking custom header so that the client can be informed of the
cause of the failure.
* guix/scripts/publish.scm (not-found): Add a baking? argument to add the
X-Baking HTTP header to the response if baking is in progress. Also, log the
404 responses to stdout, indicating if it is due to baking or not.
(render-narinfo/cached): Pass the baking? argument.
| Mathieu Othacehe |
2023-01-05 | environment: Avoid false positive on 'PS1' check....* guix/scripts/environment.scm (validate-child-shell-environment): Do
not warn when 'PS1' refers to 'GUIX_ENVIRONMENT'.
| Ludovic Courtès |
2023-01-05 | environment: Simplify 'PS1' suggestion on '--check'....* guix/scripts/environment.scm (validate-child-shell-environment): In
'PS1' suggestion, remove 'export' and avoid 'if'.
| Ludovic Courtès |
2023-01-05 | home: '--version' really says "guix home"....* guix/scripts/home.scm (%options): Fix argument to 'show-version-and-exit'.
| Ludovic Courtès |
2023-01-03 | refresh: Always return an <update-spec> for each command-line option....This fixes a regression introduced in
8aeccc6240ec45f0bc7bed655e0c8149ae4253eb whereby packages specified via
-e, -r, or -m, as well as packages *not* specified on the command line,
would all lead to a wrong-type error.
Reported by Ricardo Wurmus <rekado@elephly.net> at
<https://lists.gnu.org/archive/html/guix-devel/2022-12/msg00311.html>.
* guix/scripts/refresh.scm (<update-spec>): Move above. Rename
constructor to '%update-spec' and add separate 'update-spec' procedure
with optional #:version parameter.
(options->update-specs): Always return a list of <update-spec> and
update docstring accordingly. Rename 'args-packages' to 'update-specs'
and ensure it's a list of <update-spec>; handle 'manifest' arguments
here.
| Ludovic Courtès |
2023-01-03 | refresh: Honor user-provided target version and report downgrades....Previously, 'guix refresh guile=3.0.0' would print:
3.0.8 is already the latest version of guile
With this change, it prints:
guile would be downgraded from 3.0.8 to 3.0.0
This is a followup to 8aeccc6240ec45f0bc7bed655e0c8149ae4253eb.
* guix/scripts/refresh.scm (check-for-package-update): Take an
<update-spec> instead of a <package>. Report downgrades as such when
UPDATE-SPEC specifies a target version.
(guix-refresh): Adjust caller.
| Ludovic Courtès |
2023-01-03 | upstream: Allow downgrades....Previously, 'guix refresh -u guile=3.0.0' would do nothing. With this
change, it actually downgrades 'guile'.
This is a followup to 8aeccc6240ec45f0bc7bed655e0c8149ae4253eb.
* guix/upstream.scm (package-update): Ignore 'version>?' check
when #:version is passed. Warn about downgrades.
| Ludovic Courtès |
2023-01-03 | ui: It's 2023 now!...* guix/ui.scm (show-version-and-exit): Change year to 2023.
| Ludovic Courtès |
2022-12-31 | import/cran: Depend on gfortran if .f files are detected too....There was an inconsistency between tarball-needs-fortran? and
directory-needs-fortran?.
* guix/import/cran.scm (directory-needs-fortran?): Match .f files too.
| Lars-Dominik Braun |
2022-12-31 | import/cran: Use multiple values instead of a list of lists....* guix/import/cran.scm (source-dir->dependencies): Return multiple values.
(description->package): Bind two values.
| Ricardo Wurmus |
2022-12-31 | import/utils: recursive-import: Pass on lookup-node's version argument....* guix/import/utils.scm (recursive-import)<lookup-node>: Replace the #:VERSION
keyword from RECURSIVE-IMPORT's arguments with the value of VERSION passed to
LOOKUP-NODE.
| Ricardo Wurmus |
2022-12-31 | import/cran: Always operate on source directory....Extracting the source tarball multiple times is very slow and a
speedup of >2x (without network I/O) can be achieved by coalescing all
NEEDS-X? functions into a single one, which extracts a tarball only once.
* guix/import/cran.scm (tarball-needs-fortran?): Remove unused function.
(needs-fortran?): Ditto.
(tarball-files-match-pattern?): Ditto.
(tarball-needs-zlib?): Ditto.
(needs-zlib?): Ditto.
(tarball-needs-pkg-config?): Ditto.
(needs-pkg-config?): Ditto.
(source-dir->dependencies): New function.
(source->dependencies): New function.
(description->package): Use it.
| Lars-Dominik Braun |
2022-12-31 | import/cran: Translate more package dependencies....Assumes we use package variable names, not package specification names.
* guix/import/cran.scm (invalid-packages): Add more invalid names.
(transform-sysname): Transform more package names.
| Lars-Dominik Braun |
2022-12-31 | import/cran: Allow overriding tarball download....* guix/import/cran.scm (description->package): Accept new keyword argument
DOWNLOAD-SOURCE.
(cran->guix-package): Ditto.
| Lars-Dominik Braun |
2022-12-31 | import/cran: Allow overriding description fetch function....* guix/import/cran.scm (cran->guix-package): New keyword argument
FETCH-DESCRIPTION.
| Lars-Dominik Braun |
2022-12-31 | import/cran: Allow custom license prefix....* guix/import/cran.scm (string-licenses): Add license-prefix argument.
(string->license): Ditto.
(description->package): Ditto.
(cran->guix-package): Ditto.
(cran-recursive-import): Ditto.
* guix/scripts/import/cran.scm (%options): Add new option -p/--license-prefix.
(show-help): Document it.
(parse-options): Pass it to importer.
* doc/guix.texi (Invoking guix import): Document it.
| Lars-Dominik Braun |
2022-12-31 | import/utils: Pass all arguments through to package builder....Individual importer may have additional arguments.
* guix/import/utils.scm (recursive-import): Patch all keyword arguments
through to repo->guix-package.
* guix/import/cran.scm (cran->guix-package): Add #:allow-other-keys.
* guix/import/crate.scm (crate->guix-package): Ditto.
* guix/import/egg.scm (egg->guix-package): Ditto.
* guix/import/elm.scm (elm->guix-package): Ditto.
* guix/import/gem.scm (gem->guix-package): Ditto.
* guix/import/gnu.scm (gnu->guix-package): Ditto.
* guix/import/go.scm (go-module->guix-package): Ditto.
(go-module-recursive-import): Ditto.
* guix/import/hackage.scm (hackage->guix-package): Ditto.
(hackage-recursive-import): Ditto.
* guix/import/hexpm.scm (hexpm->guix-package): Ditto.
* guix/import/minetest.scm (minetest->guix-package): Ditto.
(minetest-recursive-import): Ditto.
* guix/import/opam.scm (opam->guix-package): Ditto.
* guix/import/pypi.scm (pypi->guix-package): Ditto.
* guix/import/stackage.scm (stackage->guix-package): Ditto.
(stackage-recursive-import): Ditto.
* guix/import/texlive.scm (texlive->guix-package): Ditto.
| Lars-Dominik Braun |
2022-12-27 | records: match-record supports specifying a different variable name....An example:
(match-record obj <my-type>
(field1 (field2 custom-var-name) field3)
...)
* guix/records.scm (match-record-inner): Add support for the new syntax.
* tests/records.scm ("match-record, simple"): Add a simple test case for the
new syntax.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Attila Lendvai |
2022-12-26 | upstream: Allow updating to a specific version....* guix/upstream.scm(package-latest-release): Add keyword-argument 'version'
and pass it on to the updater's 'import' function.
(package-update): add keyword-argument 'version' and pass it on to
package-latest-release. Differentiate the error message issued when
no package was found, depending on whether version was given or not.
| Hartmut Goebel |
2022-12-26 | refresh: Allow updating to a specific version....* guix/scripts/refresh.scm (options->packages)[args-packages]: Handle version
specification in package name arguments.
(update-package): Add #:version argument and pass it on to called functions.
(guix-refresh): When updating, pass the specified version (if any) to
update-package.
[package-list-without-versions, package-list-with-versions]: New functions.
| Hartmut Goebel |
2022-12-26 | import: pypi: Allow updating to a specific version....* guix/import/pypi.scm (latest-release): Rename to 'import-release',
add #:version argument and pass it on to called functions.
| Hartmut Goebel |
2022-12-26 | import: launchpad: Allow updating to a specific version....* guix/import/launchpad.scm (latest-release): Rename to 'import-release',
add #:version argument.
If version is given, return an upstream-source for this version.
| Hartmut Goebel |
2022-12-26 | import: kde: Allow updating to a specific version....* guix/import/kde.scm (latest-kde-release): Rename to 'import-kde-release',
add #:version argument. Rework the code to not sort the relevant files,
but just find the requested or latest version.
[find-latest-archive-version]: New function.
| Hartmut Goebel |
2022-12-26 | import: hexpm: Allow updating to a specific version....* guix/import/hexpm.scm (latest-release): Rename to 'import-release',
add #:version argument.
If version is given, return an upstream-source for this version.
| Hartmut Goebel |
2022-12-26 | import: gnome: Allow updating to a specific version....* guix/import/gnome.scm (latest-gnome-release): Rename
to 'import-gnome-release', add #:version argument. If version is
given, try to find the respective version
[find-latest-release]: New function, based on former code.
[find-version-release]: New function.
| Hartmut Goebel |
2022-12-26 | import: github: Allow updating to a specific version....* guix/import/github.scm (latest-released-version): Add #:version argument.
If version is given, try to find the respective release.
(latest-releease) Rename to 'import-release', add #:version argument
and pass it on to 'latest-released-version'.
| Hartmut Goebel |
2022-12-26 | import: git: Allow updating to a specific version....* guix/import/git.scm
(latest-tag): Add #:version argument. If version is given, try to
find the respective version tag.
(latest-git-tag-version): Add #:version argument and pass it on to
called functions.
(latest-releease) Rename to 'import-release', add #:version argument
and pass it on to called functions.
| Hartmut Goebel |
2022-12-26 | import: gem: Allow updating to a specific version....* guix/import/gem.scm (latest-release): Rename to 'import-release',
add #:version argument.
If version is given, return an upstream-source for this version.
| Hartmut Goebel |
2022-12-26 | import: egg: Allow updating to a specific version....* guix/import/egg.scm (latest-release): Rename to 'import-release',
add #:version argument.
If version is given, return an upstream-source for this version.
| Hartmut Goebel |
2022-12-26 | import: crate: Allow updating to a specific version....* guix/import/crate.scm (latest-release): Rename to 'import-release',
add #:version argument.
If version is given, return an upstream-source for this version.
| Hartmut Goebel |
2022-12-26 | gnu-maintenance: Allow updating to a specific version....* guix/gnu-maintenance.scm
(latest-ftp-release): Rename to … (import-ftp-release) … this,
add #:version argument.
If version is given, try to find the respective version.
(latest-html-release): Rename to … (import-html-release) … this,
add #:version argument.
If version is given, try to find the respective version.
(latest-gnu-release): Rename to … (import-gnu-release) … this,
add #:version argument. Refactor to first select archives for
respective package, the find the requested or latest version, then create
the upstream-source.
(latest-release): Rename to … (import-release) … this,
add #:version argument, pass on to … (import-ftp-release) … this.
(import-release*): Rename to … (import-release*) … this,
add #:version argument, pass on to … (latest-release) … this.
(latest-savannah-release): Rename to … (import-savannah-release) … this,
add keword-argument version, pass on to … (import-html-release) … this.
(latest-xorg-release): Rename to … (import-xorg-release) … this,
add keword-argument version, pass on to … (import-ftp-release) … this.
(latest-kernel.org-release): Rename to … (import-kernel.org-release) … this,
add #:version argument, pass on to … (import-html-release) … this.
(latest-html-updatable-release): Rename to … (import-html-updatable-release)
… this, add #:version argument, pass on to … (import-html-release) … this.
* guix/import/gnu.scm(gnu->guix-package): Adjust function call.
| Hartmut Goebel |
2022-12-26 | import: sourceforge: Issue error-message if version is given....Due to the complicated directory structure at sourceforce,
enabling the sourceforge importer to update to a specific version
is very complicated to implement. Since only 2.0% of the
packages in guix are covered by this updater I dedided to not
implement this.
* guix/gnu-maintenance.scm (latest-sourceforge-release): Add #:version
argument. Issue error-message if version is given.
| Hartmut Goebel |
2022-12-26 | import: Issue error-message if version is given....These importer don't support importing a specific version, thus the updater
does neither. Issue an error message in case version is given.
* guix/import/cpan.scm (latest-release),
guix/import/elpa.scm (latest-release),
guix/import/hackage.scm (latest-release),
guix/import/minetest.scm (latest-minetest-release),
guix/import/opam.scm (latest-release): Add #:version argument,
issue error if version is given.
* guix/import/cran.scm (latest-cran-release): Same.
(latest-bioconductor-release) Same. <version>: rename to <latest-version>.
* guix/import/stackage.scm (latest-lts-release): For each generated updater,
add #:version argument and issue error if version is given.
| Hartmut Goebel |
2022-12-26 | import: cpan: Remove unused exports....* guix/import/cpan.scm (#:export): Remove unused exports.
| Hartmut Goebel |
2022-12-26 | upstream-updater: Rename record field....The next commits will make the functions, which are currently importing the
latest version of a package, change into importing the latest or a given
version of the package (for those updaters supporting specifying a version).
Thus the name ‘latest‘ is no longer appropriate.
* guix/upstream.scm (upstream-updater) Rename field [latest] to
[import]. (lookup-updater, package-latest-release) Adjust fieldname
accordingly.
* guix/gnu-maintenance.scm (%gnu-updater, %gnu-ftp-updater,
%savannah-updater, %sourceforge-updater, %xorg-updater,
%kernel.org-updater, %generic-html-updater),
guix/import/cpan.scm (%cpan-updater),
guix/import/cran.scm (%cran-updater, %bioconductor-updater),
guix/import/crate.scm (%crate-updater),
guix/import/egg.scm (%egg-updater),
guix/import/elpa.scm (%elpa-updater),
guix/import/gem.scm (%gem-updater),
guix/import/git.scm (%generic-git-updater),
guix/import/github.scm (%github-updater),
guix/import/gnome.scm (%gnome-updater),
guix/import/hackage.scm (%hackage-updater),
guix/import/hexpm.scm (%hexpm-updater),
guix/import/kde.scm (%kde-updater),
guix/import/launchpad.scm (%launchpad-updater),
guix/import/minetest.scm (%minetest-updater),
guix/import/opam.scm (%opam-updater),
guix/import/pypi.scm (%pypi-updater),
guix/import/stackage.scm (%stackage-updater),
tests/import-github.scm (found-sexp)
tests/transformations.scm ("options->transformation, with-latest"):
Adjust fieldname accordingly.
| Hartmut Goebel |
2022-12-26 | shell: Make --help show --system and --list-systems....These options are callable and documented in the manual but not
shown by --help.
* guix/scripts/shell.scm: Make --help show --system and
--list-systems.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Yarl Baudig |
2022-12-21 | guix: ocaml: Add package-with-ocaml5.0....* guix/build-system/ocaml.scm (package-with-ocaml5.0)
(strip-ocaml5.0-variant): New variables.
* gnu/packages/ocaml.scm (ocaml5.0-dune-bootstrap)
(ocaml5.0-dune, ocaml5.0-dune-configurator)
(ocaml5.0-csexp, ocaml5.0-result): New variables.
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
| pukkamustard |
2022-12-21 | guix system: Skip initrd modules check when using --target....* guix/scripts/system.scm (perform-action): Do not call CHECK-INITRD-MODULES
when the %current-target-system parameter is set.
| Maxim Cournoyer |
2022-12-20 | kconfig: Streamline comment in 'modify-defconfig'....* guix/build/kconfig.scm (modify-defconfig): Streamline comment.
| Maxim Cournoyer |
2022-12-20 | kconfig: Mostly preserve keys ordering of original defconfig....* guix/build/kconfig.scm (defconfig->alist): Reverse the results of lists
constructed with cons.
| Maxim Cournoyer |
2022-12-20 | kconfig: Move pair->config-string up....* guix/build/kconfig.scm (pair->config-string): Move earlier, to match the
natural dependency of declarations (useful when experimenting at the REPL).
| Maxim Cournoyer |
2022-12-20 | read-print: Add special forms....* guix/read-print.scm (%special-forms): Add 'define-configuration' and
'match-record'.
| Ludovic Courtès |
2022-12-19 | import/cran: Add more mappings from sysnames to Guix package names....* guix/import/cran.scm (transform-sysname): Add more mappings.
| Ricardo Wurmus |
2022-12-19 | guix: packages: Add type hint comment to home-page record field....* guix/packages.scm (package)[home-page]: Add type comment.
Signed-off-by: Andrew Tropin <andrew@trop.in>
| jgart |
2022-12-13 | ui: Take package upstream name into account when searching....* guix/ui.scm (%package-metrics): Add PACKAGE-UPSTREAM-NAME*.
* tests/ui.scm ("package-relevance and upstream name"): New test.
Co-authored-by: Ludovic Courtès <ludo@gnu.org>
| Lars-Dominik Braun |