Merge branch 'master' into staging
[jackhill/guix/guix.git] / gnu / packages / openstack.scm
index 327c4f9..86d1ce9 100644 (file)
@@ -19,6 +19,7 @@
 ;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
 
 (define-module (gnu packages openstack)
+  #:use-module (gnu packages gnupg)
   #:use-module (gnu packages python)
   #:use-module (gnu packages ssh)
   #:use-module (gnu packages tls)
 To do this Bandit processes each file, builds an AST from it, and runs
 appropriate plugins against the AST nodes.  Once Bandit has finished scanning
 all the files it generates a report.")
+    (properties `((python2-variant . ,(delay python2-bandit))))
     (license asl2.0)))
 
 (define-public python2-bandit
-  (package-with-python2 python-bandit))
+  (package (inherit (package-with-python2
+                     (strip-python2-variant python-bandit)))
+           (arguments
+            `(#:python ,python-2
+              ;; FIXME: 'subunit.run discover: error: no such option: --list'
+              #:tests? #f))))
 
 (define-public python-debtcollector
   (package
@@ -81,6 +88,8 @@ all the files it generates a report.")
           (base32
            "0g4dfskaiy47rhsh4gh66l5vmdsrgq0qk68pl3ix1cj3ffvfndzv"))))
     (build-system python-build-system)
+    (arguments
+     '(#:tests? #f)) ;FIXME: Requires packaging python-doc8.
     (propagated-inputs
      `(("python-six" ,python-six)
        ("python-wrapt" ,python-wrapt)))
@@ -104,29 +113,33 @@ manner.")
 (define-public python-hacking
   (package
     (name "python-hacking")
-    (version "0.10.2")
+    (version "0.13.0")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "hacking" version))
        (sha256
         (base32
-         "1a310k3dv04jg7zvmk37h2ql7y9kf4hvdxb74bjlwdxgmy6h4wap"))))
+         "1s1wq2sds6fjp8rwz31vkp33kjl9nyk5y2g2pri8shic75dr00h4"))))
     (build-system python-build-system)
     (propagated-inputs
-      `(("python-flake8-2.2.4" ,python-flake8-2.2.4)
-        ("python-mccabe-0.2.1" ,python-mccabe-0.2.1)
-        ("python-pbr" ,python-pbr)
-        ("python-pep8-1.5.7" ,python-pep8-1.5.7)
-        ("python-pyflakes-0.8.1" ,python-pyflakes-0.8.1)
-        ("python-six" ,python-six)))
+     `(("python-flake8" ,python-flake8)
+       ("python-mccabe-0.2.1" ,python-mccabe-0.2.1)
+       ("python-pbr" ,python-pbr)
+       ("python-pep8-1.5.7" ,python-pep8-1.5.7)
+       ("python-pyflakes-0.8.1" ,python-pyflakes-0.8.1)
+       ("python-six" ,python-six)))
     (native-inputs
-      `(;; Tests
-        ("python-testscenarios" ,python-testscenarios)))
-    (home-page "http://github.com/openstack-dev/hacking")
+     `( ;; Tests
+       ("python-eventlet" ,python-eventlet)
+       ("python-mock" ,python-mock)
+       ("python-reno" ,python-reno)
+       ("python-testrepository" ,python-testrepository)
+       ("python-testscenarios" ,python-testscenarios)))
+    (home-page "https://github.com/openstack-dev/hacking")
     (synopsis "OpenStack hacking guideline enforcement")
     (description
-      "Python-hacking is a set of flake8 plugins that test and enforce the
+     "Python-hacking is a set of flake8 plugins that test and enforce the
 @uref{http://docs.openstack.org/developer/hacking/, OpenStack style
 guidelines}.")
     (license asl2.0)))
@@ -146,10 +159,14 @@ guidelines}.")
           (base32
            "0njmh40i1lg5mzn9hc2ax83adj6dli455j6xifilrw27c4wlkjzx"))))
     (build-system python-build-system)
+    (arguments
+     ;; TODO: Resolve dependency cycle and re-enable.
+     '(#:tests? #f))
     (native-inputs
       `(("python-fixtures" ,python-fixtures)
+        ; TODO re-add ("python-oslosphinx" ,python-oslosphinx)
         ("python-pbr" ,python-pbr)
-        ("python-six" ,python-six)
+        ("python-sphinx" ,python-sphinx)
         ("python-testtools" ,python-testtools)))
     (home-page "http://www.openstack.org/")
     (synopsis "Mock object framework for Python")
@@ -177,12 +194,13 @@ tested on Python version 3.2, 2.7 and 2.6.")
     (build-system python-build-system)
     (arguments
      `(#:tests? #f)) ;; Circular dependency with python-oslotest
-    (inputs
+    (propagated-inputs
       `(("python-appdirs" ,python-appdirs)
+        ("python-pyyaml" ,python-pyyaml)))
+    (native-inputs
+      `(("python-pbr" ,python-pbr)
         ("python-fixtures" ,python-fixtures)
         ("python-mimeparse" ,python-mimeparse)
-        ("python-pbr" ,python-pbr)
-        ("python-pyyaml" ,python-pyyaml)
         ("python-testrepository" ,python-testrepository)
         ("python-testscenarios" ,python-testscenarios)
         ("python-testtools" ,python-testtools)))
@@ -216,11 +234,11 @@ tested on Python version 3.2, 2.7 and 2.6.")
      ;; when building the package. Skip the tests for now.
      `(#:tests? #f))
     (propagated-inputs
+     `(("python-subunit" ,python-subunit)))
+    (native-inputs
      `(("python-pbr" ,python-pbr)
-       ("python-subunit" ,python-subunit)
-       ("python-testtools" ,python-testtools)))
-    (inputs
-      `(("python-babel" ,python-babel)))
+       ("python-testtools" ,python-testtools)
+       ("python-babel" ,python-babel)))
     (home-page "https://www.openstack.org/")
     (synopsis "Testr wrapper to provide functionality for OpenStack projects")
     (description
@@ -234,22 +252,21 @@ tested on Python version 3.2, 2.7 and 2.6.")
 (define-public python-requests-mock
   (package
     (name "python-requests-mock")
-    (version "1.0.0")
+    (version "1.3.0")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "requests-mock" version))
        (sha256
         (base32
-         "0gcjjwsckhqixyffflc54i59x41jnbb37bli077vabii1bjmkin6"))))
+         "0jr997dvk6zbmhvbpcv3rajrgag69mcsm1ai3w3rgk2jdh6rg1mx"))))
     (build-system python-build-system)
     (propagated-inputs
      `(("python-requests" ,python-requests)
        ("python-six" ,python-six)))
-    (inputs
-     `(("python-pbr" ,python-pbr)))
     (native-inputs
-     `(("python-discover" ,python-discover)
+     `(("python-pbr" ,python-pbr)
+       ("python-discover" ,python-discover)
        ("python-docutils" ,python-docutils)
        ("python-fixtures" ,python-fixtures)
        ("python-mock" ,python-mock)
@@ -261,10 +278,16 @@ tested on Python version 3.2, 2.7 and 2.6.")
     (description
       "This module provides a building block to stub out the HTTP requests
 portions of your testing code.")
+    (properties `((python2-variant . ,(delay python2-requests-mock))))
     (license asl2.0)))
 
 (define-public python2-requests-mock
-  (package-with-python2 python-requests-mock))
+  (package (inherit (package-with-python2
+                     (strip-python2-variant python-requests-mock)))
+           (arguments
+            `(#:python ,python-2
+              ;; FIXME: 'subunit.run discover: error: no such option: --list'
+              #:tests? #f))))
 
 (define-public python-stevedore
   (package
@@ -280,14 +303,16 @@ portions of your testing code.")
     (build-system python-build-system)
     (propagated-inputs
       `(("python-six" ,python-six)))
-    (inputs
-      `(("python-pbr" ,python-pbr)))
     (native-inputs
-      `(;; Tests
+      `(("python-pbr" ,python-pbr)
+        ;; Tests
+        ("python-discover" ,python-discover)
         ("python-docutils" ,python-docutils)
         ("python-mock" ,python-mock)
+        ("python-oslosphinx" ,python-oslosphinx)
         ("python-oslotest" ,python-oslotest)
-        ("python-sphinx" ,python-sphinx)))
+        ("python-sphinx" ,python-sphinx)
+        ("python-testrepository" ,python-testrepository)))
     (home-page "https://github.com/dreamhost/stevedore")
     (synopsis "Manage dynamic plugins for Python applications")
     (description
@@ -299,10 +324,16 @@ mechanism by building on top of setuptools entry points.  The code for managing
 entry points tends to be repetitive, though, so stevedore provides manager
 classes for implementing common patterns for using dynamically loaded
 extensions.")
+    (properties `((python2-variant . ,(delay python2-stevedore))))
     (license asl2.0)))
 
 (define-public python2-stevedore
-  (package-with-python2 python-stevedore))
+  (package (inherit (package-with-python2
+                     (strip-python2-variant python-stevedore)))
+           (arguments
+            `(#:python ,python-2
+              ;; FIXME: 'subunit.run discover: error: no such option: --list'
+              #:tests? #f))))
 
 (define-public python-tempest-lib
   (package
@@ -317,7 +348,8 @@ extensions.")
         "1cpp2vwmawpd29hjsklsps181lq2ah91cl412qvpnz228nf9sqn5"))))
     (build-system python-build-system)
     (arguments
-     `(#:phases
+     `(#:tests? #f ; FIXME: Requires oslo.log >= 1.14.0.
+       #:phases
        (modify-phases %standard-phases
          (add-before
           'check 'pre-check
@@ -364,6 +396,8 @@ common features used in Tempest.")
          (base32
           "13r778jfb0fhna37c2pd1f2xipnsbd7zli7qhn96acrzymrwj5k1"))))
     (build-system python-build-system)
+    (arguments
+     '(#:tests? #f)) ; FIXME: Requires packaging python-argparse.
     (propagated-inputs
       `(("python-netaddr" ,python-netaddr)
         ("python-six" ,python-six)
@@ -397,11 +431,19 @@ common features used in Tempest.")
         (base32
          "0kvha0rs9295njyl2z6n6zm5dapi5mrl5zwjm0m6ldqrvccyf8c3"))))
     (build-system python-build-system)
+    (arguments
+     '(#:tests? #f)) ; FIXME: Requires python-mock >= 1.2.
     (native-inputs
       `(("python-babel" ,python-babel)
         ("python-pbr" ,python-pbr)
         ;; Tests.
-        ("python-oslotest" ,python-oslotest)))
+        ("python-coverage" ,python-coverage)
+        ("python-hacking" ,python-hacking)
+        ("python-mock" ,python-mock)
+        ("python-os-client-config" ,python-os-client-config)
+        ("python-oslotest" ,python-oslotest)
+        ("python-oslosphinx" ,python-oslosphinx)
+        ("python-sphinx" ,python-sphinx)))
     (home-page "http://launchpad.net/oslo")
     (synopsis "Oslo context library")
     (description
@@ -425,6 +467,8 @@ pipeline and used by various modules such as logging.")
           (base32
            "0bpb1c20sm8my650gl824nzaip83bfn8hr91s65k5ncmyh8hb6pl"))))
     (build-system python-build-system)
+    (arguments
+     '(#:tests? #f)) ; FIXME: Circular dependency on python-oslo.config.
     (propagated-inputs
       `(("python-babel" ,python-babel)
         ("python-six" ,python-six)))
@@ -461,6 +505,8 @@ in an application or library.")
         (base32
           "1fhy6yvbd565nv4x4i3ppyrlbmz3yy9d0xsvw5nkqsa7g43nmf8z"))))
   (build-system python-build-system)
+  (arguments
+   '(#:tests? #f)) ; FIXME: Requires oslo.utils >= 3.2.0.
   (propagated-inputs
    `(("python-debtcollector" ,python-debtcollector)
      ("python-oslo.config" ,python-oslo.config)
@@ -498,6 +544,8 @@ handlers and support for context specific logging (like resource id’s etc).")
         (base32
          "00s03krhf833gs76aw5ns32w9m1i4hx6x6d9g82m0j5wyqk0sci4"))))
     (build-system python-build-system)
+    (arguments
+     '(#:tests? #f)) ; FIXME: Requires python-oslo.utils >= 3.2.0.
     (propagated-inputs
       `(("python-iso8601" ,python-iso8601)
         ("python-netaddr" ,python-netaddr)
@@ -522,18 +570,74 @@ in transmittable and storable formats, such as JSON and MessagePack.")
 (define-public python2-oslo.serialization
   (package-with-python2 python-oslo.serialization))
 
+(define-public python-reno
+  (package
+    (name "python-reno")
+    (version "2.0.3")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (pypi-uri "reno" version))
+        (sha256
+          (base32 "1i2wnn5fnm3jm5774pahg000q0lma5i913hml91bbbm2mybphndd"))))
+    (build-system python-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-before 'check 'init-git
+           (lambda _
+             ;; reno expects a git repo
+             (zero? (system* "git" "init")))))))
+    (propagated-inputs
+      `(("python-babel" ,python-babel)
+        ("python-dulwich" ,python-dulwich)
+        ("python-pyyaml" ,python-pyyaml)
+        ("python-six" ,python-six)))
+    (native-inputs
+      `(("python-testtools" ,python-testtools)
+        ("python-pbr" ,python-pbr)
+        ("python-testscenarios" ,python-testscenarios)
+        ("python-testrepository" ,python-testrepository)
+        ("python-mock" ,python-mock)
+        ("python-oslotest" ,python-oslotest)
+        ("gnupg" ,gnupg)
+        ("git" ,git)))
+    (home-page "http://docs.openstack.org/developer/reno/")
+    (synopsis "Release notes manager")
+    (description "Reno is a tool for storing release notes in a git repository
+and building documentation from them.")
+    (properties `((python2-variant . ,(delay python2-reno))))
+    (license asl2.0)))
+
+(define-public python2-reno
+  (package (inherit (package-with-python2
+                     (strip-python2-variant python-reno)))
+           (arguments
+            `(#:python ,python-2
+              ;; FIXME: 'subunit.run discover: error: no such option: --list'
+              #:tests? #f))))
+
 (define-public python-oslosphinx
   (package
     (name "python-oslosphinx")
-    (version "4.3.0")
+    (version "4.10.0")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "oslosphinx" version))
        (sha256
         (base32
-         "0cz8ym4i1n4rgljlqhyhfkpgdmid7nkb909k8r8nk186m9cmpla2"))))
+         "09mxqyabi68f3s3arvdhlhq0mn38vf74jbsfcg84151hcj6czhnl"))))
     (build-system python-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (replace 'check
+           (lambda _
+             ;; Note: Upstream tests would have also built the release notes.
+             ;; That only would work if we were in a git checkout.
+             ;; Therefore, we don't do it here.
+             (zero? (system* "python" "setup.py" "build_sphinx")))))))
     (propagated-inputs
       `(("python-requests" ,python-requests)))
     (native-inputs
@@ -583,10 +687,16 @@ from the OpenStack project.")
     (description
       "The Oslo Test framework provides common fixtures, support for debugging,
 and better support for mocking results.")
+    (properties `((python2-variant . ,(delay python2-oslotest))))
     (license asl2.0)))
 
 (define-public python2-oslotest
-  (package-with-python2 python-oslotest))
+  (package (inherit (package-with-python2
+                     (strip-python2-variant python-oslotest)))
+           (arguments
+            `(#:python ,python-2
+              ;; FIXME: 'subunit.run discover: error: no such option: --list'
+              #:tests? #f))))
 
 (define-public python-oslo.utils
   (package
@@ -605,6 +715,8 @@ and better support for mocking results.")
             ;; phase.
             (delete-file "oslo_utils/tests/test_netutils.py")))))
     (build-system python-build-system)
+    (arguments
+     '(#:tests? #f)) ; FIXME: Requires oslo.config >= 2.7.0.
     (propagated-inputs
       `(("python-debtcollector" ,python-debtcollector)
         ("python-oslo.i18n" ,python-oslo.i18n)
@@ -618,6 +730,8 @@ and better support for mocking results.")
       `(("python-babel" ,python-babel)
         ("python-pbr" ,python-pbr)
         ;; Tests.
+        ("python-bandit" ,python-bandit)
+        ("python-oslo.config" ,python-oslo.config)
         ("python-oslotest" ,python-oslotest)
         ("python-mock" ,python-mock)
         ("python-mox3" ,python-mox3)
@@ -645,6 +759,8 @@ handling.")
          (base32
           "1w4csvkah67rfpxylxnvs2s3594i0f9isy8pf4gnsqs5zirvjaa4"))))
     (build-system python-build-system)
+    (arguments
+     '(#:tests? #f)) ; FIXME: Many tests are failing.
     (native-inputs
      `(("python-sphinx" ,python-sphinx)
        ;; and some packages for the tests
@@ -751,6 +867,10 @@ permanence.")
 (define-public python2-swiftclient
   (let ((swiftclient (package-with-python2 python-swiftclient)))
     (package (inherit swiftclient)
+      (arguments
+       `(#:python ,python-2
+         ;; FIXME: subunit.run discover: error: no such option: --list
+         #:tests? #f))
       (propagated-inputs
        `(("python2-futures" ,python2-futures)
          ("python2-requests" ,python2-requests)
@@ -790,9 +910,10 @@ permanence.")
                          (list git openssh))))))))))
     (native-inputs
      `(("python-pbr" ,python-pbr)))
+    (propagated-inputs
+     `(("python-requests" ,python-requests)))
     (inputs
-     `(("python-requests" ,python-requests)
-       ("git" ,git)
+     `(("git" ,git)
        ("openssh" ,openssh)))
     (home-page "http://docs.openstack.org/infra/git-review/")
     (synopsis "Command-line tool for Gerrit")