summaryrefslogtreecommitdiff
path: root/guix
AgeCommit message (Collapse)Author
2022-12-26import: kde: Allow updating to a specific version.Hartmut Goebel
* 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.
2022-12-26import: hexpm: Allow updating to a specific version.Hartmut Goebel
* guix/import/hexpm.scm (latest-release): Rename to 'import-release', add #:version argument. If version is given, return an upstream-source for this version.
2022-12-26import: gnome: Allow updating to a specific version.Hartmut Goebel
* 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.
2022-12-26import: github: Allow updating to a specific version.Hartmut Goebel
* 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'.
2022-12-26import: git: Allow updating to a specific version.Hartmut Goebel
* 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.
2022-12-26import: gem: Allow updating to a specific version.Hartmut Goebel
* guix/import/gem.scm (latest-release): Rename to 'import-release', add #:version argument. If version is given, return an upstream-source for this version.
2022-12-26import: egg: Allow updating to a specific version.Hartmut Goebel
* guix/import/egg.scm (latest-release): Rename to 'import-release', add #:version argument. If version is given, return an upstream-source for this version.
2022-12-26import: crate: Allow updating to a specific version.Hartmut Goebel
* guix/import/crate.scm (latest-release): Rename to 'import-release', add #:version argument. If version is given, return an upstream-source for this version.
2022-12-26gnu-maintenance: Allow updating to a specific version.Hartmut Goebel
* 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.
2022-12-26import: sourceforge: Issue error-message if version is given.Hartmut Goebel
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.
2022-12-26import: Issue error-message if version is given.Hartmut Goebel
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.
2022-12-26import: cpan: Remove unused exports.Hartmut Goebel
* guix/import/cpan.scm (#:export): Remove unused exports.
2022-12-26upstream-updater: Rename record field.Hartmut Goebel
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.
2022-12-26shell: Make --help show --system and --list-systems.Yarl Baudig
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>
2022-12-21guix: ocaml: Add package-with-ocaml5.0.pukkamustard
* 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>
2022-12-21guix system: Skip initrd modules check when using --target.Maxim Cournoyer
* guix/scripts/system.scm (perform-action): Do not call CHECK-INITRD-MODULES when the %current-target-system parameter is set.
2022-12-20kconfig: Streamline comment in 'modify-defconfig'.Maxim Cournoyer
* guix/build/kconfig.scm (modify-defconfig): Streamline comment.
2022-12-20kconfig: Mostly preserve keys ordering of original defconfig.Maxim Cournoyer
* guix/build/kconfig.scm (defconfig->alist): Reverse the results of lists constructed with cons.
2022-12-20kconfig: Move pair->config-string up.Maxim Cournoyer
* guix/build/kconfig.scm (pair->config-string): Move earlier, to match the natural dependency of declarations (useful when experimenting at the REPL).
2022-12-20read-print: Add special forms.Ludovic Courtès
* guix/read-print.scm (%special-forms): Add 'define-configuration' and 'match-record'.
2022-12-19import/cran: Add more mappings from sysnames to Guix package names.Ricardo Wurmus
* guix/import/cran.scm (transform-sysname): Add more mappings.
2022-12-19guix: packages: Add type hint comment to home-page record field.jgart
* guix/packages.scm (package)[home-page]: Add type comment. Signed-off-by: Andrew Tropin <andrew@trop.in>
2022-12-13ui: Take package upstream name into account when searching.Lars-Dominik Braun
* 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>
2022-12-13packages: Add 'package-upstream-name*'.Lars-Dominik Braun
* guix/packages.scm (package-upstream-name*): New procedure. * tests/packages.scm ("package-upstream-name*"): New test. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-12-12Merge branch 'version-1.4.0'Ludovic Courtès
2022-12-12pki: 'public-keys->acl' deduplicates entries.Ludovic Courtès
Reported by Tobias Geerinckx-Rice <me@tobias.gr> in <https://issues.guix.gnu.org/50892>. * guix/pki.scm (public-keys->acl): Add call to 'delete-duplicates'. * tests/pki.scm ("public-keys->acl deduplication"): New test.
2022-12-10deduplicate: Use 'sendfile' only with file ports.v1.4.0rc2Ludovic Courtès
Fixes a regression introduced in b129026e2e242e9068158ae6e6fcd8d7c5ea092e. * guix/store/deduplication.scm (dump-file/deduplicate): Use 'sendfile' only when INPUT' is a file port.
2022-12-10deduplicate: Use 'sendfile' for small file copies.Ludovic Courtès
* guix/store/deduplication.scm (dump-file/deduplicate): Use 'sendfile' instead of 'dump-port'. * tests/store-deduplication.scm ("copy-file/deduplicate, below %deduplication-minimum-size"): New test.
2022-12-09environment: '-C' doesn't throw when the NSS is dysfunctional.Ludovic Courtès
Previously, if the name service switch was dysfunctional, as can happen on foreign distros lacking nscd, "guix shell -C" would crash with a backtrace on the uncaught 'getpwuid' exception. To address that, catch the exception and deal with it gracefully. Reported by remsd1 on #guix. * guix/scripts/environment.scm (launch-environment/container): Wrap 'getpwuid' call in 'false-if-exception'.
2022-12-08records: 'match-record' checks fields at macro-expansion time.Ludovic Courtès
This allows 'match-record' to be more efficient (field offsets are computed at compilation time) and to report unknown fields at macro-expansion time. * guix/records.scm (map-fields): New macro. (define-record-type*)[rtd-identifier]: New procedure. Define TYPE as a macro and use a separate identifier for the RTD. (lookup-field, match-record-inner): New macros. (match-record): Rewrite in terms of 'match-error-inner'. * tests/records.scm ("match-record, simple") ("match-record, unknown field"): New tests. * gnu/services/cuirass.scm (cuirass-shepherd-service): Rename 'log-file' local variable to 'main-log-file'. * gnu/services/getmail.scm (serialize-getmail-configuration-file): Move after <getmail-configuration-file> definition.
2022-12-09environment: '-C' doesn't throw when the NSS is dysfunctional.Ludovic Courtès
Previously, if the name service switch was dysfunctional, as can happen on foreign distros lacking nscd, "guix shell -C" would crash with a backtrace on the uncaught 'getpwuid' exception. To address that, catch the exception and deal with it gracefully. Reported by remsd1 on #guix. * guix/scripts/environment.scm (launch-environment/container): Wrap 'getpwuid' call in 'false-if-exception'.
2022-12-08gnu-maintenance: 'generic-html' updater ignores invalid host names.Ludovic Courtès
Previously "guix refresh xkbset" for example would crash with a getaddrinfo-error because the domain name is invalid. Now it reports failure to update. Reported by Tyler Wolf <tyler@twolf.io> in <https://issues.guix.gnu.org/59598>. * guix/gnu-maintenance.scm (latest-html-updatable-release): Return #f upon 'getaddrinfo-error' as well.
2022-12-06gnu: linux-libre: Move documentation to a separate package.Maxim Cournoyer
* gnu/packages/linux.scm (linux-libre-5.15-source) (linux-libre-5.10-source): Do not apply linux-libre-infodocs-target.patch. (make-linux-libre): Remove BUILD-DOC? argument, and adjust patches conditional. (make-linux-libre*): Likewise. Remove build-doc? validation. [arguments]: Move documentation related phases to the new linux-libre-documentation. [native-inputs]: Move the documentation related native inputs to linux-libre-documentation. (linux-libre-documentation): New variable. * guix/build-system/linux-module.scm (make-linux-module-builder) [arguments]: Do not delete build-doc and install-doc phases, which no longer exist for linux-libre.
2022-12-06gnu: Resolve derivation lint warnings.Christopher Baines
Computing derivations for these systems (i686-gnu and riscv32-linux) fails with an error like the following: could not find bootstrap binary 'tar' for system * gnu/packages/mes.scm (mescc-tools)[supported-systems]: Remove riscv32-linux. * guix/packages.scm (%hurd-system): Remove i686-gnu. Signed-off-by: Christopher Baines <mail@cbaines.net>
2022-12-05Merge branch 'version-1.4.0'Ludovic Courtès
2022-12-05substitute: Fix typo in 'open-connection-for-uri/cached' docstring.Ludovic Courtès
* guix/scripts/substitute.scm (open-connection-for-uri/cached): Fix docstring.
2022-12-02modules: Recognize #:declarative?.Ludovic Courtès
This addition has become necessary since commit 54003af85cc5b689bd328b30617c93ed2f5fd647, which makes use of #:declarative? in modules produced by 'make-config.scm'. Reported by zimoun <zimon.toutoune@gmail.com>. * guix/modules.scm (extract-dependencies): Recognize #:declarative?, which was introduced in Guile 3.0.8.
2022-12-02modules: Recognize #:declarative?.Ludovic Courtès
This addition has become necessary since commit 54003af85cc5b689bd328b30617c93ed2f5fd647, which makes use of #:declarative? in modules produced by 'make-config.scm'. Reported by zimoun <zimon.toutoune@gmail.com>. * guix/modules.scm (extract-dependencies): Recognize #:declarative?, which was introduced in Guile 3.0.8.
2022-12-02syscalls: Adjust for lack of 'libutil.so' on glibc >= 2.34.Ludovic Courtès
This is a re-implementation of 3c8b6fd94ceb1e898216929e8768fb518dbf1de9 done in a way that works for both glibc >= 2.34 and earlier versions. * guix/build/syscalls.scm (syscall->procedure): When LIBRARY is true, fall back to global symbols if (dynamic-link library) fails. (cherry picked from commit 3f6c32a88fc7a4d707ae1ed8ef3f7bd995461aff)
2022-12-01Revert "gnu: linux-libre: Move info manual to doc output."Maxim Cournoyer
This reverts commit 748ec628826cea3faa3679074d87fae9bc810080. It broke the linux-libre-module-builder like so: builder for `/gnu/store/293jxydym9z7ck7afmrjqhiw3xpfs4i1-linux-libre-module-builder-6.0.10.drv' failed to produce output path `/gnu/store/ghmp1q5w6r1s9364rz53jd42152wgz2v-linux-libre-module-builder-6.0.10-doc' for reasons difficult to understand.
2022-12-02records: 'match-record' checks fields at macro-expansion time.Ludovic Courtès
This allows 'match-record' to be more efficient (field offsets are computed at compilation time) and to report unknown fields at macro-expansion time. * guix/records.scm (map-fields): New macro. (define-record-type*)[rtd-identifier]: New procedure. Define TYPE as a macro and use a separate identifier for the RTD. (lookup-field, match-record-inner): New macros. (match-record): Rewrite in terms of 'match-error-inner'. * tests/records.scm ("match-record, simple") ("match-record, unknown field"): New tests. * gnu/services/cuirass.scm (cuirass-shepherd-service): Rename 'log-file' local variable to 'main-log-file'. * gnu/services/getmail.scm (serialize-getmail-configuration-file): Move after <getmail-configuration-file> definition.
2022-12-01build: kconfig: Add new module to modify defconfig files.Stefan
* guix/build/kconfig.scm: New file. * Makefile.am: Register it. * gnu/packages/bootloaders.scm (make-u-boot-package) (make-u-boot-sunxi64-package): Add DEFCONFIGS and CONFIGS arguments. Remove dead code. (u-boot-am335x-boneblack, u-boot-pinebook) (u-boot-novena,u-boot-rockpro64-rk3399): Simplify packages by using the new keyword arguments. Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com> Modified-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2022-12-01gnu: linux-libre: Move info manual to doc output.Maxim Cournoyer
The kernel Linux is installed in the system profile, which means the manual was not easily discoverable. Move it to the "doc" output, so that users can install the Linux documentation explicitly in their user profile without pulling the whole Linux package. * gnu/packages/linux.scm (make-linux-libre*) [outputs]: Conditionally add a "doc" output. [phases] {install-doc}: Install the info manual to the doc output, an create a "linux" symlink to it for convenience. * guix/build-system/linux-module.scm (make-linux-module-builder): Delete the "doc" output, if present.
2022-11-29build: linux-module: Do not inherit the install-doc phase.Maxim Cournoyer
This is a followup commit to aaf1f18b8044142515ff868bcbd2b72b81ced3ec, itself a followup to 82c43b276dd5e60c81ad2c040a9d945befc4bc88 (gnu: linux-libre: Enable building info doc). * guix/build-system/linux-module.scm (make-linux-module-builder) [phases]: Also delete inherited 'install-doc phase. Reported-by: John Kehayias <john.kehayias@protonmail.com>
2022-11-29build: linux-module: Do not inherit the build-doc phase.Maxim Cournoyer
This is a followup commit to 82c43b276dd5e60c81ad2c040a9d945befc4bc88 (gnu: linux-libre: Enable building info doc). * guix/build-system/linux-module.scm (make-linux-module-builder) [phases]: Delete inherited 'build-doc phase. Reported-by: John Kehayias <john.kehayias@protonmail.com>
2022-11-29import/cran: Add package name mapping.Ricardo Wurmus
* guix/import/cran.scm (transform-sysname): Add mapping from sqlite3 to sqlite.
2022-11-26licenses: Add EUPL 1.1.Antero Mejr
* guix/licenses.scm (eupl1.1): New variable. Signed-off-by: Lars-Dominik Braun <lars@6xq.net>
2022-11-24guix: Upgrade to Bioconductor 3.16.zimoun
* guix/build-system/r.scm (bioconductor-uri): Bump Bioconductor version to 3.16. * guix/import/cran.scm (%bioconductor-version): Same.
2022-11-23offload: Increase default 'overload-threshold' value.Ludovic Courtès
When offloading to a single machine, the previous default value would lead 'guix offload' to wait possibly for several minutes between subsequent builds until normalized load would finally go below 0.6. Increasing it mitigates that. * guix/scripts/offload.scm (<build-machine>)[overload-threshold]: Bump to 0.8. * doc/guix.texi (Daemon Offload Setup): Likewise.
2022-11-22reconfigure: Use SRFI-71 instead of SRFI-11.Ludovic Courtès
* guix/scripts/system/reconfigure.scm (upgrade-shepherd-services) (channel-relations): Use SRFI-71.