gnu: python-flit: Update to 3.5.1, enable tests and apply guix style.

* gnu/packages/python-xyz.scm (python-flit)[origin]: Fetch from pypi-uri, to
ease updating the package.
[phases]{bootstrap}: Delete phase.
{build, install}: Do a PEP 517 build using pypa-build.
{check}: New phase.
[tests?]: Enable.
[propagated-inputs]{python-pytoml, python-toml}: Remove.
{python-pypa-build, python-tomli-w, python-flit-core, python-requests}: New
inputs.
{python-docutils}: New input, moved from...
[native-inputs]: ... here.  Apply guix style.
{python-testpath}: Use the regular python-testpath package.
[synopsis, description]: Re-indent.
This commit is contained in:
Maxim Cournoyer 2021-12-20 14:51:53 -05:00
parent 3307224bf9
commit 5b218cc14a
No known key found for this signature in database
GPG key ID: 1260E46482E63562

View file

@ -23937,92 +23937,52 @@ (define-public python-pathos
(define-public python-flit (define-public python-flit
(package (package
(name "python-flit") (name "python-flit")
(version "3.3.0") (version "3.5.1")
;; We fetch the sources via git because on pypi the package is split into (source
;; two parts: flit and flit_core; flit_core cannot be built without flit. (origin
(source (origin (method url-fetch)
(method git-fetch) (uri (pypi-uri "flit" version))
(uri (git-reference (sha256
(url "https://github.com/takluyver/flit") (base32 "04152qj46sqbnlrj7ch9p7svjrrlpzbk0qr39g2yr0s4f5vp6frf"))))
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"0mvyymw3zqsnip4x4ca6anr5rbx30hcmpqwrnhjwcm7s8mycd01x"))))
(build-system python-build-system) (build-system python-build-system)
(arguments (arguments
`(#:phases (list
(modify-phases %standard-phases #:phases
(add-before 'build 'bootstrap #~(modify-phases %standard-phases
(lambda* (#:key inputs #:allow-other-keys) ;; XXX: PEP 517 manual build copied from python-isort.
(let ((home (string-append (getcwd) "/home"))) (replace 'build
(mkdir-p home) (lambda _
(setenv "HOME" home)) (invoke "python" "-m" "build" "--wheel" "--no-isolation" ".")))
(for-each make-file-writable (find-files ".")) (replace 'check
(copy-recursively (assoc-ref inputs "python-testpath") (lambda* (#:key tests? inputs outputs #:allow-other-keys)
(string-append (getcwd) "/testpath")) (when tests?
(substitute* "pyproject.toml" (setenv "HOME" "/tmp")
(("\"testpath\",") "")) (setenv "FLIT_NO_NETWORK" "1"))))
(invoke "python" "bootstrap_dev.py"))) (replace 'install
(replace 'build (lambda _
(lambda _ (let ((whl (car (find-files "dist" "\\.whl$"))))
;; A ZIP archive should be generated, but it fails with "ZIP does (invoke "pip" "--no-cache-dir" "--no-input"
;; not support timestamps before 1980". Luckily, "install" "--no-deps" "--prefix" #$output whl)))))))
;; SOURCE_DATE_EPOCH is respected, which we set to some time in
;; 1980.
(setenv "SOURCE_DATE_EPOCH" "315532800")
(for-each (lambda (toml)
(invoke "python3" "-m" "flit"
"--debug" "--ini-file" toml
"build"))
'("testpath/pyproject.toml"
"pyproject.toml"))
(with-directory-excursion "flit_core"
(invoke "python" "build_dists.py"))))
(replace 'install
(lambda* (#:key inputs outputs #:allow-other-keys)
(add-installed-pythonpath inputs outputs)
(let ((out (assoc-ref outputs "out")))
(delete-file-recursively "./home")
(for-each (lambda (wheel)
(format #true wheel)
(invoke "python" "-m" "pip" "install"
wheel (string-append "--prefix=" out)))
(append
(find-files "flit_core/dist" "\\.whl$")
(find-files "dist" "\\.whl$")))))))
#:tests? #f)) ; XXX: Check requires network access.
(propagated-inputs (propagated-inputs
(list python-pytoml python-toml)) (list python-pypa-build
python-tomli-w
python-flit-core
python-docutils
python-requests))
(native-inputs (native-inputs
`(("python-docutils" ,python-docutils) (list python-responses
("python-responses" ,python-responses) python-pygments-github-lexers
("python-pygments-github-lexers" ,python-pygments-github-lexers) python-pytest
("python-pytest" ,python-pytest) python-pytest-cov
("python-pytest-cov" ,python-pytest-cov) python-sphinx
("python-sphinx" ,python-sphinx) python-sphinxcontrib-github-alt
("python-sphinxcontrib-github-alt" ,python-sphinxcontrib-github-alt) python-testpath))
;; This package needs testpath, but testpath also needs flit...
("python-testpath"
,(let ((name "python-testpath")
(version "0.4.4"))
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/jupyter/testpath")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"1fwv4d3p54xx1x942s104irr35lszvv6jnr4nn1scsfvc0m1qmbk")))))))
(home-page "https://flit.readthedocs.io/") (home-page "https://flit.readthedocs.io/")
(synopsis (synopsis "Simple packaging tool for simple packages")
"Simple packaging tool for simple packages") (description "Flit is a simple way to put Python packages and modules on
(description PyPI. Flit packages a single importable module or package at a time, using
"Flit is a simple way to put Python packages and modules on PyPI. Flit the import name as the name on PyPI. All subpackages and data files within a
packages a single importable module or package at a time, using the import package are included automatically.")
name as the name on PyPI. All subpackages and data files within a package
are included automatically.")
(license license:bsd-3))) (license license:bsd-3)))
(define-public python-pathtools (define-public python-pathtools