summaryrefslogtreecommitdiff
path: root/gnu/packages/python-web.scm
diff options
context:
space:
mode:
authorRicardo Wurmus <rekado@elephly.net>2021-04-13 13:39:33 +0200
committerRicardo Wurmus <rekado@elephly.net>2021-04-13 13:41:19 +0200
commit9e7f09cbec40257619e57edfdd700c775e96833d (patch)
tree18d1ac2b3a00a26c6a05f198be12c54bcfc2155f /gnu/packages/python-web.scm
parentcf1517a1b76b37c96eb4892ecfb6f2fabf0fde49 (diff)
gnu: python-tinycss2: Enable tests.
* gnu/packages/python-web.scm (python-tinycss2)[source]: Fetch from git repository to include tests. [arguments]: Build from source with flit. [native-inputs]: Add python-flit, python-pytest, python-pytest-cov, python-pytest-flake8, and python-pytest-isort.
Diffstat (limited to 'gnu/packages/python-web.scm')
-rw-r--r--gnu/packages/python-web.scm43
1 files changed, 36 insertions, 7 deletions
diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index 6ae377a55d..1e57165509 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -4563,18 +4563,47 @@ library to create slugs from unicode strings while keeping it DRY.")
(version "1.1.0")
(source
(origin
- (method url-fetch)
- (uri (pypi-uri "tinycss2" version))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Kozea/tinycss2")
+ (commit (string-append "v" version))
+ (recursive? #true)))
+ (file-name (git-file-name name version))
(sha256
- (base32 "12p16k8x8ig51gpfcwz3k3kxpxrwwkn41a1avdgvh3nn8hqarp7v"))))
+ (base32 "0zyc48vbmczpqj7f3f0d7zb3bz29fyj50dg0m6bbwbr5i88kq3sq"))))
(build-system python-build-system)
(arguments
- ;; Test data is missing from the PyPI archive, and the build system is
- ;; based on Flit, which wants an unmaintained and unpackaged
- ;; python-pytoml dependency.
- `(#:tests? #f))
+ `(#:phases
+ (modify-phases %standard-phases
+ (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")
+ (invoke "flit" "build")))
+ (replace 'install
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (add-installed-pythonpath inputs outputs)
+ (let ((out (assoc-ref outputs "out")))
+ (for-each (lambda (wheel)
+ (format #true wheel)
+ (invoke "python" "-m" "pip" "install"
+ wheel (string-append "--prefix=" out)))
+ (find-files "dist" "\\.whl$")))))
+ (replace 'check
+ (lambda* (#:key inputs outputs tests? #:allow-other-keys)
+ (add-installed-pythonpath inputs outputs)
+ (invoke "pytest" "-vv"))))))
(propagated-inputs
`(("python-webencodings" ,python-webencodings)))
+ (native-inputs
+ `(("python-flit" ,python-flit)
+ ("python-pytest" ,python-pytest)
+ ("python-pytest-cov" ,python-pytest-cov)
+ ("python-pytest-flake8" ,python-pytest-flake8)
+ ("python-pytest-isort" ,python-pytest-isort)))
(home-page "https://tinycss2.readthedocs.io/")
(synopsis "Low-level CSS parser for Python")
(description "@code{tinycss2} can parse strings, return Python objects