diff options
Diffstat (limited to 'gnu/packages')
-rw-r--r-- | gnu/packages/check.scm | 62 | ||||
-rw-r--r-- | gnu/packages/python-xyz.scm | 32 | ||||
-rw-r--r-- | gnu/packages/time.scm | 39 |
3 files changed, 130 insertions, 3 deletions
diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm index 8e6576208c..8c161a4a4f 100644 --- a/gnu/packages/check.scm +++ b/gnu/packages/check.scm @@ -1178,6 +1178,38 @@ distributed testing in both @code{load} and @code{each} modes. It also supports coverage of subprocesses.") (license license:expat))) +(define-public python2-pytest-cov + (package + (name "python2-pytest-cov") + (version "2.8.1") + (source + (origin + (method url-fetch) + (uri (pypi-uri "pytest-cov" version)) + (sha256 + (base32 "0avzlk9p4nc44k7lpx9109dybq71xqnggxb9f4hp0l64pbc44ryc")))) + (build-system python-build-system) + (arguments + `(#:python ,python-2 + #:phases + (modify-phases %standard-phases + (replace 'check + (lambda _ + ;; Options taken from tox.ini. + ;; TODO: make "--restructuredtext" tests pass. They currently fail + ;; with "Duplicate implicit target name". + (invoke "python" "./setup.py" "check" + "--strict" "--metadata")))))) + (propagated-inputs + (list python2-coverage python2-pytest)) + (home-page "https://github.com/pytest-dev/pytest-cov") + (synopsis "Pytest plugin for measuring coverage") + (description + "Pytest-cov produces coverage reports. It supports centralised testing and +distributed testing in both @code{load} and @code{each} modes. It also +supports coverage of subprocesses.") + (license license:expat))) + (define-public python-pytest-httpserver (package (name "python-pytest-httpserver") @@ -2935,7 +2967,35 @@ time by mocking the datetime module.") (license license:asl2.0))) (define-public python2-freezegun - (package-with-python2 python-freezegun)) + (package + (name "python2-freezegun") + (version "0.3.14") + (source + (origin + (method url-fetch) + (uri (pypi-uri "freezegun" version)) + (sha256 + (base32 "0al75mk829j1izxi760b7yjnknjihyfhp2mvi5qiyrxb9cpxwqk2")))) + (build-system python-build-system) + (native-inputs + (list python2-mock python2-pytest)) + (propagated-inputs + (list python2-six python2-dateutil)) + (arguments + `(#:python ,python-2 + #:phases + (modify-phases %standard-phases + ;; The tests are normally executed via `make test`, but the PyPi + ;; package does not include the Makefile. + (replace 'check + (lambda _ + (invoke "pytest" "-vv")))))) + (home-page "https://github.com/spulec/freezegun") + (synopsis "Test utility for mocking the datetime module") + (description + "FreezeGun is a library that allows your python tests to travel through +time by mocking the datetime module.") + (license license:asl2.0))) (define-public python-flexmock (package diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 020f078dee..199fcf5fb8 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -1283,7 +1283,37 @@ etc.") (license license:bsd-3))) (define-public python2-babel - (package-with-python2 python-babel)) + (package + (name "python2-babel") + (version "2.9.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "Babel" version)) + (sha256 + (base32 + "018yg7g2pa6vjixx1nx41cfispgfi0azzp0a1chlycbj8jsil0ys")))) + (build-system python-build-system) + (native-inputs + (list python2-freezegun python2-pytest tzdata-for-tests)) + (propagated-inputs + (list python2-pytz)) + (arguments + `(#:python ,python-2 + #:phases (modify-phases %standard-phases + (replace 'check + (lambda _ + (invoke "pytest" "-vv")))))) + (home-page "https://babel.pocoo.org/") + (synopsis + "Tools for internationalizing Python applications") + (description + "Babel is composed of two major parts: +- tools to build and work with gettext message catalogs +- a Python interface to the CLDR (Common Locale Data Repository), providing +access to various locale display names, localized number and date formatting, +etc.") + (license license:bsd-3))) (define-public python2-backport-ssl-match-hostname (package diff --git a/gnu/packages/time.scm b/gnu/packages/time.scm index 9b57fe41fb..ca5e462680 100644 --- a/gnu/packages/time.scm +++ b/gnu/packages/time.scm @@ -233,7 +233,44 @@ datetime module, available in Python 2.3+.") (license (list bsd-3 asl2.0)))) (define-public python2-dateutil - (package-with-python2 python-dateutil)) + (package + (name "python2-dateutil") + (version "2.8.2") + (source + (origin + (method url-fetch) + (uri (pypi-uri "python-dateutil" version)) + (sha256 + (base32 + "11iy7m4bp2lgfkcl0r6xzf34bvk7ppjmsyn2ygfikbi72v6cl8q1")))) + (build-system python-build-system) + (arguments + `(#:python ,python-2 + #:phases (modify-phases %standard-phases + (replace 'check + (lambda _ + ;; Delete tests that depend on "freezegun" to avoid a + ;; circular dependency. + (delete-file "dateutil/test/test_utils.py") + (delete-file "dateutil/test/test_rrule.py") + + ;; XXX: Fails to get timezone from /etc/localtime. + (delete-file "dateutil/test/test_tz.py") + + (invoke "pytest" "-vv")))))) + (native-inputs + (list python2-pytest python2-pytest-cov python2-setuptools-scm)) + (propagated-inputs + (list python2-six)) + (home-page "https://dateutil.readthedocs.io/en/stable/") + (synopsis "Extensions to the standard datetime module") + (description + "The dateutil module provides powerful extensions to the standard +datetime module, available in Python 2.3+.") + ;; The license was changed from the three-clause BSD license to a dual + ;; Apache 2.0/BSD-3 variant at 2017-12-01. Some code is only available as + ;; BSD-3 still; but all new code is dual licensed (the user can choose). + (license (list bsd-3 asl2.0)))) (define-public python-parsedatetime (package |