Age | Commit message (Expand) | Author |
2023-05-31 | upstream: 'update-package-source' edits input fields....Previously, 'guix refresh r-ggplot2 -u' and similar commands would print
of list of input changes that would have to be made manually. With this
change, 'guix refresh -u' takes care of updating input fields
automatically.
* guix/upstream.scm (update-package-inputs): New procedure.
(update-package-source): Call it when 'upstream-source-inputs' returns
true.
* guix/scripts/refresh.scm (update-package): Remove iteration over the
result of 'changed-inputs'.
* guix/import/test.scm (available-updates): Add support for input
lists.
* tests/guix-refresh.sh (GUIX_TEST_UPDATER_TARGETS): Add input list for
"the-test-package".
Make sure 'guix refresh -u' updates 'inputs' accordingly.
* doc/guix.texi (Invoking guix refresh): Mention it.
| Ludovic Courtès |
2023-05-31 | diagnostics: Factorize 'absolute-location'....* guix/scripts/style.scm (absolute-location): Move to...
* guix/diagnostics.scm (absolute-location): ... here.
* guix/upstream.scm (update-package-source): Use it.
| Ludovic Courtès |
2023-05-31 | upstream: Replace 'input-changes' field by 'inputs'....Returning the expected list of inputs rather than changes relative to
the current package definition is less ambiguous and offers more
possibilities for further processing.
* guix/upstream.scm (<upstream-source>)[input-changes]: Remove.
[inputs]: New field.
(<upstream-input>): New record type.
* guix/upstream.scm (upstream-input-type-predicate)
(input-type-filter, upstream-source-regular-inputs)
(upstream-source-native-inputs, upstream-source-propagated-inputs): New
procedures.
(changed-inputs): Expect an <upstream-source> as its second argument.
Adjust accordingly.
* guix/import/pypi.scm (distribution-sha256): New procedure.
(maybe-inputs): Expect a list of <upstream-input>.
(compute-inputs): Rewrite to return a list of <upstream-input>.
(pypi-package-inputs, pypi-package->upstream-source): New procedures.
(make-pypi-sexp): Use it.
* guix/import/stackage.scm (latest-lts-release): Define 'cabal'.
Replace 'input-changes' field by 'inputs'.
* guix/scripts/refresh.scm (update-package): Use 'changed-inputs'
instead of 'upstream-source-input-changes'.
* tests/cran.scm ("description->package"): Adjust order of inputs.
* tests/pypi.scm (default-sha256, default-sha256/base32): New variables.
(foo-json): Add 'digests' entry.
("pypi->guix-package, no wheel"): Check HASH against DEFAULT-SHA256/BASE32.
("pypi->guix-package, wheels"): Likewise.
("pypi->guix-package, no usable requirement file."): Likewise.
("pypi->guix-package, package name contains \"-\" followed by digits"):
Likewise.
("package-latest-release"): New test.
* tests/upstream.scm (test-package-sexp): Remove.
("changed-inputs returns no changes"): Rewrite to use <upstream-source>.
(test-new-package-sexp): Remove.
("changed-inputs returns changes to plain input list"): Rewrite.
("changed-inputs returns changes to all plain input lists"): Likewise.
("changed-inputs returns changes to labelled input list")
("changed-inputs returns changes to all labelled input lists"): Remove.
* guix/import/cran.scm (maybe-inputs): Expect PACKAGE-INPUTS to be a
list of <upstream-input>.
(source-dir->dependencies): Return a list of <upstream-input>.
(vignette-builders): Likewise.
(uri-helper, cran-package-source-url)
(cran-package-propagated-inputs, cran-package-inputs): New procedures.
(description->package): Use them instead of local definitions.
(latest-cran-release): Replace 'input-changes' field by 'inputs'.
(latest-bioconductor-release): Likewise.
(format-inputs): Remove.
* guix/import/hackage.scm (cabal-package-inputs): New procedure.
(hackage-module->sexp): Use it.
[maybe-inputs]: Expect a list of <upstream-input>.
| Ludovic Courtès |
2023-05-31 | import: json: Add #:timeout to 'json-fetch'....* guix/import/json.scm (json-fetch): Add #:timeout and pass it to
'http-fetch'.
| Ludovic Courtès |
2023-05-31 | import: utils: 'call-with-networking-exception-handler' doesn't unwind....That way backtraces show where the error actually originates from.
* guix/import/utils.scm (call-with-networking-exception-handler):
Rewrite using 'with-exception-handler'.
| Ludovic Courtès |
2023-05-31 | tests: pypi: Rewrite tests using a local HTTP server....* guix/import/pypi.scm (%pypi-base-url): New variable.
(pypi-fetch): Use it.
* tests/pypi.scm (foo-json): Compute URLs relative to '%local-url'.
(test-json-1, test-json-2, test-source-hash): Remove.
(file-dump): New procedure.
(with-pypi): New macro.
("pypi->guix-package, no wheel")
("pypi->guix-package, wheels")
("pypi->guix-package, no usable requirement file.")
("pypi->guix-package, package name contains \"-\" followed by digits"):
Rewrite using 'with-pypi'.
| Ludovic Courtès |
2023-05-31 | tests: http: Allow responses to specify a path....* guix/tests/http.scm (%local-url): Add #:path parameter and honor it.
(call-with-http-server)[responses]: Add extra clause with 'path'.
[bad-request]: New variable.
[server-body]: Handle three-element clauses.
Wrap 'run-server' call in 'parameterize'.
| Ludovic Courtès |
2023-05-31 | transformations: Add "--tune" to "--help-transform"....* guix/transformations.scm (show-transformation-options-help/detailed):
Add '--tune'.
| Ludovic Courtès |
2023-05-31 | guix gc: Round MiBs in user feedback....* guix/scripts/gc.scm (guix-gc): Round MiBs in user feedback.
Signed-off-by: Florian Pelz <pelzflorian@pelzflorian.de>
| Remco van 't Veer |
2023-05-30 | substitute: 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-25 | self: 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-24 | self: 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-22 | substitute: 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-18 | style: 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-18 | refresh: 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-17 | scripts: 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-17 | scripts: 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-11 | download: 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-09 | Merge branch 'rust-team' | Efraim Flashner |
2023-05-09 | gnu: 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-07 | gnu: 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-07 | build: 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-06 | Revert "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-06 | download: 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-06 | lint: 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-06 | build-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-05 | read-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-05 | read-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-04 | transformations: 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-04 | style: 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-04 | profiles: '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-04 | import: elpa: Standardize warning message....* guix/import/elpa.scm (melpa-recipe->origin): Standardize warning
message.
| Ludovic Courtès |
2023-05-04 | import: Cosmetic tweaks to 'recursive-import'....* guix/import/utils.scm (recursive-import): Tweak docstring. Simplify
'apply' call.
| Ludovic Courtès |
2023-05-04 | import: 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-04 | import: 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-04 | ftp-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-30 | scripts: 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-30 | guix: 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-30 | build-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-29 | import/cran: Translate from xml2 to libxml2....* guix/import/cran.scm (transform-sysname): Add translation from xml2 to
libxml2.
| Ricardo Wurmus |
2023-04-29 | import/cran: Add "unix" to list of invalid packages....* guix/import/cran.scm (invalid-packages): Add "unix".
| Ricardo Wurmus |
2023-04-29 | guix: 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-29 | import/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-24 | Merge remote-tracking branch 'origin/master' into core-updates | Andreas Enge |
2023-04-24 | read-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-23 | Merge remote-tracking branch 'origin/master' into core-updates | Andreas Enge |
2023-04-23 | refresh: 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-22 | Merge remote-tracking branch 'origin/master' into core-updates | Andreas Enge |
2023-04-21 | packages: '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-19 | ssh: 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 |