summaryrefslogtreecommitdiff
path: root/guix
AgeCommit message (Expand)Author
2023-05-30substitute: If a server's nar URL is 404, try the next one(s)....If a substitute server advertises in its narinfo, for example, both a /zstd and a /lzip URL but the /zstd URL is unreachable, try the /lzip URL. Fixes <https://issues.guix.gnu.org/63634>. * guix/narinfo.scm (narinfo-preferred-uris): New procedure. (narinfo-best-uri): Rebase on top of it. * guix/scripts/substitute.scm (download-nar)[try-fetch]: New procedure. Use 'narinfo-preferred-uris' and 'try-fetch' to attempt all the URLs of NARINFO. * tests/substitute.scm (request-substitution): Remove 'parameterize'. Delete DESTINATION. ("substitute, preferred nar URL is 404, other is 200"): New test. Ludovic Courtès
2023-05-25self: Install 'guix-daemon.cil'....* guix/self.scm (selinux-policy): New procedure. (miscellaneous-files): Add 'daemon' parameter. Add 'guix-daemon.cil'. (compiled-guix): Adjust call to 'miscellaneous-files'. Ludovic Courtès
2023-05-24self: Build against "graphviz-minimal"....Fixes <https://issues.guix.gnu.org/63050>. Reported by Andreas Enge <andreas@enge.fr>. * guix/self.scm (%packages): Change "graphviz" to refer to "graphviz-minimal". Add "font-ghostscript". (info-manual): Define 'font-ghostscript'. [build]: Set XDG_DATA_DIRS. Ludovic Courtès
2023-05-22substitute: Rethrow with 'raise-exception', not 'throw'....Rethrowing with 'throw' doesn't work as intended when the exception being rethrown is a SRFI-34 exception. Fixes <https://issues.guix.gnu.org/55820>. * guix/scripts/substitute.scm (kind-and-args-exception?): New variable. (call-with-cached-connection): Rewrite using 'guard' instead of 'catch' and 'raise' instead of 'throw'. (system-error?): Use 'kind-and-args-exception?' instead of local definition. Ludovic Courtès
2023-05-18style: Add 'arguments' styling rule....* guix/scripts/style.scm (unquote->ungexp, gexpify-argument-value) (quote-argument-value, gexpify-argument-tail) (gexpify-package-arguments): New procedures. (%gexp-keywords): New variable. (%options): Add "arguments" case for 'styling-procedure. (show-stylings): Update. * tests/style.scm ("gexpify arguments, already gexpified") ("gexpify arguments, non-gexp arguments, margin comment") ("gexpify arguments, phases and flags") ("gexpify arguments, append arguments") ("gexpify arguments, substitute-keyword-arguments") ("gexpify arguments, append substitute-keyword-arguments"): New tests. * doc/guix.texi (package Reference): For 'arguments', add compatibility note and link to 'guix style'. (Invoking guix style): Document the 'arguments' styling rule. Ludovic Courtès
2023-05-18refresh: Honor '--key-server'....Previously, the '--key-server' option would be ignored in an invocation like: ./pre-inst-env guix refresh python-scipy=1.8.1 -t pypi -u \ --key-server=pgp.mit.edu * guix/upstream.scm (download-tarball): Add #:key-server parameter and pass it to 'gnupg-verify*'. (package-update/url-fetch, package-update/git-fetch) (package-update): Likewise. * guix/scripts/refresh.scm (update-package): Add #:key-server and pass it down to 'package-update'. (guix-refresh): Pass #:key-server to 'update-package'. Ludovic Courtès
2023-05-17scripts: import: elpa: Return consistent error code....Fixes <https://bug.gnu.org/58308>. Reported by Ricardo Wurmus. * guix/scripts/import/elpa.scm (guix-import-elpa): Return consistent error code independently of the 'recursive' option. Signed-off-by: Josselin Poiret <dev@jpoiret.xyz> Simon Tournier
2023-05-17scripts: import: elpa: Warn when version is specified....* guix/scripts/import/elpa.scm (guix-import-elpa): Warn when version is specified. Signed-off-by: Josselin Poiret <dev@jpoiret.xyz> Simon Tournier
2023-05-11download: Refer to the 'guile-gnutls' package and not 'gnutls'....This reinstates c625e5b64d0a6cb7ffbf2ef971d4c990b1f5c5c1, which was reverted due to a circular dependency: https://issues.guix.gnu.org/63331 This is a followup to 305794762cbb57d252d5305b69a18cec6528baef, which removed Guile bindings from 'gnutls'. * guix/android-repo-download.scm (android-repo-fetch): Refer to 'guile-gnutls instead of 'gnutls. * guix/cvs-download.scm (cvs-fetch): Likewise. * guix/git-download.scm (git-fetch): Likewise. * guix/hg-download.scm (hg-fetch): Likewise. Ludovic Courtès
2023-05-09Merge branch 'rust-team'Efraim Flashner
2023-05-09gnu: gcc: Update cpu tuning architectures....* gnu/packages/gcc.scm (%gcc-7.5-armhf-micro-architectures): Add missing micro-architecture. (%gcc-10-armhf-micro-architectures): Adjust accordingly. (%gcc-11-aarch64-micro-architectures): Add missing micro-architecture. (%gcc-12-aarch64-micro-architectures, %gcc-12-armhf-micro-architectures, %gcc-12-x86_64-micro-architectures, %gcc-13-aarch64-micro-architectures, %gcc-13-armhf-micro-architectures, %gcc-13-x86_64-micro-architectures): New variables. (gcc-12)[properties]: Use new compiler-cpu-architectures. * guix/cpu.scm (cpu->gcc-architecture): Update entries for Intel, AMD, x86_64 fallback and aarch64. Efraim Flashner
2023-05-07gnu: rust: Update to 1.67....* gnu/packages/rust.scm (rust): Update to 1.67. [arguments]: Add a phase to skip tests requiring mercurial. Extend the custom 'patch-process-tests phase. (rust-1.64)[arguments]: Adjust 'patch-cargo-checksums phase to patch another file. * guix/build/cargo-build-system.scm (package): Adjust to remove Cargo.toml.orig file if it exists. Efraim Flashner
2023-05-07build: cargo-build-system: Don't try to package when skipping build....* guix/build/cargo-build-system.scm (package): If the package isn't going to be built then use the source instead. Efraim Flashner
2023-05-06Revert "download: Refer to the 'guile-gnutls' package and not 'gnutls'."...This reverts commit c625e5b64d0a6cb7ffbf2ef971d4c990b1f5c5c1, which introduced a circular dependency: the origin of guile-gnutls relies on 'git-download', which would now depend on guile-gnutls. Ludovic Courtès
2023-05-06download: Refer to the 'guile-gnutls' package and not 'gnutls'....This is a followup to 305794762cbb57d252d5305b69a18cec6528baef, which removed Guile bindings from 'gnutls'. * guix/android-repo-download.scm (android-repo-fetch): Refer to 'guile-gnutls instead of 'gnutls. * guix/cvs-download.scm (cvs-fetch): Likewise. * guix/git-download.scm (git-fetch): Likewise. * guix/hg-download.scm (hg-fetch): Likewise. Ludovic Courtès
2023-05-06lint: archival: Warn against non-origin package sources....Suggested by Maxim Cournoyer <maxim.cournoyer@gmail.com> and Simon Tournier <zimon.toutoune@gmail.com>. * guix/lint.scm (check-archival): Add 'local-file?' clause. Clarify message in case (package-source package) is not an origin. * tests/lint.scm ("archival: not an origin"): New test. Ludovic Courtès
2023-05-06build-system: node: Use `--install-links' with `npm install'....Later versions of npm need to explicitly install a copy of local dependencies, instead of only a symlink. * guix/build/node-build-system.scm (configure): Add `--install-links' to npm install invocation. (install): Ditto. Jelle Licht
2023-05-05read-print: Recognize 'wrap-program' and 'wrap-script' as special forms....* guix/read-print.scm (%special-forms): Add 'wrap-program' and 'wrap-script'. Ludovic Courtès
2023-05-05read-print: Correctly read "(. x)"....* guix/read-print.scm (read-with-comments): Check whether REST is a pair before calling 'set-cdr!'. * tests/read-print.scm ("read-with-comments: half dot notation"): New test. Ludovic Courtès
2023-05-04transformations: Add '--with-configure-flag'....* guix/transformations.scm (transform-package-configure-flag): New procedure. (%transformation-options, %transformation-options) (show-transformation-options-help/detailed): Add it. * tests/transformations.scm ("options->transformation, with-configure-flag"): New test. * doc/guix.texi (Package Transformation Options): Document it. Co-authored-by: Ludovic Courtès <ludo@gnu.org> Sarthak Shah
2023-05-04style: Make 'safe' policy less conservative....Previously, a mere (arguments '(#:tests? #f)) would lead guix style -S inputs --input-simplification=safe to bail out. It now recognizes such trivial argument lists and proceeds. * guix/scripts/style.scm (trivial-package-arguments?): New procedure. (simplify-package-inputs): Use it in the 'safe case instead of 'null?'. * tests/style.scm ("input labels, 'safe' policy, trivial arguments"): New test. Ludovic Courtès
2023-05-04profiles: 'texlive-font-maps' gracefully handles lack of texlive inputs....Fixes <https://issues.guix.gnu.org/63043>. * guix/profiles.scm (texlive-font-maps): Define 'texlive-inputs'. [build]: Use it. Return #f when TEXLIVE-INPUTS is empty. Ludovic Courtès
2023-05-04import: elpa: Standardize warning message....* guix/import/elpa.scm (melpa-recipe->origin): Standardize warning message. Ludovic Courtès
2023-05-04import: Cosmetic tweaks to 'recursive-import'....* guix/import/utils.scm (recursive-import): Tweak docstring. Simplify 'apply' call. Ludovic Courtès
2023-05-04import: elpa: Use the expected repo in recursive imports....* guix/import/elpa.scm (elpa-recursive-import): Pass REPO in calls to 'elpa->guix-package'. Ludovic Courtès
2023-05-04import: elpa: 'elpa->guix-package' accepts other keyword arguments....This is a followup to 3c24da4260f28b4ed57efda0296688a50ac94628. * guix/import/elpa.scm (elpa->guix-package): Add #:allow-other-keys. Ludovic Courtès
2023-05-04ftp-client: 'connect*' retries until the timeout has expired....Partly fixes <https://issues.guix.gnu.org/63024>. Reported by Greg Hogan <code@greghogan.com> and Timo Wilken <guix@twilken.net>. * guix/ftp-client.scm (connect*): When 'select' returns an empty set, try again until TIMEOUT has expired. Ludovic Courtès
2023-04-30scripts: import: crate: Handle non-existent package....Fixes <https://bugs/gnu.org/63020>. * guix/scripts/import/crate.scm (guix-import-crate): Handle non-existent package input. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Simon Tournier
2023-04-30guix: import: crate: Fix incorrect returned values....* guix/import/crate.scm (crate->guix-package): Return compatible values with 'recursive-import'. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Simon Tournier
2023-04-30build-system/cmake: Add support for the #:disallowed-references key....* guix/build-system/cmake.scm (cmake-build, cmake-cross-build): Add #:disallowed-references. Leo Famulari
2023-04-29import/cran: Translate from xml2 to libxml2....* guix/import/cran.scm (transform-sysname): Add translation from xml2 to libxml2. Ricardo Wurmus
2023-04-29import/cran: Add "unix" to list of invalid packages....* guix/import/cran.scm (invalid-packages): Add "unix". Ricardo Wurmus
2023-04-29guix: Upgrade to Bioconductor 3.16....* guix/build-system/r.scm (bioconductor-uri): Bump Bioconductor version to 3.17. * guix/import/cran.scm (%bioconductor-version): Same. Ricardo Wurmus
2023-04-29import/pypi: Generate packages using pyproject-build-system....* guix/import/pypi.scm (make-pypi-sexp): Generate PACKAGE expression where the value for the BUILD-SYSTEM field is PYPROJECT-BUILD-SYSTEM instead of PYTHON-BUILD-SYSTEM. Ricardo Wurmus
2023-04-24Merge remote-tracking branch 'origin/master' into core-updatesAndreas Enge
2023-04-24read-print: 'pretty-print-with-comments' keeps newlines on long strings....* guix/read-print.scm (printed-string)[preserve-newlines?]: New procedure. Use it to preserve newlines on long strings. * tests/read-print.scm: Add test. Ludovic Courtès
2023-04-23Merge remote-tracking branch 'origin/master' into core-updatesAndreas Enge
2023-04-23refresh: Support select packages SUBSET by module name....* guix/scripts/refresh.scm (%options): Support '--select module:NAME'. (show-help): Adjust accordingly. (options->update-specs): Honor the module passed by '--select'. * doc/guix.texi (Invoking guix refresh): Document it. 宋文武
2023-04-22Merge remote-tracking branch 'origin/master' into core-updatesAndreas Enge
2023-04-21packages: 'package-direct-sources' correctly handles non-origin sources....Previously 'package-direct-sources' would trigger a wrong-type-arg error when passed a package whose 'source' is not an origin, such as 'ruby-sorbet-runtime'. * guix/packages.scm (package-direct-sources): Call 'expand' if and only if (package-source package) is an origin. Ludovic Courtès
2023-04-19ssh: Silence remote daemon messages when sending store items....Fixes <https://issues.guix.gnu.org/61839>. Previously, when running 'guix-daemon --debug' on the remote machine, lots of debugging outputs would be printed to stderr; since the client wouldn't read it, we could eventually reach a deadlock where the 'guix repl' process would be stuck writing to stderr while the client is stuck waiting on its stdout. * guix/ssh.scm (store-import-channel)[import]: Parameterize 'current-build-output-port'. Ludovic Courtès
2023-04-19substitute: Download nar from another server upon ETIMEDOUT....Previously, 'guix substitute' would fail abruptly with something like: guix substitute: warning: while fetching https://ci.guix.gnu.org/nar/lzip/…-example: server is somewhat slow guix substitute: warning: try `--no-substitutes' if the problem persists guix substitute: error: connect*: Connection timed out substitution of /gnu/store/…-example failed * guix/scripts/substitute.scm (network-error?): Add ETIMEDOUT. Ludovic Courtès
2023-04-19environment: Really auto-load (guix scripts pack)....Fixes a performance regression on cache hits introduced in b31ea797edb4f6e8c14e8fe790da1319607c5cb1, whereby (guix scripts pack) would be loaded eagerly during startup, leading hundreds of (gnu packages *) modules to be loaded. Fixes <https://issues.guix.gnu.org/62899>. * guix/scripts/environment.scm: Autoload (gnu build install). (%options): Add indirection when calling 'symlink-spec-option-parser' so that (guix scripts pack) is auto-loaded only when needed. Ludovic Courtès
2023-04-17ssh: Silence remote daemon messages when sending store items....Fixes <https://issues.guix.gnu.org/61839>. Previously, when running 'guix-daemon --debug' on the remote machine, lots of debugging outputs would be printed to stderr; since the client wouldn't read it, we could eventually reach a deadlock where the 'guix repl' process would be stuck writing to stderr while the client is stuck waiting on its stdout. * guix/ssh.scm (store-import-channel)[import]: Parameterize 'current-build-output-port'. Ludovic Courtès
2023-04-17substitute: Download nar from another server upon ETIMEDOUT....Previously, 'guix substitute' would fail abruptly with something like: guix substitute: warning: while fetching https://ci.guix.gnu.org/nar/lzip/…-example: server is somewhat slow guix substitute: warning: try `--no-substitutes' if the problem persists guix substitute: error: connect*: Connection timed out substitution of /gnu/store/…-example failed * guix/scripts/substitute.scm (network-error?): Add ETIMEDOUT. Ludovic Courtès
2023-04-17environment: Really auto-load (guix scripts pack)....Fixes a performance regression on cache hits introduced in b31ea797edb4f6e8c14e8fe790da1319607c5cb1, whereby (guix scripts pack) would be loaded eagerly during startup, leading hundreds of (gnu packages *) modules to be loaded. Fixes <https://issues.guix.gnu.org/62899>. * guix/scripts/environment.scm: Autoload (gnu build install). (%options): Add indirection when calling 'symlink-spec-option-parser' so that (guix scripts pack) is auto-loaded only when needed. Ludovic Courtès
2023-04-17Merge remote-tracking branch 'origin/master' into core-updatesAndreas Enge
2023-04-17self: Restructure accessing packages....Both for consistency (always use specification->package as defined in this module) and so that all the packages that are used can be accessed (which comes in useful when applying grafts). * guix/self.scm (%packages): New variable. (specification->package): Use %packages. (locale-data, translate-texi-manuals, info-manual, guix-command, compiled-guix): Use specification->package. Signed-off-by: Christopher Baines <mail@cbaines.net> Christopher Baines
2023-04-17packages: Export guile-for-grafts....So this can be used in (guix self). * guix/packages.scm (guile-for-grafts): Export. Signed-off-by: Christopher Baines <mail@cbaines.net> Christopher Baines
2023-04-14maint: Merge sanity-check-next.py into sanity-check.py....* gnu/packages/aux-files/python/sanity-check-next.py: Rename to... * gnu/packages/aux-files/python/sanity-check.py: ... this. * guix/build-system/pyproject.scm (sanity-check.py): Adjust file name. * Makefile.am (AUX_FILES): De-register sanity-check-next.py. Maxim Cournoyer