From 6cd019638742fe0ef7936be43001ada99c5875ab Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Fri, 24 Jun 2022 22:25:28 -0400 Subject: gnu: Add python-flit-scm. * gnu/packages/python-build.scm (python-flit-scm): New variable. --- gnu/packages/python-build.scm | 49 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) diff --git a/gnu/packages/python-build.scm b/gnu/packages/python-build.scm index afccfabb2c..e7023aca0c 100644 --- a/gnu/packages/python-build.scm +++ b/gnu/packages/python-build.scm @@ -405,6 +405,55 @@ specified by PEP 517, @code{flit_core.buildapi}.") (modify-inputs (package-propagated-inputs python-flit-core-bootstrap) (replace "python-toml" python-tomli))))) +(define-public python-flit-scm + (package + (name "python-flit-scm") + (version "1.6.2") + (source (origin + (method url-fetch) + (uri (pypi-uri "flit_scm" version)) + (sha256 + (base32 + "0p3lj2g1643m2dm14kihvfb6gn6jviglhm3dzdpn2c8zpqs17svg")))) + (build-system python-build-system) + (arguments + (list + #:tests? #f ;no test suite + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'relax-setuptools-scm-version + (lambda _ + (substitute* "pyproject.toml" + (("setuptools_scm~=6.4") + "setuptools_scm>=6.3")))) + ;; XXX: PEP 517 manual build/install procedures copied from + ;; python-isort. + (replace 'build + (lambda _ + ;; ZIP does not support timestamps before 1980. + (setenv "SOURCE_DATE_EPOCH" "315532800") + (invoke "python" "-m" "build" "--wheel" "--no-isolation" "."))) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let ((whl (car (find-files "dist" "\\.whl$")))) + (invoke "pip" "--no-cache-dir" "--no-input" + "install" "--no-deps" "--prefix" #$output whl))))))) + (native-inputs + (list python-pypa-build + python-flit-core + python-setuptools-scm + python-tomli)) + (propagated-inputs + (list python-flit-core + python-setuptools-scm + python-tomli)) + (home-page "https://gitlab.com/WillDaSilva/flit_scm") + (synopsis "PEP 518 build backend combining flit_core and setuptools_scm") + (description "This package provides a PEP 518 build backend that uses +@code{setuptools_scm} to generate a version file from your version control +system, then @code{flit_core} to build the package.") + (license license:expat))) + (define-public python-setuptools-scm (package (name "python-setuptools-scm") -- cgit v1.2.1