mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2025-01-22 02:29:24 -05:00
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:
parent
3307224bf9
commit
5b218cc14a
1 changed files with 41 additions and 81 deletions
|
@ -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
|
||||||
|
|
Loading…
Reference in a new issue