summaryrefslogtreecommitdiff
path: root/guix/import
AgeCommit message (Collapse)Author
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.
2023-01-08refresh: Add CLI tests.Ludovic Courtès
* guix/import/test.scm, tests/guix-refresh.sh: New files. * Makefile.am (MODULES, SH_TESTS): Add them.
2023-01-08import: stackage: Catch networking errors in predicate.Ludovic Courtès
* guix/import/stackage.scm (stackage-lts-package?): Wrap body in 'false-if-networking-error'.
2023-01-08gnu-maintenance: Factorize 'false-if-networking-failure'.Ludovic Courtès
* guix/import/utils.scm (call-with-networking-exception-handler): New procedure. (false-if-networking-error): New macro. * guix/gnu-maintenance.scm (import-html-updatable-release): Use it instead of inline code.
2022-12-31import/cran: Depend on gfortran if .f files are detected too.Lars-Dominik Braun
There was an inconsistency between tarball-needs-fortran? and directory-needs-fortran?. * guix/import/cran.scm (directory-needs-fortran?): Match .f files too.
2022-12-31import/cran: Use multiple values instead of a list of lists.Ricardo Wurmus
* guix/import/cran.scm (source-dir->dependencies): Return multiple values. (description->package): Bind two values.
2022-12-31import/utils: recursive-import: Pass on lookup-node's version argument.Ricardo Wurmus
* guix/import/utils.scm (recursive-import)<lookup-node>: Replace the #:VERSION keyword from RECURSIVE-IMPORT's arguments with the value of VERSION passed to LOOKUP-NODE.
2022-12-31import/cran: Always operate on source directory.Lars-Dominik Braun
Extracting the source tarball multiple times is very slow and a speedup of >2x (without network I/O) can be achieved by coalescing all NEEDS-X? functions into a single one, which extracts a tarball only once. * guix/import/cran.scm (tarball-needs-fortran?): Remove unused function. (needs-fortran?): Ditto. (tarball-files-match-pattern?): Ditto. (tarball-needs-zlib?): Ditto. (needs-zlib?): Ditto. (tarball-needs-pkg-config?): Ditto. (needs-pkg-config?): Ditto. (source-dir->dependencies): New function. (source->dependencies): New function. (description->package): Use it.
2022-12-31import/cran: Translate more package dependencies.Lars-Dominik Braun
Assumes we use package variable names, not package specification names. * guix/import/cran.scm (invalid-packages): Add more invalid names. (transform-sysname): Transform more package names.
2022-12-31import/cran: Allow overriding tarball download.Lars-Dominik Braun
* guix/import/cran.scm (description->package): Accept new keyword argument DOWNLOAD-SOURCE. (cran->guix-package): Ditto.
2022-12-31import/cran: Allow overriding description fetch function.Lars-Dominik Braun
* guix/import/cran.scm (cran->guix-package): New keyword argument FETCH-DESCRIPTION.
2022-12-31import/cran: Allow custom license prefix.Lars-Dominik Braun
* guix/import/cran.scm (string-licenses): Add license-prefix argument. (string->license): Ditto. (description->package): Ditto. (cran->guix-package): Ditto. (cran-recursive-import): Ditto. * guix/scripts/import/cran.scm (%options): Add new option -p/--license-prefix. (show-help): Document it. (parse-options): Pass it to importer. * doc/guix.texi (Invoking guix import): Document it.
2022-12-31import/utils: Pass all arguments through to package builder.Lars-Dominik Braun
Individual importer may have additional arguments. * guix/import/utils.scm (recursive-import): Patch all keyword arguments through to repo->guix-package. * guix/import/cran.scm (cran->guix-package): Add #:allow-other-keys. * guix/import/crate.scm (crate->guix-package): Ditto. * guix/import/egg.scm (egg->guix-package): Ditto. * guix/import/elm.scm (elm->guix-package): Ditto. * guix/import/gem.scm (gem->guix-package): Ditto. * guix/import/gnu.scm (gnu->guix-package): Ditto. * guix/import/go.scm (go-module->guix-package): Ditto. (go-module-recursive-import): Ditto. * guix/import/hackage.scm (hackage->guix-package): Ditto. (hackage-recursive-import): Ditto. * guix/import/hexpm.scm (hexpm->guix-package): Ditto. * guix/import/minetest.scm (minetest->guix-package): Ditto. (minetest-recursive-import): Ditto. * guix/import/opam.scm (opam->guix-package): Ditto. * guix/import/pypi.scm (pypi->guix-package): Ditto. * guix/import/stackage.scm (stackage->guix-package): Ditto. (stackage-recursive-import): Ditto. * guix/import/texlive.scm (texlive->guix-package): Ditto.
2022-12-26import: pypi: Allow updating to a specific version.Hartmut Goebel
* guix/import/pypi.scm (latest-release): Rename to 'import-release', add #:version argument and pass it on to called functions.
2022-12-26import: launchpad: Allow updating to a specific version.Hartmut Goebel
* guix/import/launchpad.scm (latest-release): Rename to 'import-release', add #:version argument. If version is given, return an upstream-source for this version.
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: 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-19import/cran: Add more mappings from sysnames to Guix package names.Ricardo Wurmus
* guix/import/cran.scm (transform-sysname): Add more mappings.
2022-11-29import/cran: Add package name mapping.Ricardo Wurmus
* guix/import/cran.scm (transform-sysname): Add mapping from sqlite3 to sqlite.
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-20import: egg: Fix typo in docstring.jgart
* gnu/import/egg.scm (Commentary): Fix typo in Commentary docstring. Signed-off-by: Christopher Baines <mail@cbaines.net>
2022-11-18import/utils: spdx-string->license: Support '+' operator.Philip McGrath
Previously, '+' was supported only via special cases for deprecated GNU identifiers like 'GPL-N+'. This commit adds support for other uses of '+', such as 'AFL-2.0+' and 'LPPL-1.0+'. Strictly speaking, '+' is an operator, not part of the SPDX license identifier, but it is useful to handle it here. * guix/import/utils.scm (spdx-string->license): Support '+' operator. * tests/import-utils.scm ("spdx-string->license"): Test it. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-11-18import/utils: spdx-string->license: Match case-insensitively.Philip McGrath
SPDX specifies that license identifiers (unlike the 'AND', 'OR', and 'WITH' operators) are matched case-insensitively. * guix/import/utils.scm (%spdx-license-identifiers): New variable. (spdx-string->license): Search in '%spdx-license-identifiers' using 'string-ci=?'. * tests/import-utils.scm ("spdx-string->license"): New test. Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2022-11-18import/utils: spdx-string->license: Fix incorrect docstring.Philip McGrath
The result of 'spdx-string->license' is a symbol, not a license object. * guix/import/utils.scm (spdx-string->license): Fix docstring. (license->symbol): Mention 'license:' prefix in docstring. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-11-16import/cran: Add package mapping for freetype.Ricardo Wurmus
* guix/import/cran.scm (transform-sysname): Map "freetype2" to "freetype".
2022-11-11import/cran: Add package name mapping for "booktabs".Ricardo Wurmus
* guix/import/cran.scm (transform-sysname): Add mapping for "booktabs".