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