import: pypi: Default to setuptools as build system input.

* guix/import/pypi.scm (guess-requirements): Default to setuptools if
pyproject.toml does not exist.

Change-Id: I600bd0a44342847878e3a2a7041bd7e7c7d30769
Reviewed-by: Ludovic Courtès <ludo@gnu.org>
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
This commit is contained in:
Lars-Dominik Braun 2024-12-15 16:56:53 +01:00 committed by Sharlatan Hellseher
parent d7890af335
commit c904350a81
No known key found for this signature in database
GPG key ID: 76D727BFF62CD2B5

View file

@ -448,15 +448,21 @@ (define (merge a b)
(((first-propagated first-native) (second-propagated second-native))
(list (append first-propagated second-propagated) (append first-native second-native)))))
(define default-pyproject.toml-dependencies
;; If there is no pyproject.toml, we assume its an old-style setuptools-based project.
'(() ("setuptools")))
;; requires.txt and the metadata of a wheel contain redundant information,
;; so fetch only one of them, preferring requires.txt from the source
;; distribution, which we always fetch, since the source tarball also
;; contains pyproject.toml.
(match (guess-requirements-from-source)
((from-pyproject.toml #f)
(merge (or from-pyproject.toml '(() ())) (or (guess-requirements-from-wheel) '(() ()))))
(merge (or from-pyproject.toml default-pyproject.toml-dependencies)
(or (guess-requirements-from-wheel) '(() ()))))
((from-pyproject.toml from-requires.txt)
(merge (or from-pyproject.toml '(() ())) from-requires.txt))))
(merge (or from-pyproject.toml default-pyproject.toml-dependencies)
from-requires.txt))))
(define (compute-inputs source-url wheel-url archive)
"Given the SOURCE-URL and WHEEL-URL of an already downloaded ARCHIVE, return