guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

01/37: gnu: python-fixtures: Propagate python-pbr.


From: Marius Bakke
Subject: 01/37: gnu: python-fixtures: Propagate python-pbr.
Date: Wed, 28 Feb 2018 10:33:49 -0500 (EST)

mbakke pushed a commit to branch master
in repository guix.

commit 335c9e39024302476edb35b139ba2350a5d76437
Author: Marius Bakke <address@hidden>
Date:   Tue Feb 27 16:21:12 2018 +0100

    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.
---
 gnu/packages/check.scm  | 81 ++++++++++++++++++++++++++++++++++---------------
 gnu/packages/python.scm |  4 +--
 2 files changed, 59 insertions(+), 26 deletions(-)

diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm
index fbd2ac4..20845f8 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 4ccd6a7..efe8e8c 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)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]