* 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.
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.
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.
* guix/import/cran.scm (needs-knitr?): Remove procedure.
(vignette-builders): New procedure.
(description->package): Use vignette-builders instead of needs-knitr?.
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.
* 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.
There was an inconsistency between tarball-needs-fortran? and
directory-needs-fortran?.
* guix/import/cran.scm (directory-needs-fortran?): Match .f files too.
* 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.
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.
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.
* guix/import/launchpad.scm (latest-release): Rename to 'import-release',
add #:version argument.
If version is given, return an upstream-source for this version.
* 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.
* guix/import/hexpm.scm (latest-release): Rename to 'import-release',
add #:version argument.
If version is given, return an upstream-source for this version.
* 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.
* 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'.
* 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.