aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gnu/packages/check.scm81
-rw-r--r--gnu/packages/python.scm4
2 files changed, 59 insertions, 26 deletions
diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm
index fbd2ac4f80..20845f82f6 100644
--- a/gnu/packages/check.scm
+++ b/gnu/packages/check.scm
@@ -962,18 +962,37 @@ protocol.")
(define-public python2-subunit
(package-with-python2 python-subunit))
-(define-public python-fixtures
+;; Fixtures requires python-pbr at runtime, but pbr uses fixtures for its
+;; own tests. Hence this bootstrap variant.
+(define-public python-fixtures-bootstrap
(package
- (name "python-fixtures")
+ (name "python-fixtures-bootstrap")
(version "1.4.0")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "fixtures" version))
- (sha256
- (base32
- "0djxvdwm8s60dbfn7bhf40x6g818p3b3mlwijm1c3bqg7msn271y"))))
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "fixtures" version))
+ (sha256
+ (base32
+ "0djxvdwm8s60dbfn7bhf40x6g818p3b3mlwijm1c3bqg7msn271y"))))
(build-system python-build-system)
+ (arguments `(#:tests? #f))
+ (propagated-inputs
+ `(("python-pbr-minimal" ,python-pbr-minimal)
+ ("python-six" ,python-six)))
+ (home-page "https://launchpad.net/python-fixtures")
+ (synopsis "Python test fixture library")
+ (description
+ "This package is only used for bootstrapping. Use the regular
+python-fixtures package instead.")
+ (license (list license:bsd-3 license:asl2.0)))) ; at user's option
+
+(define-public python2-fixtures-bootstrap
+ (package-with-python2 python-fixtures-bootstrap))
+
+(define-public python-fixtures
+ (package
+ (inherit python-fixtures-bootstrap)
+ (name "python-fixtures")
(arguments
'(#:phases
(modify-phases %standard-phases
@@ -982,25 +1001,23 @@ protocol.")
(zero? (system* "python" "-m" "testtools.run"
"fixtures.test_suite")))))))
(propagated-inputs
- `(("python-six" ,python-six)))
+ ;; Fixtures uses pbr at runtime to check versions, etc.
+ `(("python-pbr" ,python-pbr)
+ ("python-six" ,python-six)))
(native-inputs
`(("python-mock" ,python-mock)
- ("python-pbr-minimal" ,python-pbr-minimal)
("python-testtools" ,python-testtools)))
- (home-page "https://launchpad.net/python-fixtures")
- (synopsis "Python test fixture library")
(description
"Fixtures provides a way to create reusable state, useful when writing
-Python tests.")
- (license (list license:bsd-3 license:asl2.0)))) ; at user's option
+Python tests.")))
(define-public python2-fixtures
(package-with-python2 python-fixtures))
-(define-public python-testrepository
+(define-public python-testrepository-bootstrap
(package
- (name "python-testrepository")
- (version "0.0.20")
+ (name "python-testrepository-bootstrap")
+ (version "0.0.20")
(source
(origin
(method url-fetch)
@@ -1011,6 +1028,26 @@ Python tests.")
(base32
"1ssqb07c277010i6gzzkbdd46gd9mrj0bi0i8vn560n2k2y4j93m"))))
(build-system python-build-system)
+ (arguments '(#:tests? #f))
+ (propagated-inputs
+ `(("python-fixtures" ,python-fixtures-bootstrap)
+ ("python-subunit" ,python-subunit)
+ ("python-testtools" ,python-testtools)))
+ (native-inputs
+ `(("python-mimeparse" ,python-mimeparse)))
+ (home-page "https://launchpad.net/testrepository")
+ (synopsis "Database for Python test results")
+ (description
+ "Bootstrap package for python-testrepository. Don't use this.")
+ (license (list license:bsd-3 license:asl2.0)))) ; at user's option
+
+(define-public python2-testrepository-bootstrap
+ (package-with-python2 python-testrepository-bootstrap))
+
+(define-public python-testrepository
+ (package
+ (inherit python-testrepository-bootstrap)
+ (name "python-testrepository")
(arguments
;; FIXME: Many tests are failing.
'(#:tests? #f))
@@ -1019,14 +1056,10 @@ Python tests.")
("python-subunit" ,python-subunit)
("python-testtools" ,python-testtools)))
(native-inputs
- `(("python-pbr-minimal" ,python-pbr-minimal) ;; same as for building fixture
- ("python-mimeparse" ,python-mimeparse)))
- (home-page "https://launchpad.net/testrepository")
- (synopsis "Database for Python test results")
+ `(("python-mimeparse" ,python-mimeparse)))
(description "Testrepository provides a database of test results which can
be used as part of a developer's workflow to check things such as what tests
-have failed since the last commit or what tests are currently failing.")
- (license (list license:bsd-3 license:asl2.0)))) ; at user's option
+have failed since the last commit or what tests are currently failing.")))
(define-public python2-testrepository
(package-with-python2 python-testrepository))
diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 4ccd6a7359..efe8e8c638 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -1689,12 +1689,12 @@ code introspection, and logging.")
(propagated-inputs
`(("git" ,git))) ;; pbr actually uses the "git" binary.
(native-inputs
- `(("python-fixtures" ,python-fixtures)
+ `(("python-fixtures" ,python-fixtures-bootstrap)
;; discover, coverage, hacking, subunit
("python-mock" ,python-mock)
("python-six" ,python-six)
("python-sphinx" ,python-sphinx)
- ("python-testrepository" ,python-testrepository)
+ ("python-testrepository" ,python-testrepository-bootstrap)
("python-testresources" ,python-testresources)
("python-testscenarios" ,python-testscenarios)
("python-testtools" ,python-testtools)