Commit Graph

115895 Commits

Author SHA1 Message Date
Ludovic Courtès 654fcf9971
tests: Use quasiquoted 'match' patterns for package sexps.
Turns out it's easier to read.

* tests/cpan.scm ("cpan->guix-package"): Use a quasiquoted pattern.
* tests/elpa.scm (eval-test-with-elpa): Likewise.
* tests/gem.scm ("gem->guix-package")
("gem->guix-package with a specific version")
("gem-recursive-import")
("gem-recursive-import with a specific version"): Likewise.
* tests/hexpm.scm ("hexpm-recursive-import"): Likewise.
* tests/opam.scm ("opam->guix-package"): Likewise.
* tests/pypi.scm ("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"):
Likewise.
* tests/texlive.scm ("texlive->guix-package"): Likewise.
2023-05-31 23:50:06 +02:00
Ludovic Courtès 9f7cd1fcaf
gnu: Add updater input properties for R and Python packages.
* gnu/packages/cran.scm (r-glue, r-xfun, r-vctrs)
(r-lifecycle): Turn comment about r-knitr into 'properties' field.
* gnu/packages/mpi.scm (python-mpi4py)[properties]: New field.
2023-05-31 23:26:12 +02:00
Ludovic Courtès 57ceb64e34
upstream: Honor package properties for ignored and extra inputs.
* guix/upstream.scm (update-package-inputs)[filtered-inputs]
[regular-inputs, native-inputs, propagated-inputs]: New procedures.
Use them in 'update-field' calls.
* tests/guix-refresh.sh (GUIX_TEST_UPDATER_TARGETS): Add "libreoffice"
to the dependencies of "the-test-package".  Add 'updater-ignored-inputs'
property to "the-test-package".
* doc/guix.texi (Invoking guix refresh): Document it.
2023-05-31 23:25:26 +02:00
Ludovic Courtès 9e237fe0bd
import: gem: Updater provides input list.
* guix/import/gem.scm (import-release): Add 'inputs' field.
* tests/gem.scm ("package-latest-release"): New test.
2023-05-31 23:25:26 +02:00
Ludovic Courtès e6f82fcd5f
import: gem: Factorize "bundler" special case for name mapping.
* guix/import/gem.scm (ruby-package-name): Add "bundler" special case.
(gem->guix-package): Adjust accordingly.
* tests/gem.scm ("gem-recursive-import")
("gem-recursive-import with a specific version"): Remove "ruby-bundler"
from the expected packages.
2023-05-31 23:25:26 +02:00
Ludovic Courtès d46d1bee1e
import: elpa: Updater provides input list.
* guix/import/elpa.scm (elpa-dependency->upstream-input): New
procedure.
(latest-release): Add 'inputs' field.
* tests/elpa.scm ("package-latest-release"): New test.
2023-05-31 23:25:26 +02:00
Ludovic Courtès a738c1a0c7
import: cpan: Updater provides input list.
* guix/import/cpan.scm (latest-release): Add 'inputs' field.
* tests/cpan.scm ("package-latest-release"): New test.
2023-05-31 23:25:25 +02:00
Ludovic Courtès c4fe4e7eb8
import: cpan: Represent dependencies as <upstream-input> records.
* guix/import/cpan.scm (cpan-name->downstream-name)
(cran-dependency->upstream-input, cran-module-inputs): New procedures.
(cpan-module->sexp)[guix-name, convert-inputs]: Remove.
[maybe-inputs]: Adjust to deal with <upstream-input>.
Use 'cpan-name->downstream-name' instead of 'guix-name'.  Add call to
'cpan-module-inputs' and adjust calls to 'maybe-inputs'.  No longer emit
input labels.
* tests/cpan.scm ("cpan->guix-package"): Adjust test accordingly.
2023-05-31 23:25:25 +02:00
Ludovic Courtès f13e73df10
import: cpan: Remove unary 'string-append' call.
* guix/import/cpan.scm (package->upstream-name): Remove useless
'string-append'.
2023-05-31 23:25:25 +02:00
Ludovic Courtès 5d022d5563
tests: upstream: Restore test that was skipped.
This test was being skipped since
ea6fb108f6.

* tests/upstream.scm ("coalesce-sources same version"): Compare a
serialized form of <upstream-source>.
2023-05-31 23:25:25 +02:00
Ludovic Courtès cd262c403f
upstream: Remove <upstream-input-change> and related code.
* guix/upstream.scm (<upstream-input-change>): Remove.
(changed-inputs): Remove.
* tests/upstream.scm (test-package, test-new-package)
("changed-inputs returns no changes")
("changed-inputs returns changes to plain input list")
("changed-inputs returns changes to all plain input lists"): Remove.
2023-05-31 23:25:25 +02:00
Ludovic Courtès ec0a2fc87b
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.
2023-05-31 23:25:25 +02:00
Ludovic Courtès 9f3ea03516
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.
2023-05-31 23:25:25 +02:00
Ludovic Courtès e6223017d9
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>.
2023-05-31 23:25:24 +02:00
Ludovic Courtès db10a4a2ae
doc: Mention 'guix refresh -u' for third-party channels.
* doc/guix.texi (Invoking guix refresh): Show how to run 'guix refresh
-u' on a third-party channel.
2023-05-31 23:25:24 +02:00
Ludovic Courtès e7910f4882
import: json: Add #:timeout to 'json-fetch'.
* guix/import/json.scm (json-fetch): Add #:timeout and pass it to
'http-fetch'.
2023-05-31 23:25:24 +02:00
Ludovic Courtès 4663cfd381
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'.
2023-05-31 23:25:24 +02:00
Ludovic Courtès d2f36abd02
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'.
2023-05-31 23:25:24 +02:00
Ludovic Courtès 09526da78f
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'.
2023-05-31 23:25:24 +02:00
Ludovic Courtès 58da6b297c
tests: pypi: Factorize tarball and wheel file creation.
* tests/pypi.scm (sample-directory): New variable.
(pypi-tarball, wheel-file): New procedures.
("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"):
Use them.
2023-05-31 23:25:24 +02:00
Ludovic Courtès d0be53d03e
transformations: Add "--tune" to "--help-transform".
* guix/transformations.scm (show-transformation-options-help/detailed):
Add '--tune'.
2023-05-31 23:24:33 +02:00
Remco van 't Veer 60895810ad
nls: Update translation keys for guix gc.
* po/*/*.po (guix/scripts/gc.scm): Round MiBs in user feedback.

Signed-off-by: Florian Pelz <pelzflorian@pelzflorian.de>
2023-05-31 22:47:04 +02:00
Remco van 't Veer 782d806c3a
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>
2023-05-31 22:45:35 +02:00
Ricardo Wurmus 6ea2e1105a
gnu: r-desctools: Update to 0.99.49.
* gnu/packages/statistics.scm (r-desctools): Update to 0.99.49.
[propagated-inputs]: Add r-withr.
2023-05-31 18:19:55 +02:00
Ricardo Wurmus df71989159
gnu: r-rrcov: Update to 1.7-3.
* gnu/packages/statistics.scm (r-rrcov): Update to 1.7-3.
2023-05-31 18:19:55 +02:00
Ricardo Wurmus e2bc0cb1b4
gnu: r-rcpparmadillo: Update to 0.12.4.0.0.
* gnu/packages/statistics.scm (r-rcpparmadillo): Update to 0.12.4.0.0.
2023-05-31 18:19:55 +02:00
Ricardo Wurmus ecae6c08fb
gnu: r-knitr: Update to 1.43.
* gnu/packages/statistics.scm (r-knitr): Update to 1.43.
2023-05-31 18:19:55 +02:00
Ricardo Wurmus ef8d938f7b
gnu: r-markdown: Update to 1.7.
* gnu/packages/statistics.scm (r-markdown): Update to 1.7.
2023-05-31 18:19:55 +02:00
Ricardo Wurmus 232b2530b8
gnu: r-matrix: Update to 1.5-4.1.
* gnu/packages/statistics.scm (r-matrix): Update to 1.5-4.1.
2023-05-31 18:19:55 +02:00
Ricardo Wurmus 1c2d80a2f9
gnu: r-cartogram: Update to 0.3.0.
* gnu/packages/cran.scm (r-cartogram): Update to 0.3.0.
2023-05-31 18:19:55 +02:00
Ricardo Wurmus 112afc5979
gnu: r-zoib: Update to 1.6.
* gnu/packages/cran.scm (r-zoib): Update to 1.6.
2023-05-31 18:19:55 +02:00
Ricardo Wurmus a713d1b90e
gnu: r-crul: Update to 1.4.0.
* gnu/packages/cran.scm (r-crul): Update to 1.4.0.
2023-05-31 18:19:55 +02:00
Ricardo Wurmus 4560bd6f51
gnu: r-dismo: Update to 1.3-14.
* gnu/packages/cran.scm (r-dismo): Update to 1.3-14.
2023-05-31 18:19:55 +02:00
Ricardo Wurmus 131db17bd5
gnu: r-rgeos: Update to 0.6-3.
* gnu/packages/cran.scm (r-rgeos): Update to 0.6-3.
2023-05-31 18:19:55 +02:00
Ricardo Wurmus 0268d10d13
gnu: r-tzdb: Update to 0.4.0.
* gnu/packages/cran.scm (r-tzdb): Update to 0.4.0.
2023-05-31 18:19:55 +02:00
Ricardo Wurmus 44f3470a7d
gnu: r-lwgeom: Update to 0.2-13.
* gnu/packages/cran.scm (r-lwgeom): Update to 0.2-13.
2023-05-31 18:19:55 +02:00
Ricardo Wurmus 5be4640724
gnu: r-mlr3pipelines: Update to 0.5.0-1.
* gnu/packages/cran.scm (r-mlr3pipelines): Update to 0.5.0-1.
[native-inputs]: Add r-knitr.
2023-05-31 18:19:55 +02:00
Ricardo Wurmus 12adca4654
gnu: r-mlr3misc: Update to 0.12.0.
* gnu/packages/cran.scm (r-mlr3misc): Update to 0.12.0.
2023-05-31 18:19:55 +02:00
Ricardo Wurmus 75076e408f
gnu: r-scattermore: Update to 1.1.
* gnu/packages/cran.scm (r-scattermore): Update to 1.1.
2023-05-31 18:19:55 +02:00
Ricardo Wurmus d186488fdd
gnu: r-igraph: Update to 1.4.3.
* gnu/packages/cran.scm (r-igraph): Update to 1.4.3.
2023-05-31 18:19:55 +02:00
Ricardo Wurmus 49e7043b39
gnu: r-confintr: Update to 1.0.1.
* gnu/packages/cran.scm (r-confintr): Update to 1.0.1.
2023-05-31 18:19:55 +02:00
Ricardo Wurmus 73699a2eb5
gnu: r-spatstat: Update to 3.0-6.
* gnu/packages/cran.scm (r-spatstat): Update to 3.0-6.
2023-05-31 18:19:55 +02:00
Ricardo Wurmus 33f60fa7b4
gnu: r-spatstat-random: Update to 3.1-5.
* gnu/packages/cran.scm (r-spatstat-random): Update to 3.1-5.
2023-05-31 18:19:55 +02:00
Ricardo Wurmus 5ed4c99e4c
gnu: r-spatstat-linnet: Update to 3.1-1.
* gnu/packages/cran.scm (r-spatstat-linnet): Update to 3.1-1.
2023-05-31 18:19:55 +02:00
Ricardo Wurmus 7b741bb54a
gnu: r-spatstat-geom: Update to 3.2-1.
* gnu/packages/cran.scm (r-spatstat-geom): Update to 3.2-1.
2023-05-31 18:19:55 +02:00
Ricardo Wurmus 3bf5efb933
gnu: r-spatstat-utils: Update to 3.0-3.
* gnu/packages/cran.scm (r-spatstat-utils): Update to 3.0-3.
2023-05-31 18:19:55 +02:00
Ricardo Wurmus 6ffbd31b89
gnu: r-spatstat-model: Update to 3.2-4.
* gnu/packages/cran.scm (r-spatstat-model): Update to 3.2-4.
2023-05-31 18:19:55 +02:00
Ricardo Wurmus c3c5aeb666
gnu: r-spatstat-explore: Update to 3.2-1.
* gnu/packages/cran.scm (r-spatstat-explore): Update to 3.2-1.
2023-05-31 18:19:55 +02:00
Ricardo Wurmus 11f8669e4d
gnu: r-scatterpie: Update to 0.2.0.
* gnu/packages/cran.scm (r-scatterpie): Update to 0.2.0.
2023-05-31 18:19:54 +02:00
Ricardo Wurmus 278ab76489
gnu: r-qgraph: Update to 1.9.5.
* gnu/packages/cran.scm (r-qgraph): Update to 1.9.5.
2023-05-31 18:19:54 +02:00