summaryrefslogtreecommitdiff
path: root/guix/import
AgeCommit message (Collapse)Author
2023-07-12import/cran: Add one more package name transformation.Ricardo Wurmus
* guix/import/cran.scm (transform-sysname): Add entry for "zlib-devel".
2023-06-14import/cran: Add another clause for ASL 2.0.Ricardo Wurmus
* guix/import/cran.scm (string->license): Add clause for >= 2.0.
2023-06-09tests: Ensure 'elpa' test does not access the network.Ludovic Courtès
Previously it would try to access the real elpa.gnu.org. This would succeed when network is available because "taxy-magit-section" is an existing package. * guix/import/elpa.scm (elpa-repository) (package-from-elpa-repository?): Recognize 'gnu/http. * tests/elpa.scm ("package-latest-release"): Use 'http' instead of 'https'. Change "taxy-magit-section" to "fake-taxy-magit-section".
2023-06-09import: stackage: Updater resolves inputs lazily.Ludovic Courtès
Fixes the "haskell-stackage" test in 'tests/lint.scm', which started failing with e6223017d95bc615b2648f0798d9a3904d5b5f57 because the extra HTTP GETs induced by the 'haskell-fetch' calls would fail. * guix/import/stackage.scm (latest-lts-release): Call 'hackage-fetch' and its continuation from within 'inputs', which is delayed. Pass it NAME-VERSION instead of HACKAGE-NAME-VERSION.
2023-06-05import/cran: Ensure current package is not among inputs.Ricardo Wurmus
* guix/import/cran.scm (cran-package-inputs): Remove the current package from the result.
2023-06-02import/cran: string->license: Add another case for GPLv3+.Ricardo Wurmus
* guix/import/cran.scm (string->license): Translate "GPL (>=3)" to gpl3+.
2023-06-02import/cran: Libraries should not use CRAN-GUIX-NAME.Ricardo Wurmus
* guix/import/cran.scm (source-dir->dependencies): Do not use CRAN-GUIX-NAME when processing result of NEEDED-LIBRARIES-IN-DIRECTORY.
2023-06-02import/cran: Also search Makevars file for libraries.Ricardo Wurmus
* guix/import/cran.scm (needed-libraries-in-directory): Look at Makevars in addition to Makevars.in for libraries.
2023-05-31import: gem: Updater provides input list.Ludovic Courtès
* guix/import/gem.scm (import-release): Add 'inputs' field. * tests/gem.scm ("package-latest-release"): New test.
2023-05-31import: gem: Factorize "bundler" special case for name mapping.Ludovic Courtès
* 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-31import: elpa: Updater provides input list.Ludovic Courtès
* 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-31import: cpan: Updater provides input list.Ludovic Courtès
* guix/import/cpan.scm (latest-release): Add 'inputs' field. * tests/cpan.scm ("package-latest-release"): New test.
2023-05-31import: cpan: Represent dependencies as <upstream-input> records.Ludovic Courtès
* 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-31import: cpan: Remove unary 'string-append' call.Ludovic Courtès
* guix/import/cpan.scm (package->upstream-name): Remove useless 'string-append'.
2023-05-31upstream: 'update-package-source' edits input fields.Ludovic Courtès
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-31upstream: Replace 'input-changes' field by 'inputs'.Ludovic Courtès
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-31import: json: Add #:timeout to 'json-fetch'.Ludovic Courtès
* guix/import/json.scm (json-fetch): Add #:timeout and pass it to 'http-fetch'.
2023-05-31import: utils: 'call-with-networking-exception-handler' doesn't unwind.Ludovic Courtès
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-31tests: pypi: Rewrite tests using a local HTTP server.Ludovic Courtès
* 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-04import: elpa: Standardize warning message.Ludovic Courtès
* guix/import/elpa.scm (melpa-recipe->origin): Standardize warning message.
2023-05-04import: Cosmetic tweaks to 'recursive-import'.Ludovic Courtès
* guix/import/utils.scm (recursive-import): Tweak docstring. Simplify 'apply' call.
2023-05-04import: elpa: Use the expected repo in recursive imports.Ludovic Courtès
* guix/import/elpa.scm (elpa-recursive-import): Pass REPO in calls to 'elpa->guix-package'.
2023-05-04import: elpa: 'elpa->guix-package' accepts other keyword arguments.Ludovic Courtès
This is a followup to 3c24da4260f28b4ed57efda0296688a50ac94628. * guix/import/elpa.scm (elpa->guix-package): Add #:allow-other-keys.
2023-04-30guix: import: crate: Fix incorrect returned values.Simon Tournier
* guix/import/crate.scm (crate->guix-package): Return compatible values with 'recursive-import'. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-04-29import/cran: Translate from xml2 to libxml2.Ricardo Wurmus
* guix/import/cran.scm (transform-sysname): Add translation from xml2 to libxml2.
2023-04-29import/cran: Add "unix" to list of invalid packages.Ricardo Wurmus
* guix/import/cran.scm (invalid-packages): Add "unix".
2023-04-29guix: Upgrade to Bioconductor 3.16.Ricardo Wurmus
* guix/build-system/r.scm (bioconductor-uri): Bump Bioconductor version to 3.17. * guix/import/cran.scm (%bioconductor-version): Same.
2023-04-29import/pypi: Generate packages using pyproject-build-system.Ricardo Wurmus
* 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.
2023-04-08import: opam: opam->guix-package: Fix default repo argument.Csepp
* guix/import/opam.scm (opam->guix-package): Make default repo a list of strings. Update docstring. Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2023-04-08import: Properly report "no specific version" errors.Ludovic Courtès
* guix/import/cpan.scm (latest-release): Use 'raise' instead of 'error'. * guix/import/elpa.scm (latest-release): Likewise. * guix/import/hackage.scm (latest-release): Likewise. * guix/import/minetest.scm (latest-minetest-release): Likewise. * guix/import/opam.scm (latest-release): Likewise. * guix/import/stackage.scm (latest-lts-release): Likewise.
2023-03-30guix: Shorten home page URL in texlive importer.Nicolas Goaziou
* guix/import/texlive.scm (tlpdb->package): Use short URL for home page.
2023-03-29import/texlive: tlpdb->package: Ignore files outside of texmf-dist.Ricardo Wurmus
* guix/import/texlive.scm (tlpdb->package): Ignore files outside of texmf-dist because the code assumes that this is the prefix for all files.
2023-03-29import/texlive: Process license field only when it exists.Ricardo Wurmus
* guix/import/texlive.scm (tlpdb->package): Check "catalogue-license" field before using string->license.
2023-03-29import/texlive: Only process description if it exists.Ricardo Wurmus
* guix/import/texlive.scm (tlpdb->package): Run beautify-description only when the "longdesc" field exists.
2023-03-29import/texlive: Ignore architecture-dependent packages.Ricardo Wurmus
* guix/import/texlive.scm (tlpdb->package): Filter "depend" field to exclude package names ending on ".ARCH".
2023-03-13guix: Strip #:use-module lists.Ludovic Courtès
This was obtained by setting up this environment: guix shell -D guix --with-input=guile@3.0.9=guile-next \ --with-commit=guile-next=e2ed33ef0445c867fe56c247054aa67e834861f2 -- make -j5 then adding 'unused-module' to (@@ (guix build compiler) %warnings), building, and checking all the "unused module" warnings and removing those that were definitely unused.
2023-03-10import: Add EUPL 1.1 to the SPDX license name converter.Antero Mejr
* guix/import/utils.scm (spdx-string->license): Add EUPL-1.1 identifier. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-10licenses: Add LPL 1.02 (Lucent Public Licence).Antero Mejr
* guix/licenses.scm (lpl1.02): New variable. * guix/import/utils.scm (spdx-string->license): Add LPL-1.02 identifier. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-02-26import: haskell: Add new internal library for GHC 9.2.Lars-Dominik Braun
* guix/import/hackage.scm (ghc-standard-libraries): Add ghc-bignum.
2023-02-26import: hackage: Use upstream-name property.Lars-Dominik Braun
* guix/import/hackage.scm (guix-package->hackage-name): Removed. (latest-release): Use package-upstream-name* instead. * guix/import/stackage.scm (latest-lts-release): Ditto. (stackage-lts-package?): Ditto.
2023-02-26import: hackage: Add upstream-name property.Lars-Dominik Braun
* guix/import/hackage.scm (hackage-module->sexp): Add property upstream-name to imported package. * tests/hackage.scm (match-ghc-foo): Add upstream-name property. (match-ghc-foo-6): Ditto. (match-ghc-elif): Ditto. (match-ghc-foo-revision): Ditto. (match-ghc-foo-import): Ditto.
2023-02-26import: stackage: Update to release 20.5.Lars-Dominik Braun
* guix/import/stackage.scm (%default-lts-version): Update to 20.5.
2023-02-26import: hackage: Allow version at the beginning of cabal file.Lars-Dominik Braun
Fix a corner case, uncovered by the hedgehog package, which has the version field at the beginning of its cabal file. This causes a pattern match failure. * guix/import/hackage.scm (latest-release): Match version at beginning of expression too.
2023-02-18import/cran: Remove directory-needs-zlib? in favor of ↵Ricardo Wurmus
needed-libraries-in-directory. * guix/import/cran.scm (directory-needs-zlib?): Remove procedure. (source-dir->dependencies): Use needed-libraries-in-directory instead of directory-needs-zlib?.
2023-02-18import/cran: Add generic way to detect needed libraries.Ricardo Wurmus
* guix/import/cran.scm (needed-libraries-in-directory): New procedure. (libraries-pattern, packages-for-matches): New variables.
2023-02-18import/cran: Process all vignette builders.Ricardo Wurmus
* guix/import/cran.scm (needs-knitr?): Remove procedure. (vignette-builders): New procedure. (description->package): Use vignette-builders instead of needs-knitr?.
2023-02-18import/cran: Add name mapping for libjpeg.Ricardo Wurmus
* guix/import/cran.scm (transform-sysname): Add mapping from libjpeg to libjpeg-turbo.
2023-02-18import/cran: Add directory-needs-esbuild?.Ricardo Wurmus
* guix/import/cran.scm (directory-needs-esbuild?): New procedure. (source-dir->dependencies): Use it.
2023-01-23import: opam: Do not crash when description is missing.Ludovic Courtès
Previous 'guix import opam coccinelle' would crash due to the lack of a description. * guix/import/opam.scm (opam->guix-package): Call 'beautify-description' only when "description" metadata is available.
2023-01-09import/cran: Fix Bioconductor updater.Ricardo Wurmus
* guix/import/cran.scm (latest-bioconductor-release): Use LATEST-VERSION instead of VERSION, which is always #F.