gnu: python-fixtures: Propagate python-pbr.

* gnu/packages/check.scm (python-fixtures-bootstrap,
python2-fixtures-bootstrap, python-testrepository-bootstrap,
python2-testrepository-bootstrap): New public variables.
(python-fixtures): Adjust accordingly.
(python-testrepository): Likewise.
[native-inputs]: Remove PYTHON-PBR-MINIMAL.
* gnu/packages/python.scm (python-pbr)[native-inputs]: Replace PYTHON-FIXTURES
and PYTHON-TESTREPOSITORY WITH PYTHON-FIXTURES-BOOTSTRAP and
PYTHON-TESTREPOSITORY-BOOTSTRAP.
This commit is contained in:
Marius Bakke 2018-02-27 16:21:12 +01:00
parent bd041e7fd3
commit 335c9e3902
No known key found for this signature in database
GPG Key ID: A2A06DF2A33A54FA
2 changed files with 59 additions and 26 deletions

View File

@ -962,18 +962,37 @@ protocol.")
(define-public python2-subunit (define-public python2-subunit
(package-with-python2 python-subunit)) (package-with-python2 python-subunit))
;; 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-bootstrap")
(version "1.4.0")
(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 (define-public python-fixtures
(package (package
(inherit python-fixtures-bootstrap)
(name "python-fixtures") (name "python-fixtures")
(version "1.4.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "fixtures" version))
(sha256
(base32
"0djxvdwm8s60dbfn7bhf40x6g818p3b3mlwijm1c3bqg7msn271y"))))
(build-system python-build-system)
(arguments (arguments
'(#:phases '(#:phases
(modify-phases %standard-phases (modify-phases %standard-phases
@ -982,25 +1001,23 @@ protocol.")
(zero? (system* "python" "-m" "testtools.run" (zero? (system* "python" "-m" "testtools.run"
"fixtures.test_suite"))))))) "fixtures.test_suite")))))))
(propagated-inputs (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 (native-inputs
`(("python-mock" ,python-mock) `(("python-mock" ,python-mock)
("python-pbr-minimal" ,python-pbr-minimal)
("python-testtools" ,python-testtools))) ("python-testtools" ,python-testtools)))
(home-page "https://launchpad.net/python-fixtures")
(synopsis "Python test fixture library")
(description (description
"Fixtures provides a way to create reusable state, useful when writing "Fixtures provides a way to create reusable state, useful when writing
Python tests.") Python tests.")))
(license (list license:bsd-3 license:asl2.0)))) ; at user's option
(define-public python2-fixtures (define-public python2-fixtures
(package-with-python2 python-fixtures)) (package-with-python2 python-fixtures))
(define-public python-testrepository (define-public python-testrepository-bootstrap
(package (package
(name "python-testrepository") (name "python-testrepository-bootstrap")
(version "0.0.20") (version "0.0.20")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -1011,6 +1028,26 @@ Python tests.")
(base32 (base32
"1ssqb07c277010i6gzzkbdd46gd9mrj0bi0i8vn560n2k2y4j93m")))) "1ssqb07c277010i6gzzkbdd46gd9mrj0bi0i8vn560n2k2y4j93m"))))
(build-system python-build-system) (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 (arguments
;; FIXME: Many tests are failing. ;; FIXME: Many tests are failing.
'(#:tests? #f)) '(#:tests? #f))
@ -1019,14 +1056,10 @@ Python tests.")
("python-subunit" ,python-subunit) ("python-subunit" ,python-subunit)
("python-testtools" ,python-testtools))) ("python-testtools" ,python-testtools)))
(native-inputs (native-inputs
`(("python-pbr-minimal" ,python-pbr-minimal) ;; same as for building fixture `(("python-mimeparse" ,python-mimeparse)))
("python-mimeparse" ,python-mimeparse)))
(home-page "https://launchpad.net/testrepository")
(synopsis "Database for Python test results")
(description "Testrepository provides a database of test results which can (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 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.") have failed since the last commit or what tests are currently failing.")))
(license (list license:bsd-3 license:asl2.0)))) ; at user's option
(define-public python2-testrepository (define-public python2-testrepository
(package-with-python2 python-testrepository)) (package-with-python2 python-testrepository))

View File

@ -1689,12 +1689,12 @@ code introspection, and logging.")
(propagated-inputs (propagated-inputs
`(("git" ,git))) ;; pbr actually uses the "git" binary. `(("git" ,git))) ;; pbr actually uses the "git" binary.
(native-inputs (native-inputs
`(("python-fixtures" ,python-fixtures) `(("python-fixtures" ,python-fixtures-bootstrap)
;; discover, coverage, hacking, subunit ;; discover, coverage, hacking, subunit
("python-mock" ,python-mock) ("python-mock" ,python-mock)
("python-six" ,python-six) ("python-six" ,python-six)
("python-sphinx" ,python-sphinx) ("python-sphinx" ,python-sphinx)
("python-testrepository" ,python-testrepository) ("python-testrepository" ,python-testrepository-bootstrap)
("python-testresources" ,python-testresources) ("python-testresources" ,python-testresources)
("python-testscenarios" ,python-testscenarios) ("python-testscenarios" ,python-testscenarios)
("python-testtools" ,python-testtools) ("python-testtools" ,python-testtools)