summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gnu/packages/check.scm16
-rw-r--r--gnu/packages/python-compression.scm12
-rw-r--r--gnu/packages/python-xyz.scm78
3 files changed, 96 insertions, 10 deletions
diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm
index c28e488a14..941b4547b6 100644
--- a/gnu/packages/check.scm
+++ b/gnu/packages/check.scm
@@ -821,13 +821,13 @@ and many external plugins.")
(package
(inherit (strip-python2-variant python-pytest))
(name "python2-pytest")
- (version "4.4.2")
+ (version "4.6.9")
(source (origin
(method url-fetch)
(uri (pypi-uri "pytest" version))
(sha256
(base32
- "18w38kjnffdcrlbw6ny6dksgxai6x9bxpjs2m6klqmb8hfzjkcb2"))))
+ "0fgkmpc31nzy97fxfrkqbzycigdwxwwmninx3qhkzp81migggs0r"))))
(build-system python-build-system)
(arguments
`(#:python ,python-2
@@ -836,11 +836,14 @@ and many external plugins.")
`(("python-atomicwrites" ,python2-atomicwrites)
("python-attrs" ,python2-attrs-bootstrap)
("python-funcsigs" ,python2-funcsigs)
+ ("python-importlib-metadata" ,python2-importlib-metadata-bootstrap)
("python-more-itertools" ,python2-more-itertools)
+ ("python-packaging" ,python2-packaging-bootstrap)
("python-pathlib2" ,python2-pathlib2)
("python-pluggy" ,python2-pluggy)
("python-py" ,python2-py)
- ("python-six" ,python2-six-bootstrap)))
+ ("python-six" ,python2-six-bootstrap)
+ ("python-wcwidth" ,python2-wcwidth)))
(native-inputs
`(("bash" ,bash) ;tests require 'compgen'
("python-hypothesis" ,python2-hypothesis)
@@ -871,10 +874,13 @@ and many external plugins.")
`(("python-atomicwrites" ,python2-atomicwrites)
("python-attrs" ,python2-attrs-bootstrap)
("python-funcsigs" ,python2-funcsigs-bootstrap)
+ ("python-importlib-metadata" ,python2-importlib-metadata-bootstrap)
("python-more-itertools" ,python2-more-itertools)
+ ("python-packaging" ,python2-packaging-bootstrap)
("python-pathlib2" ,python2-pathlib2-bootstrap)
- ("python-pluggy" ,python2-pluggy)
- ("python-py" ,python2-py))))))
+ ("python-pluggy" ,python2-pluggy-bootstrap)
+ ("python-py" ,python2-py)
+ ("python-wcwidth" ,python2-wcwidth))))))
(define-public python-pytest-cov
(package
diff --git a/gnu/packages/python-compression.scm b/gnu/packages/python-compression.scm
index 70abc7bad1..7924479185 100644
--- a/gnu/packages/python-compression.scm
+++ b/gnu/packages/python-compression.scm
@@ -5,6 +5,7 @@
;;; Copyright © 2017 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr>
+;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -243,6 +244,17 @@ wrapper. It provides a backport of the @code{Path} object.")
("python-unittest2" ,python2-unittest2)
,@(package-native-inputs base))))))
+;; This package is used to bootstrap pytest, via importlib-metadata.
+(define-public python2-zipp-bootstrap
+ (hidden-package
+ (package/inherit
+ python2-zipp
+ (arguments
+ `(#:tests? #f
+ ,@(package-arguments python2-zipp)))
+ (native-inputs
+ `(("python-setuptools-scm" ,python2-setuptools-scm))))))
+
(define-public python-zstandard
(package
(name "python-zstandard")
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index ea67be17ef..12faca73eb 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -5004,6 +5004,16 @@ older Python versions.")
for older versions of Python.")
(license license:asl2.0)))
+;; For importlib-metadata-bootstrap below.
+(define-public python2-importlib-resources-bootstrap
+ (hidden-package
+ (package/inherit
+ python2-importlib-resources
+ (name "python2-importlib-resources-bootstrap")
+ (propagated-inputs
+ `(("python-pathlib2-bootstrap" ,python2-pathlib2-bootstrap)
+ ("python-typing" ,python2-typing))))))
+
(define-public python-importlib-metadata
(package
(name "python-importlib-metadata")
@@ -5019,7 +5029,7 @@ for older versions of Python.")
`(("python-zipp" ,python-zipp)))
(native-inputs
`(("python-setuptools-scm" ,python-setuptools-scm)
- ("python-packaging" ,python-packaging)))
+ ("python-packaging" ,python-packaging-bootstrap)))
(home-page "https://importlib-metadata.readthedocs.io/")
(synopsis "Read metadata from Python packages")
(description
@@ -5045,6 +5055,22 @@ need to use the older and less efficient @code{pkg_resources} package.")
("python-pathlib2" ,python2-pathlib2)
,@(package-propagated-inputs base))))))
+;; This package is used by python2-pytest, and thus must not depend on it.
+(define-public python2-importlib-metadata-bootstrap
+ (hidden-package
+ (package/inherit
+ python2-importlib-metadata
+ (name "python2-importlib-metadata-bootstrap")
+ (arguments
+ `(#:tests? #f
+ ,@(package-arguments python2-importlib-metadata)))
+ (propagated-inputs
+ `(("python-zipp" ,python2-zipp-bootstrap)
+ ("python-pathlib2" ,python2-pathlib2-bootstrap)
+ ("python-configparser" ,python2-configparser)
+ ("python-contextlib2" ,python2-contextlib2-bootstrap)
+ ("python-importlib-resources" ,python2-importlib-resources-bootstrap))))))
+
(define-public python-jaraco-packaging
(package
(name "python-jaraco-packaging")
@@ -8288,6 +8314,18 @@ the standard library.")
(native-inputs
`(("python2-unittest2" ,python2-unittest2))))))
+;; This package is used by python2-pytest via python2-importlib-metadata,
+;; and thus can not depend on python-unittest2 (which depends on pytest).
+(define-public python2-contextlib2-bootstrap
+ (hidden-package
+ (package/inherit
+ python2-contextlib2
+ (name "python2-contextlib2-bootstrap")
+ (arguments
+ `(#:tests? #f
+ ,@(package-arguments python2-contextlib2)))
+ (native-inputs '()))))
+
(define-public python-texttable
(package
(name "python-texttable")
@@ -8786,6 +8824,20 @@ Pytest but stripped of Pytest specific details.")
(propagated-inputs
`(("python-importlib-metadata" ,python2-importlib-metadata))))))
+;; This package requires python2-importlib-metadata, but that package
+;; ends up needing python2-pluggy via python2-pytest, so we need this
+;; variant to solve the circular dependency.
+(define-public python2-pluggy-bootstrap
+ (hidden-package
+ (package/inherit
+ python2-pluggy
+ (name "python2-pluggy-bootstrap")
+ (arguments
+ `(#:tests? #f
+ ,@(package-arguments python2-pluggy)))
+ (propagated-inputs
+ `(("python-importlib-metadata" ,python2-importlib-metadata-bootstrap))))))
+
(define-public python-tox
(package
(name "python-tox")
@@ -13107,7 +13159,11 @@ several utilities, as well as an API for building localization tools.")
(arguments
`(#:phases (modify-phases %standard-phases
(replace 'check
- (lambda _ (invoke "py.test" "-vv"))))))
+ (lambda* (#:key tests? #:allow-other-keys)
+ (if tests?
+ (invoke "py.test" "-vv")
+ (format #t "test suite not run~%"))
+ #t)))))
(native-inputs
`(("python-pretend" ,python-pretend)
("python-pytest" ,python-pytest)))
@@ -13125,7 +13181,10 @@ information.")
;; licenses.
(license (list license:asl2.0 license:bsd-2))))
-;; A variant with minimal dependencies, for bootstrapping Pytest.
+(define-public python2-packaging
+ (package-with-python2 python-packaging))
+
+;; Variants with minimal dependencies, for bootstrapping Pytest.
(define-public python-packaging-bootstrap
(hidden-package
(package/inherit
@@ -13136,8 +13195,17 @@ information.")
`(("python-pyparsing" ,python-pyparsing)))
(arguments '(#:tests? #f)))))
-(define-public python2-packaging
- (package-with-python2 python-packaging))
+(define-public python2-packaging-bootstrap
+ (hidden-package
+ (package/inherit
+ python2-packaging
+ (name "python2-packaging-bootstrap")
+ (native-inputs '())
+ (propagated-inputs
+ `(("python-pyparsing" ,python2-pyparsing)))
+ (arguments
+ `(#:tests? #f
+ ,@(package-arguments python2-packaging))))))
(define-public python-relatorio
(package