gnu: python-flit-scm: Improve package.

Reduce closure size by removing redundant python-setuptools and
python-wheel as it was a workaround import issue which was resolved by
using flit_core.buildapi directly.

* gnu/packages/python-build.scm (python-flit-scm): Fix indentation.
  [arguments] <build-backend>: Let it auto detect.
  <phases>: Add 'fix-backend.
  [native-inputs]: Remove python-setuptools and python-wheel.

Change-Id: Ib3f591365411ba5f8b710a8256a324dfb7d5b565
This commit is contained in:
Sharlatan Hellseher 2025-07-15 22:12:53 +01:00
parent 1bb83e9e6d
commit 989f55b4ba
No known key found for this signature in database
GPG key ID: 76D727BFF62CD2B5

View file

@ -672,21 +672,33 @@ specified by PEP 517, @code{flit_core.buildapi}.")
(package (package
(name "python-flit-scm") (name "python-flit-scm")
(version "1.7.0") (version "1.7.0")
(source (origin (source
(method url-fetch) (origin
(uri (pypi-uri "flit_scm" version)) (method url-fetch)
(sha256 (uri (pypi-uri "flit_scm" version))
(base32 (sha256
"1ckbkykfr7f7wzjzgh0gm7h6v3pqzx2l28rw6dsvl6zk4kxxc6wn")))) (base32 "1ckbkykfr7f7wzjzgh0gm7h6v3pqzx2l28rw6dsvl6zk4kxxc6wn"))))
(build-system pyproject-build-system) (build-system pyproject-build-system)
(arguments (list #:tests? #f ;to avoid extra dependencies (arguments
;; flit-scm wants to use flit-core, which it renames to (list
;; 'buildapi', but that isn't found even when adding the #:tests? #f ;no tests in PyPI archive or Git checkout
;; current directory to PYTHONPATH. Use setuptools' #:phases
;; builder instead. #~(modify-phases %standard-phases
#:build-backend "setuptools.build_meta")) (add-after 'unpack 'fix-backend
(propagated-inputs (list python-flit-core python-setuptools-scm python-tomli)) ;; flit_scm imports flit_core's buildapi and tries to make it
(native-inputs (list python-setuptools python-wheel)) ;; available as "flit_scm:buildapi", see comment in
;; <flit_scm/__init__.py>; but it fails during build phase with
;; error: ModuleNotFoundError: No module named
;; 'flit_scm:buildapi'.
;;
;; Use flit_core.buildapi directly to build flit_scm.
(lambda _
(substitute* "pyproject.toml"
(("flit_scm:buildapi") "flit_core.buildapi")))))))
(propagated-inputs
(list python-flit-core
python-setuptools-scm
python-tomli))
(home-page "https://gitlab.com/WillDaSilva/flit_scm") (home-page "https://gitlab.com/WillDaSilva/flit_scm")
(synopsis "PEP 518 build backend combining flit_core and setuptools_scm") (synopsis "PEP 518 build backend combining flit_core and setuptools_scm")
(description "This package provides a PEP 518 build backend that uses (description "This package provides a PEP 518 build backend that uses