gnu: python-oslosphinx: Update to 4.10.0.
[jackhill/guix/guix.git] / gnu / packages / openstack.scm
CommitLineData
7c4810a1
CR
1;;; GNU Guix --- Functional package management for GNU
2;;; Copyright © 2015 Cyril Roelandt <tipecaml@gmail.com>
264ae686 3;;; Copyright © 2015, 2016 Efraim Flashner <efraim@flashner.co.il>
d4431993 4;;; Copyright © 2016 Clément Lassieur <clement@lassieur.org>
7c4810a1
CR
5;;;
6;;; This file is part of GNU Guix.
7;;;
8;;; GNU Guix is free software; you can redistribute it and/or modify it
9;;; under the terms of the GNU General Public License as published by
10;;; the Free Software Foundation; either version 3 of the License, or (at
11;;; your option) any later version.
12;;;
13;;; GNU Guix is distributed in the hope that it will be useful, but
14;;; WITHOUT ANY WARRANTY; without even the implied warranty of
15;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16;;; GNU General Public License for more details.
17;;;
18;;; You should have received a copy of the GNU General Public License
19;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
20
21(define-module (gnu packages openstack)
c8d7e063 22 #:use-module (gnu packages gnupg)
7c4810a1 23 #:use-module (gnu packages python)
381000d7 24 #:use-module (gnu packages ssh)
c9e330d0 25 #:use-module (gnu packages tls)
d4431993 26 #:use-module (gnu packages version-control)
7c4810a1
CR
27 #:use-module (guix build-system python)
28 #:use-module (guix download)
29 #:use-module ((guix licenses)
30 #:select (asl2.0))
c9e330d0
EF
31 #:use-module (guix packages)
32 #:use-module (srfi srfi-1))
7c4810a1 33
f5a21dc4
CR
34(define-public python-bandit
35 (package
36 (name "python-bandit")
37 (version "0.13.2")
38 (source
39 (origin
40 (method url-fetch)
41 (uri (string-append
42 "https://pypi.python.org/packages/source/b/bandit/bandit-"
43 version ".tar.gz"))
44 (sha256
45 (base32
46 "03g3cflvrc99ncjd611iy5nnnscsc2vgnrx4mjaqyx8glbfw8y7g"))))
47 (build-system python-build-system)
48 (propagated-inputs
49 `(("python-appdirs" ,python-appdirs)
50 ("python-pyyaml" ,python-pyyaml)
51 ("python-six" ,python-six)
52 ("python-stevedore" ,python-stevedore)))
e7881f3d 53 (native-inputs
f5a21dc4 54 `(("python-pbr" ,python-pbr)
f5a21dc4
CR
55 ;; Tests
56 ("python-fixtures" ,python-fixtures)
57 ("python-mock" ,python-mock)
58 ("python-testrepository" ,python-testrepository)
59 ("python-testscenarios" ,python-testscenarios)
60 ("python-testtools" ,python-testtools)))
61 (home-page "https://wiki.openstack.org/wiki/Security/Projects/Bandit")
66e07664 62 (synopsis "Security oriented static analyser for python code")
f5a21dc4
CR
63 (description
64 "Bandit is a tool designed to find common security issues in Python code.
65To do this Bandit processes each file, builds an AST from it, and runs
66appropriate plugins against the AST nodes. Once Bandit has finished scanning
67all the files it generates a report.")
68 (license asl2.0)))
69
70(define-public python2-bandit
71 (package-with-python2 python-bandit))
72
2713527e
CR
73(define-public python-debtcollector
74 (package
75 (name "python-debtcollector")
56c7ead2 76 (version "1.0.0")
2713527e
CR
77 (source
78 (origin
79 (method url-fetch)
56c7ead2 80 (uri (pypi-uri "debtcollector" version))
2713527e
CR
81 (sha256
82 (base32
56c7ead2 83 "0g4dfskaiy47rhsh4gh66l5vmdsrgq0qk68pl3ix1cj3ffvfndzv"))))
2713527e 84 (build-system python-build-system)
767c7e0e
MB
85 (arguments
86 '(#:tests? #f)) ;FIXME: Requires packaging python-doc8.
2713527e
CR
87 (propagated-inputs
88 `(("python-six" ,python-six)
89 ("python-wrapt" ,python-wrapt)))
e7881f3d 90 (native-inputs
2713527e
CR
91 `(("python-babel" ,python-babel)
92 ("python-pbr" ,python-pbr)
2713527e
CR
93 ;; Tests.
94 ("python-oslotest" ,python-oslotest)))
95 (home-page "http://www.openstack.org/")
96 (synopsis
97 "Find deprecated patterns and strategies in Python code")
98 (description
99 "This package provides a collection of Python deprecation patterns and
100strategies that help you collect your technical debt in a non-destructive
101manner.")
102 (license asl2.0)))
103
104(define-public python2-debtcollector
105 (package-with-python2 python-debtcollector))
106
2ac9ba6a
CR
107(define-public python-hacking
108 (package
109 (name "python-hacking")
110 (version "0.10.2")
111 (source
112 (origin
113 (method url-fetch)
114 (uri (pypi-uri "hacking" version))
115 (sha256
116 (base32
117 "1a310k3dv04jg7zvmk37h2ql7y9kf4hvdxb74bjlwdxgmy6h4wap"))))
118 (build-system python-build-system)
2ff4559b
MB
119 (arguments
120 ;; TODO: Requires unpackaged 'eventlet'.
121 '(#:tests? #f))
2ac9ba6a
CR
122 (propagated-inputs
123 `(("python-flake8-2.2.4" ,python-flake8-2.2.4)
124 ("python-mccabe-0.2.1" ,python-mccabe-0.2.1)
125 ("python-pbr" ,python-pbr)
126 ("python-pep8-1.5.7" ,python-pep8-1.5.7)
127 ("python-pyflakes-0.8.1" ,python-pyflakes-0.8.1)
128 ("python-six" ,python-six)))
e7881f3d 129 (native-inputs
f3b98f4f 130 `(;; Tests
2ac9ba6a
CR
131 ("python-testscenarios" ,python-testscenarios)))
132 (home-page "http://github.com/openstack-dev/hacking")
133 (synopsis "OpenStack hacking guideline enforcement")
134 (description
135 "Python-hacking is a set of flake8 plugins that test and enforce the
136@uref{http://docs.openstack.org/developer/hacking/, OpenStack style
137guidelines}.")
138 (license asl2.0)))
139
140(define-public python2-hacking
141 (package-with-python2 python-hacking))
142
35f1ebeb
CR
143(define-public python-mox3
144 (package
145 (name "python-mox3")
f8f83e9d 146 (version "0.14.0")
35f1ebeb
CR
147 (source
148 (origin
149 (method url-fetch)
d4e817b1 150 (uri (pypi-uri "mox3" version))
35f1ebeb
CR
151 (sha256
152 (base32
f8f83e9d 153 "0njmh40i1lg5mzn9hc2ax83adj6dli455j6xifilrw27c4wlkjzx"))))
35f1ebeb 154 (build-system python-build-system)
ea8907c5 155 (arguments
376c4619 156 ;; TODO: Resolve dependency cycle and re-enable.
ea8907c5 157 '(#:tests? #f))
f8f83e9d 158 (native-inputs
35f1ebeb 159 `(("python-fixtures" ,python-fixtures)
376c4619 160 ; TODO re-add ("python-oslosphinx" ,python-oslosphinx)
35f1ebeb 161 ("python-pbr" ,python-pbr)
ea8907c5 162 ("python-sphinx" ,python-sphinx)
35f1ebeb
CR
163 ("python-testtools" ,python-testtools)))
164 (home-page "http://www.openstack.org/")
165 (synopsis "Mock object framework for Python")
166 (description
167 "Mox3 is an unofficial port of the Google mox framework
f8f83e9d
EF
168(http://code.google.com/p/pymox/) to Python 3. It was meant to be as compatible
169with mox as possible, but small enhancements have been made. The library was
35f1ebeb
CR
170tested on Python version 3.2, 2.7 and 2.6.")
171 (license asl2.0)))
172
f8f83e9d
EF
173(define-public python2-mox3
174 (package-with-python2 python-mox3))
175
1edd421b
CR
176(define-public python-os-client-config
177 (package
178 (name "python-os-client-config")
a5ff52f8 179 (version "1.12.0")
1edd421b
CR
180 (source
181 (origin
182 (method url-fetch)
a5ff52f8 183 (uri (pypi-uri "os-client-config" version))
1edd421b
CR
184 (sha256
185 (base32
a5ff52f8 186 "1vjn7667pswnmpqv6ngwyqm2xn46w90hi5b4pv2grwfz751cn1lf"))))
1edd421b
CR
187 (build-system python-build-system)
188 (arguments
189 `(#:tests? #f)) ;; Circular dependency with python-oslotest
482d9591 190 (propagated-inputs
1edd421b 191 `(("python-appdirs" ,python-appdirs)
482d9591
HG
192 ("python-pyyaml" ,python-pyyaml)))
193 (native-inputs
194 `(("python-pbr" ,python-pbr)
1edd421b
CR
195 ("python-fixtures" ,python-fixtures)
196 ("python-mimeparse" ,python-mimeparse)
1edd421b 197 ("python-testrepository" ,python-testrepository)
1edd421b
CR
198 ("python-testscenarios" ,python-testscenarios)
199 ("python-testtools" ,python-testtools)))
200 (home-page "http://www.openstack.org/")
201 (synopsis
202 "OpenStack Client Configuration Library")
203 (description
204 "The OpenStack Client Configuration Library is a library for collecting
205 client configuration for using an OpenStack cloud in a consistent and
206 comprehensive manner.")
207 (license asl2.0)))
208
209(define-public python2-os-client-config
210 (package-with-python2 python-os-client-config))
211
2931f464
CR
212(define-public python-os-testr
213 (package
214 (name "python-os-testr")
43b53bbb 215 (version "0.8.0")
2931f464
CR
216 (source
217 (origin
218 (method url-fetch)
219 (uri (pypi-uri "os-testr" version))
220 (sha256
221 (base32
43b53bbb 222 "0mknd9hlmxmihr755gjkxyjp180380jajq5i3zm34q7y7bi62lss"))))
2931f464
CR
223 (build-system python-build-system)
224 (arguments
225 ;; os-testr uses itself to run the tests. It seems like pbr writes the
226 ;; exectuable in the virtualenv when using tox. Not sure how to do this
227 ;; when building the package. Skip the tests for now.
228 `(#:tests? #f))
229 (propagated-inputs
e116d100
HG
230 `(("python-subunit" ,python-subunit)))
231 (native-inputs
2931f464 232 `(("python-pbr" ,python-pbr)
e116d100
HG
233 ("python-testtools" ,python-testtools)
234 ("python-babel" ,python-babel)))
43b53bbb 235 (home-page "https://www.openstack.org/")
2931f464
CR
236 (synopsis "Testr wrapper to provide functionality for OpenStack projects")
237 (description
238 "Os-testr provides developers with a testr wrapper and an output filter
239 for subunit.")
240 (license asl2.0)))
241
242(define-public python2-os-testr
243 (package-with-python2 python-os-testr))
244
2c9d9676
CR
245(define-public python-requests-mock
246 (package
247 (name "python-requests-mock")
2010af55 248 (version "1.3.0")
2c9d9676
CR
249 (source
250 (origin
251 (method url-fetch)
bd52842d 252 (uri (pypi-uri "requests-mock" version))
2c9d9676
CR
253 (sha256
254 (base32
2010af55 255 "0jr997dvk6zbmhvbpcv3rajrgag69mcsm1ai3w3rgk2jdh6rg1mx"))))
2c9d9676
CR
256 (build-system python-build-system)
257 (propagated-inputs
d44a6183
EF
258 `(("python-requests" ,python-requests)
259 ("python-six" ,python-six)))
d44a6183 260 (native-inputs
e116d100
HG
261 `(("python-pbr" ,python-pbr)
262 ("python-discover" ,python-discover)
964fc669 263 ("python-docutils" ,python-docutils)
d44a6183
EF
264 ("python-fixtures" ,python-fixtures)
265 ("python-mock" ,python-mock)
266 ("python-sphinx" ,python-sphinx)
267 ("python-testrepository" ,python-testrepository)
268 ("python-testtools" ,python-testtools)))
2c9d9676
CR
269 (home-page "https://requests-mock.readthedocs.org/")
270 (synopsis "Mock out responses from the requests package")
271 (description
272 "This module provides a building block to stub out the HTTP requests
273portions of your testing code.")
5c31f4aa 274 (license asl2.0)))
2c9d9676
CR
275
276(define-public python2-requests-mock
5c31f4aa 277 (package-with-python2 python-requests-mock))
2c9d9676 278
673d1a9d
CR
279(define-public python-stevedore
280 (package
281 (name "python-stevedore")
4b42bd94 282 (version "1.12.0")
673d1a9d
CR
283 (source
284 (origin
285 (method url-fetch)
2d531d4e 286 (uri (pypi-uri "stevedore" version))
673d1a9d
CR
287 (sha256
288 (base32
4b42bd94 289 "0999zvawaapzg6givjhn7vjscdwblcs73wf28wq1wb4g5mbb5phv"))))
673d1a9d
CR
290 (build-system python-build-system)
291 (propagated-inputs
292 `(("python-six" ,python-six)))
4b42bd94 293 (native-inputs
e116d100
HG
294 `(("python-pbr" ,python-pbr)
295 ;; Tests
130f68ec 296 ("python-discover" ,python-discover)
673d1a9d
CR
297 ("python-docutils" ,python-docutils)
298 ("python-mock" ,python-mock)
130f68ec 299 ("python-oslosphinx" ,python-oslosphinx)
673d1a9d 300 ("python-oslotest" ,python-oslotest)
130f68ec
MB
301 ("python-sphinx" ,python-sphinx)
302 ("python-testrepository" ,python-testrepository)))
673d1a9d
CR
303 (home-page "https://github.com/dreamhost/stevedore")
304 (synopsis "Manage dynamic plugins for Python applications")
305 (description
306 "Python makes loading code dynamically easy, allowing you to configure
4b42bd94 307and extend your application by discovering and loading extensions (\"plugins\")
673d1a9d 308at runtime. Many applications implement their own library for doing this,
4b42bd94 309using __import__ or importlib. Stevedore avoids creating yet another extension
673d1a9d
CR
310mechanism by building on top of setuptools entry points. The code for managing
311entry points tends to be repetitive, though, so stevedore provides manager
312classes for implementing common patterns for using dynamically loaded
313extensions.")
314 (license asl2.0)))
315
316(define-public python2-stevedore
317 (package-with-python2 python-stevedore))
318
465b61fc
CR
319(define-public python-tempest-lib
320 (package
321 (name "python-tempest-lib")
f0ad50af 322 (version "1.0.0")
465b61fc
CR
323 (source
324 (origin
325 (method url-fetch)
326 (uri (pypi-uri "tempest-lib" version))
327 (sha256
328 (base32
f0ad50af 329 "1cpp2vwmawpd29hjsklsps181lq2ah91cl412qvpnz228nf9sqn5"))))
465b61fc
CR
330 (build-system python-build-system)
331 (arguments
f959495b
MB
332 `(#:tests? #f ; FIXME: Requires oslo.log >= 1.14.0.
333 #:phases
465b61fc
CR
334 (modify-phases %standard-phases
335 (add-before
336 'check 'pre-check
337 (lambda _
338 (substitute* "tempest_lib/tests/cli/test_execute.py"
339 (("/bin/ls") (which "ls"))))))))
340 (propagated-inputs
341 `(("python-fixtures" ,python-fixtures)
342 ("python-httplib2" ,python-httplib2)
343 ("python-iso8601" ,python-iso8601)
344 ("python-jsonschema" ,python-jsonschema)
345 ("python-oslo.log" ,python-oslo.log)
346 ("python-paramiko" ,python-paramiko)
347 ("python-pbr" ,python-pbr)
348 ("python-six" ,python-six)))
e7881f3d 349 (native-inputs
465b61fc
CR
350 `(("python-babel" ,python-babel)
351 ("python-mock" ,python-mock)
352 ("python-os-testr" ,python-os-testr)
f3b98f4f 353 ("python-oslotest" ,python-oslotest)))
f0ad50af 354 (home-page "https://www.openstack.org/")
465b61fc
CR
355 (synopsis "OpenStack functional testing library")
356 (description
357 "Tempest-lib is a functional testing library for OpenStack. It provides
358common features used in Tempest.")
359 (license asl2.0)))
360
361(define-public python2-tempest-lib
a14600ec 362 (package-with-python2 python-tempest-lib))
465b61fc 363
2053949a 364;; Packages from the Oslo library
ed56af06
CR
365(define-public python-oslo.config
366 (package
367 (name "python-oslo.config")
368 (version "2.4.0")
369 (source
370 (origin
371 (method url-fetch)
372 (uri (string-append
373 "https://pypi.python.org/packages/source/o/oslo.config/oslo.config-"
374 version
375 ".tar.gz"))
376 (sha256
377 (base32
378 "13r778jfb0fhna37c2pd1f2xipnsbd7zli7qhn96acrzymrwj5k1"))))
379 (build-system python-build-system)
d9184f4f
MB
380 (arguments
381 '(#:tests? #f)) ; FIXME: Requires packaging python-argparse.
ed56af06
CR
382 (propagated-inputs
383 `(("python-netaddr" ,python-netaddr)
384 ("python-six" ,python-six)
385 ("python-stevedore" ,python-stevedore)))
e7881f3d 386 (native-inputs
ed56af06 387 `(("python-pbr" ,python-pbr)
ed56af06
CR
388 ;; Tests
389 ("python-oslo.i18n" ,python-oslo.i18n)
390 ("python-mock" ,python-mock)
391 ("python-oslotest" ,python-oslotest)
392 ("python-testscenarios" ,python-testscenarios)))
393 (home-page "https://launchpad.net/oslo")
394 (synopsis "Oslo Configuration API")
395 (description
396 "The Oslo configuration API supports parsing command line arguments and
397.ini style configuration files.")
398 (license asl2.0)))
399
400(define-public python2-oslo.config
401 (package-with-python2 python-oslo.config))
402
c7c7a936
CR
403(define-public python-oslo.context
404 (package
405 (name "python-oslo.context")
e9af5adf 406 (version "1.0.0")
c7c7a936
CR
407 (source
408 (origin
409 (method url-fetch)
e9af5adf 410 (uri (pypi-uri "oslo.context" version))
c7c7a936
CR
411 (sha256
412 (base32
e9af5adf 413 "0kvha0rs9295njyl2z6n6zm5dapi5mrl5zwjm0m6ldqrvccyf8c3"))))
c7c7a936 414 (build-system python-build-system)
f30e5336
MB
415 (arguments
416 '(#:tests? #f)) ; FIXME: Requires python-mock >= 1.2.
e7881f3d 417 (native-inputs
c7c7a936
CR
418 `(("python-babel" ,python-babel)
419 ("python-pbr" ,python-pbr)
c7c7a936 420 ;; Tests.
f30e5336
MB
421 ("python-coverage" ,python-coverage)
422 ("python-hacking" ,python-hacking)
423 ("python-mock" ,python-mock)
424 ("python-os-client-config" ,python-os-client-config)
425 ("python-oslotest" ,python-oslotest)
426 ("python-oslosphinx" ,python-oslosphinx)
427 ("python-sphinx" ,python-sphinx)))
c7c7a936
CR
428 (home-page "http://launchpad.net/oslo")
429 (synopsis "Oslo context library")
430 (description
431 "The Oslo context library has helpers to maintain useful information
432about a request context. The request context is usually populated in the WSGI
433pipeline and used by various modules such as logging.")
434 (license asl2.0)))
435
436(define-public python2-oslo.context
437 (package-with-python2 python-oslo.context))
438
8531b326
CR
439(define-public python-oslo.i18n
440 (package
441 (name "python-oslo.i18n")
5788b4b6 442 (version "3.0.0")
8531b326
CR
443 (source
444 (origin
445 (method url-fetch)
5788b4b6 446 (uri (pypi-uri "oslo.i18n" version))
8531b326
CR
447 (sha256
448 (base32
5788b4b6 449 "0bpb1c20sm8my650gl824nzaip83bfn8hr91s65k5ncmyh8hb6pl"))))
8531b326 450 (build-system python-build-system)
bb56d9a1
MB
451 (arguments
452 '(#:tests? #f)) ; FIXME: Circular dependency on python-oslo.config.
8531b326
CR
453 (propagated-inputs
454 `(("python-babel" ,python-babel)
455 ("python-six" ,python-six)))
e7881f3d 456 (native-inputs
8531b326 457 `(("python-pbr" ,python-pbr)
8531b326
CR
458 ;; Tests
459 ("python-mock" ,python-mock)
460 ("python-mox3" ,python-mox3)
461 ("python-oslotest" ,python-oslotest)
462 ("python-testscenarios" ,python-testscenarios)))
463 (home-page "http://launchpad.net/oslo")
464 (synopsis "Oslo internationalization (i18n) library")
465 (description
466 "The oslo.i18n library contain utilities for working with
467internationalization (i18n) features, especially translation for text strings
468in an application or library.")
469 (license asl2.0)))
470
471(define-public python2-oslo.i18n
472 (package-with-python2 python-oslo.i18n))
473
aee6412a
CR
474(define-public python-oslo.log
475 (package
476 (name "python-oslo.log")
477 (version "1.6.0")
478 (source
479 (origin
480 (method url-fetch)
481 (uri (string-append
482 "https://pypi.python.org/packages/source/o/oslo.log/oslo.log-"
483 version
484 ".tar.gz"))
485 (sha256
486 (base32
487 "1fhy6yvbd565nv4x4i3ppyrlbmz3yy9d0xsvw5nkqsa7g43nmf8z"))))
488 (build-system python-build-system)
73b494a1
MB
489 (arguments
490 '(#:tests? #f)) ; FIXME: Requires oslo.utils >= 3.2.0.
aee6412a
CR
491 (propagated-inputs
492 `(("python-debtcollector" ,python-debtcollector)
493 ("python-oslo.config" ,python-oslo.config)
494 ("python-oslo.context" ,python-oslo.context)
495 ("python-oslo.i18n" ,python-oslo.i18n)
496 ("python-oslo.utils" ,python-oslo.utils)
497 ("python-oslo.serialization" ,python-oslo.serialization)
498 ("python-six" ,python-six)))
e7881f3d 499 (native-inputs
aee6412a
CR
500 `(("python-babel" ,python-babel)
501 ("python-iso8601" ,python-iso8601)
502 ("python-mock" ,python-mock)
503 ("python-oslotest" ,python-oslotest)
f3b98f4f 504 ("python-pbr" ,python-pbr)))
aee6412a
CR
505 (home-page "http://launchpad.net/oslo")
506 (synopsis "Python logging library of the Oslo project")
507 (description
508 "The oslo.log (logging) configuration library provides standardized
509configuration for all OpenStack projects. It also provides custom formatters,
510handlers and support for context specific logging (like resource id’s etc).")
511 (license asl2.0)))
512
513(define-public python2-oslo.log
514 (package-with-python2 python-oslo.log))
515
5702efe3
CR
516(define-public python-oslo.serialization
517 (package
518 (name "python-oslo.serialization")
f66bb273 519 (version "2.2.0")
5702efe3
CR
520 (source
521 (origin
522 (method url-fetch)
278c0efd 523 (uri (pypi-uri "oslo.serialization" version))
5702efe3
CR
524 (sha256
525 (base32
f66bb273 526 "00s03krhf833gs76aw5ns32w9m1i4hx6x6d9g82m0j5wyqk0sci4"))))
5702efe3 527 (build-system python-build-system)
5ae31b54
MB
528 (arguments
529 '(#:tests? #f)) ; FIXME: Requires python-oslo.utils >= 3.2.0.
5702efe3
CR
530 (propagated-inputs
531 `(("python-iso8601" ,python-iso8601)
532 ("python-netaddr" ,python-netaddr)
533 ("python-oslo.utils" ,python-oslo.utils)
534 ("python-simplejson" ,python-simplejson)
535 ("python-six" ,python-six)
536 ("python-pytz" ,python-pytz)))
e7881f3d 537 (native-inputs
5702efe3
CR
538 `(("python-babel" ,python-babel)
539 ("python-pbr" ,python-pbr)
5702efe3
CR
540 ;; Tests.
541 ("python-mock" ,python-mock)
542 ("python-oslo.i18n" ,python-oslo.i18n)
543 ("python-oslotest" ,python-oslotest)))
544 (home-page "http://launchpad.net/oslo")
545 (synopsis "Oslo serialization library")
546 (description
547 "The oslo.serialization library provides support for representing objects
548in transmittable and storable formats, such as JSON and MessagePack.")
549 (license asl2.0)))
550
551(define-public python2-oslo.serialization
552 (package-with-python2 python-oslo.serialization))
553
c8d7e063
DM
554(define-public python-reno
555 (package
556 (name "python-reno")
557 (version "2.0.3")
558 (source
559 (origin
560 (method url-fetch)
561 (uri (pypi-uri "reno" version))
562 (sha256
563 (base32 "1i2wnn5fnm3jm5774pahg000q0lma5i913hml91bbbm2mybphndd"))))
564 (build-system python-build-system)
565 (arguments
566 `(#:phases
567 (modify-phases %standard-phases
568 (add-before 'check 'init-git
569 (lambda _
570 ;; reno expects a git repo
571 (zero? (system* "git" "init")))))))
572 (propagated-inputs
573 `(("python-babel" ,python-babel)
574 ("python-dulwich" ,python-dulwich)
575 ("python-pyyaml" ,python-pyyaml)
576 ("python-six" ,python-six)))
577 (native-inputs
578 `(("python-testtools" ,python-testtools)
579 ("python-pbr" ,python-pbr)
580 ("python-testscenarios" ,python-testscenarios)
581 ("python-testrepository" ,python-testrepository)
582 ("python-mock" ,python-mock)
583 ("python-oslotest" ,python-oslotest)
584 ("gnupg" ,gnupg)
585 ("git" ,git)))
586 (home-page "http://docs.openstack.org/developer/reno/")
587 (synopsis "Release notes manager")
588 (description "Reno is a tool for storing release notes in a git repository
589and building documentation from them.")
590 (license asl2.0)))
591
592(define-public python2-reno
593 (package-with-python2 python-reno))
594
f4c7dc55
CR
595(define-public python-oslosphinx
596 (package
597 (name "python-oslosphinx")
9c4810b4 598 (version "4.10.0")
f4c7dc55
CR
599 (source
600 (origin
601 (method url-fetch)
602 (uri (pypi-uri "oslosphinx" version))
603 (sha256
604 (base32
9c4810b4 605 "09mxqyabi68f3s3arvdhlhq0mn38vf74jbsfcg84151hcj6czhnl"))))
f4c7dc55 606 (build-system python-build-system)
23015b4f
MB
607 ;; FIXME: Incompatible sphinx version.
608 (arguments
609 '(#:tests? #f))
f4c7dc55
CR
610 (propagated-inputs
611 `(("python-requests" ,python-requests)))
e7881f3d 612 (native-inputs
f4c7dc55
CR
613 `(("python-pbr" ,python-pbr)
614 ("python-docutils" ,python-docutils)
615 ("python-hacking" ,python-hacking)
f4c7dc55
CR
616 ("python-sphinx" ,python-sphinx)))
617 (home-page "http://www.openstack.org/")
618 (synopsis "OpenStack sphinx extensions and theme")
619 (description
620 "This package provides themes and extensions for Sphinx documentation
621from the OpenStack project.")
622 (license asl2.0)))
623
624(define-public python2-oslosphinx
8ad4ae20 625 (package-with-python2 python-oslosphinx))
f4c7dc55 626
2053949a
CR
627(define-public python-oslotest
628 (package
629 (name "python-oslotest")
5a4849e1 630 (version "1.10.0")
2053949a
CR
631 (source
632 (origin
633 (method url-fetch)
634 (uri (string-append
635 "https://pypi.python.org/packages/source/o/oslotest/oslotest-"
636 version
637 ".tar.gz"))
638 (sha256
639 (base32
5a4849e1 640 "0l3ny48ddz5xbf0v4r0jv1yhbdzinc2vy0lybhdkmx3xy0b886fs"))))
2053949a
CR
641 (build-system python-build-system)
642 (propagated-inputs
643 `(("python-fixtures" ,python-fixtures)
644 ("python-mock" ,python-mock)
39d3f2ed 645 ("python-mox3" ,python-mox3)
2053949a 646 ("python-six" ,python-six)))
e7881f3d 647 (native-inputs
2053949a 648 `(("python-pbr" ,python-pbr)
2053949a 649 ("python-os-client-config" ,python-os-client-config)
2053949a
CR
650 ("python-subunit" ,python-subunit)
651 ("python-testrepository" ,python-testrepository)
652 ("python-testscenarios" ,python-testscenarios)
653 ("python-testtools" ,python-testtools)))
654 (home-page "http://launchpad.net/oslo")
655 (synopsis "Oslo test framework")
656 (description
657 "The Oslo Test framework provides common fixtures, support for debugging,
658and better support for mocking results.")
659 (license asl2.0)))
660
661(define-public python2-oslotest
662 (package-with-python2 python-oslotest))
27cc9f25
CR
663
664(define-public python-oslo.utils
665 (package
666 (name "python-oslo.utils")
94ce6b49 667 (version "3.0.0")
27cc9f25
CR
668 (source
669 (origin
670 (method url-fetch)
94ce6b49 671 (uri (pypi-uri "oslo.utils" version))
27cc9f25
CR
672 (sha256
673 (base32
94ce6b49 674 "1c4jrbvfs4hs37fics8frqlyhmsv7v92ncv2cpbm0av9x0ic6pnj"))
27cc9f25
CR
675 (snippet
676 '(begin
677 ;; FIXME: setuptools fails to import this file during the test
678 ;; phase.
679 (delete-file "oslo_utils/tests/test_netutils.py")))))
680 (build-system python-build-system)
ad59ebda
MB
681 (arguments
682 '(#:tests? #f)) ; FIXME: Requires oslo.config >= 2.7.0.
27cc9f25
CR
683 (propagated-inputs
684 `(("python-debtcollector" ,python-debtcollector)
685 ("python-oslo.i18n" ,python-oslo.i18n)
686 ("python-iso8601" ,python-iso8601)
687 ("python-monotonic" ,python-monotonic)
688 ("python-netaddr" ,python-netaddr)
689 ("python-netifaces" ,python-netifaces)
690 ("python-pytz" ,python-pytz)
691 ("python-six" ,python-six)))
e7881f3d 692 (native-inputs
27cc9f25
CR
693 `(("python-babel" ,python-babel)
694 ("python-pbr" ,python-pbr)
27cc9f25 695 ;; Tests.
ad59ebda
MB
696 ("python-bandit" ,python-bandit)
697 ("python-oslo.config" ,python-oslo.config)
27cc9f25
CR
698 ("python-oslotest" ,python-oslotest)
699 ("python-mock" ,python-mock)
700 ("python-mox3" ,python-mox3)
701 ("python-testscenarios" ,python-testscenarios)))
702 (home-page "http://launchpad.net/oslo")
703 (synopsis "Oslo utility library")
704 (description
705 "The @code{oslo.utils} library provides support for common utility type
706functions, such as encoding, exception handling, string manipulation, and time
707handling.")
708 (license asl2.0)))
709
710(define-public python2-oslo.utils
711 (package-with-python2 python-oslo.utils))
c9e330d0
EF
712
713(define-public python-keystoneclient
714 (package
715 (name "python-keystoneclient")
716 (version "1.8.1")
717 (source
718 (origin
719 (method url-fetch)
720 (uri (pypi-uri "python-keystoneclient" version))
721 (sha256
722 (base32
723 "1w4csvkah67rfpxylxnvs2s3594i0f9isy8pf4gnsqs5zirvjaa4"))))
724 (build-system python-build-system)
bfba0836
MB
725 (arguments
726 '(#:tests? #f)) ; FIXME: Many tests are failing.
c9e330d0 727 (native-inputs
f3b98f4f 728 `(("python-sphinx" ,python-sphinx)
c9e330d0
EF
729 ;; and some packages for the tests
730 ("openssl" ,openssl)
731 ("python-coverage" ,python-coverage)
732 ("python-discover" ,python-discover)
733 ("python-fixtures" ,python-fixtures)
734 ("python-hacking" ,python-hacking)
735 ("python-keyring" ,python-keyring)
736 ("python-lxml" ,python-lxml)
737 ("python-mock" ,python-mock)
738 ("python-mox3" ,python-mox3)
739 ("python-oauthlib" ,python-oauthlib)
740 ("python-oslosphinx" ,python-oslosphinx)
741 ("python-oslotest" ,python-oslotest)
742 ("python-pycrypto" ,python-pycrypto)
743 ("python-requests-mock" ,python-requests-mock)
744 ("python-temptest-lib" ,python-tempest-lib)
745 ("python-testrepository" ,python-testrepository)
746 ("python-testresources" ,python-testresources)
747 ("python-testtools" ,python-testtools)
748 ("python-webob" ,python-webob)))
749 (propagated-inputs
750 `(("python-babel" ,python-babel)
751 ("python-debtcollector" ,python-debtcollector)
752 ("python-iso8601" ,python-iso8601)
753 ("python-netaddr" ,python-netaddr)
754 ("python-oslo.config" ,python-oslo.config)
755 ("python-oslo.i18n" ,python-oslo.i18n)
756 ("python-oslo.serialization" ,python-oslo.serialization)
757 ("python-oslo.utils" ,python-oslo.utils)
758 ("python-pbr" ,python-pbr)
759 ("python-prettytable" ,python-prettytable)
760 ("python-requests" ,python-requests)
761 ("python-six" ,python-six)
762 ("python-stevedore" ,python-stevedore)))
763 (home-page "http://www.openstack.org/")
764 (synopsis "Client Library for OpenStack Identity")
765 (description
766 "Python-keystoneclient is the identity service used by OpenStack for
767authentication (authN) and high-level authorization (authZ). It currently
768supports token-based authN with user/service authZ, and is scalable to support
769OAuth, SAML, and OpenID in future versions. Out of the box, Keystone uses
770SQLite for its identity store database, with the option to connect to external
771LDAP.")
772 (license asl2.0)))
773
774(define-public python2-keystoneclient
775 (let ((keystoneclient (package-with-python2 python-keystoneclient)))
776 (package (inherit keystoneclient)
264ae686
EF
777 (propagated-inputs
778 `(("python2-requests" ,python2-requests)
779 ,@(alist-delete "python-requests"
780 (package-propagated-inputs keystoneclient))))
c9e330d0
EF
781 (native-inputs
782 `(("python2-oauthlib" ,python2-oauthlib)
264ae686
EF
783 ("python2-oslosphinx" ,python2-oslosphinx)
784 ("python2-requests-mock" ,python2-requests-mock)
785 ("python2-tempest-lib" ,python2-tempest-lib)
786 ,@(fold alist-delete (package-native-inputs keystoneclient)
787 '("python-oauthlib" "python-oslosphinx" "python-requests-mock" "python-tempest-lib")))))))
8f0cc2ff
EF
788
789(define-public python-swiftclient
790 (package
791 (name "python-swiftclient")
792 (version "2.6.0")
793 (source
794 (origin
795 (method url-fetch)
796 (uri (pypi-uri "python-swiftclient" version))
797 (sha256
798 (base32
799 "1j33l4z9vqh0scfncl4fxg01zr1hgqxhhai6gvcih1gccqm4nd7p"))))
800 (build-system python-build-system)
801 (native-inputs
b3546174 802 `(("python-pbr" ,python-pbr)
8f0cc2ff
EF
803 ("python-sphinx" ,python-sphinx)
804 ;; The folloing packages are needed for the tests.
805 ("python-coverage" ,python-coverage)
806 ("python-discover" ,python-discover)
807 ("python-hacking" ,python-hacking)
808 ("python-mock" ,python-mock)
809 ("python-oslosphinx" ,python-oslosphinx)
810 ("python-keystoneclient" ,python-keystoneclient)
811 ("python-testrepository" ,python-testrepository)
812 ("python-testtools" ,python-testtools)))
813 (propagated-inputs
814 `(("python-requests" ,python-requests)
815 ("python-six" ,python-six)))
816 (home-page "http://www.openstack.org/")
817 (synopsis "OpenStack Object Storage API Client Library")
818 (description
819 "OpenStack Object Storage (code-named Swift) creates redundant, scalable
820object storage using clusters of standardized servers to store petabytes of
821accessible data. It is not a file system or real-time data storage system, but
822rather a long-term storage system for a more permanent type of static data that
823can be retrieved, leveraged, and then updated if necessary. Primary examples of
824data that best fit this type of storage model are virtual machine images, photo
825storage, email storage and backup archiving. Having no central \"brain\" or
826master point of control provides greater scalability, redundancy and
827permanence.")
828 (license asl2.0)))
829
830(define-public python2-swiftclient
831 (let ((swiftclient (package-with-python2 python-swiftclient)))
832 (package (inherit swiftclient)
833 (propagated-inputs
834 `(("python2-futures" ,python2-futures)
264ae686
EF
835 ("python2-requests" ,python2-requests)
836 ,@(alist-delete "python-requests"
837 (package-propagated-inputs swiftclient))))
8f0cc2ff
EF
838 (native-inputs
839 `(("python2-keystoneclient" ,python2-keystoneclient)
264ae686
EF
840 ("python2-oslosphinx" ,python2-oslosphinx)
841 ,@(fold alist-delete (package-native-inputs swiftclient)
842 '("python-keystoneclient" "python-oslosphinx")))))))
d4431993
CL
843
844(define-public python-git-review
845 (package
846 (name "python-git-review")
847 (version "1.25.0")
848 (source
849 (origin
850 (method url-fetch)
851 (uri (pypi-uri "git-review" version))
852 (sha256
853 (base32
854 "07d1jn9ryff5j5ic6qj5pbk10m1ccmpllj0wyalrcms1q9yhlzh8"))))
855 (build-system python-build-system)
381000d7
CL
856 (arguments
857 '(#:tests? #f ; tests require a running Gerrit server
858 #:phases
859 (modify-phases %standard-phases
860 (add-after 'install 'wrap-program
861 (lambda* (#:key inputs outputs #:allow-other-keys)
862 (let* ((out (assoc-ref outputs "out"))
863 (git (assoc-ref inputs "git"))
864 (openssh (assoc-ref inputs "openssh")))
865 (wrap-program (string-append out "/bin/git-review")
866 `("PATH" ":" prefix
867 ,(map (lambda (dir)
868 (string-append dir "/bin"))
869 (list git openssh))))))))))
d4431993
CL
870 (native-inputs
871 `(("python-pbr" ,python-pbr)))
482d9591
HG
872 (propagated-inputs
873 `(("python-requests" ,python-requests)))
d4431993 874 (inputs
482d9591 875 `(("git" ,git)
381000d7 876 ("openssh" ,openssh)))
d4431993
CL
877 (home-page "http://docs.openstack.org/infra/git-review/")
878 (synopsis "Command-line tool for Gerrit")
879 (description
880 "Git-review is a command-line tool that helps submitting Git branches to
881Gerrit for review, or fetching existing ones.")
882 (license asl2.0)))
883
884(define-public python2-git-review
5c31f4aa 885 (package-with-python2 python-git-review))