gnu: r-go-db: Update to 3.5.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)
ac257f12 22 #:use-module (gnu packages check)
c8d7e063 23 #:use-module (gnu packages gnupg)
7c4810a1 24 #:use-module (gnu packages python)
cc6f4912 25 #:use-module (gnu packages python-crypto)
1b2f753d 26 #:use-module (gnu packages python-web)
381000d7 27 #:use-module (gnu packages ssh)
c9e330d0 28 #:use-module (gnu packages tls)
d4431993 29 #:use-module (gnu packages version-control)
7c4810a1
CR
30 #:use-module (guix build-system python)
31 #:use-module (guix download)
32 #:use-module ((guix licenses)
33 #:select (asl2.0))
c9e330d0
EF
34 #:use-module (guix packages)
35 #:use-module (srfi srfi-1))
7c4810a1 36
f5a21dc4
CR
37(define-public python-bandit
38 (package
39 (name "python-bandit")
40 (version "0.13.2")
41 (source
42 (origin
43 (method url-fetch)
44 (uri (string-append
45 "https://pypi.python.org/packages/source/b/bandit/bandit-"
46 version ".tar.gz"))
47 (sha256
48 (base32
49 "03g3cflvrc99ncjd611iy5nnnscsc2vgnrx4mjaqyx8glbfw8y7g"))))
50 (build-system python-build-system)
51 (propagated-inputs
52 `(("python-appdirs" ,python-appdirs)
53 ("python-pyyaml" ,python-pyyaml)
54 ("python-six" ,python-six)
55 ("python-stevedore" ,python-stevedore)))
e7881f3d 56 (native-inputs
f5a21dc4 57 `(("python-pbr" ,python-pbr)
f5a21dc4
CR
58 ;; Tests
59 ("python-fixtures" ,python-fixtures)
60 ("python-mock" ,python-mock)
61 ("python-testrepository" ,python-testrepository)
62 ("python-testscenarios" ,python-testscenarios)
63 ("python-testtools" ,python-testtools)))
64 (home-page "https://wiki.openstack.org/wiki/Security/Projects/Bandit")
66e07664 65 (synopsis "Security oriented static analyser for python code")
f5a21dc4
CR
66 (description
67 "Bandit is a tool designed to find common security issues in Python code.
68To do this Bandit processes each file, builds an AST from it, and runs
69appropriate plugins against the AST nodes. Once Bandit has finished scanning
70all the files it generates a report.")
041b5932 71 (properties `((python2-variant . ,(delay python2-bandit))))
f5a21dc4
CR
72 (license asl2.0)))
73
74(define-public python2-bandit
041b5932
MB
75 (package (inherit (package-with-python2
76 (strip-python2-variant python-bandit)))
77 (arguments
78 `(#:python ,python-2
79 ;; FIXME: 'subunit.run discover: error: no such option: --list'
80 #:tests? #f))))
f5a21dc4 81
2713527e
CR
82(define-public python-debtcollector
83 (package
84 (name "python-debtcollector")
56c7ead2 85 (version "1.0.0")
2713527e
CR
86 (source
87 (origin
88 (method url-fetch)
56c7ead2 89 (uri (pypi-uri "debtcollector" version))
2713527e
CR
90 (sha256
91 (base32
56c7ead2 92 "0g4dfskaiy47rhsh4gh66l5vmdsrgq0qk68pl3ix1cj3ffvfndzv"))))
2713527e 93 (build-system python-build-system)
767c7e0e
MB
94 (arguments
95 '(#:tests? #f)) ;FIXME: Requires packaging python-doc8.
2713527e
CR
96 (propagated-inputs
97 `(("python-six" ,python-six)
98 ("python-wrapt" ,python-wrapt)))
e7881f3d 99 (native-inputs
2713527e
CR
100 `(("python-babel" ,python-babel)
101 ("python-pbr" ,python-pbr)
2713527e
CR
102 ;; Tests.
103 ("python-oslotest" ,python-oslotest)))
104 (home-page "http://www.openstack.org/")
105 (synopsis
106 "Find deprecated patterns and strategies in Python code")
107 (description
108 "This package provides a collection of Python deprecation patterns and
109strategies that help you collect your technical debt in a non-destructive
110manner.")
111 (license asl2.0)))
112
113(define-public python2-debtcollector
114 (package-with-python2 python-debtcollector))
115
2ac9ba6a
CR
116(define-public python-hacking
117 (package
118 (name "python-hacking")
3b664389 119 (version "0.13.0")
2ac9ba6a
CR
120 (source
121 (origin
122 (method url-fetch)
123 (uri (pypi-uri "hacking" version))
124 (sha256
125 (base32
3b664389 126 "1s1wq2sds6fjp8rwz31vkp33kjl9nyk5y2g2pri8shic75dr00h4"))))
2ac9ba6a
CR
127 (build-system python-build-system)
128 (propagated-inputs
3b664389
TGR
129 `(("python-flake8" ,python-flake8)
130 ("python-mccabe-0.2.1" ,python-mccabe-0.2.1)
131 ("python-pbr" ,python-pbr)
132 ("python-pep8-1.5.7" ,python-pep8-1.5.7)
133 ("python-pyflakes-0.8.1" ,python-pyflakes-0.8.1)
134 ("python-six" ,python-six)))
e7881f3d 135 (native-inputs
3b664389
TGR
136 `( ;; Tests
137 ("python-eventlet" ,python-eventlet)
138 ("python-mock" ,python-mock)
139 ("python-reno" ,python-reno)
140 ("python-testrepository" ,python-testrepository)
141 ("python-testscenarios" ,python-testscenarios)))
7bf837fd 142 (home-page "https://github.com/openstack-dev/hacking")
2ac9ba6a
CR
143 (synopsis "OpenStack hacking guideline enforcement")
144 (description
3b664389 145 "Python-hacking is a set of flake8 plugins that test and enforce the
2ac9ba6a
CR
146@uref{http://docs.openstack.org/developer/hacking/, OpenStack style
147guidelines}.")
148 (license asl2.0)))
149
150(define-public python2-hacking
151 (package-with-python2 python-hacking))
152
35f1ebeb
CR
153(define-public python-mox3
154 (package
155 (name "python-mox3")
f8f83e9d 156 (version "0.14.0")
35f1ebeb
CR
157 (source
158 (origin
159 (method url-fetch)
d4e817b1 160 (uri (pypi-uri "mox3" version))
35f1ebeb
CR
161 (sha256
162 (base32
f8f83e9d 163 "0njmh40i1lg5mzn9hc2ax83adj6dli455j6xifilrw27c4wlkjzx"))))
35f1ebeb 164 (build-system python-build-system)
ea8907c5 165 (arguments
376c4619 166 ;; TODO: Resolve dependency cycle and re-enable.
ea8907c5 167 '(#:tests? #f))
f8f83e9d 168 (native-inputs
35f1ebeb 169 `(("python-fixtures" ,python-fixtures)
376c4619 170 ; TODO re-add ("python-oslosphinx" ,python-oslosphinx)
35f1ebeb 171 ("python-pbr" ,python-pbr)
ea8907c5 172 ("python-sphinx" ,python-sphinx)
35f1ebeb
CR
173 ("python-testtools" ,python-testtools)))
174 (home-page "http://www.openstack.org/")
175 (synopsis "Mock object framework for Python")
176 (description
177 "Mox3 is an unofficial port of the Google mox framework
f8f83e9d
EF
178(http://code.google.com/p/pymox/) to Python 3. It was meant to be as compatible
179with mox as possible, but small enhancements have been made. The library was
35f1ebeb
CR
180tested on Python version 3.2, 2.7 and 2.6.")
181 (license asl2.0)))
182
f8f83e9d
EF
183(define-public python2-mox3
184 (package-with-python2 python-mox3))
185
1edd421b
CR
186(define-public python-os-client-config
187 (package
188 (name "python-os-client-config")
a5ff52f8 189 (version "1.12.0")
1edd421b
CR
190 (source
191 (origin
192 (method url-fetch)
a5ff52f8 193 (uri (pypi-uri "os-client-config" version))
1edd421b
CR
194 (sha256
195 (base32
a5ff52f8 196 "1vjn7667pswnmpqv6ngwyqm2xn46w90hi5b4pv2grwfz751cn1lf"))))
1edd421b
CR
197 (build-system python-build-system)
198 (arguments
199 `(#:tests? #f)) ;; Circular dependency with python-oslotest
482d9591 200 (propagated-inputs
1edd421b 201 `(("python-appdirs" ,python-appdirs)
482d9591
HG
202 ("python-pyyaml" ,python-pyyaml)))
203 (native-inputs
204 `(("python-pbr" ,python-pbr)
1edd421b
CR
205 ("python-fixtures" ,python-fixtures)
206 ("python-mimeparse" ,python-mimeparse)
1edd421b 207 ("python-testrepository" ,python-testrepository)
1edd421b
CR
208 ("python-testscenarios" ,python-testscenarios)
209 ("python-testtools" ,python-testtools)))
210 (home-page "http://www.openstack.org/")
211 (synopsis
212 "OpenStack Client Configuration Library")
213 (description
214 "The OpenStack Client Configuration Library is a library for collecting
215 client configuration for using an OpenStack cloud in a consistent and
216 comprehensive manner.")
217 (license asl2.0)))
218
219(define-public python2-os-client-config
220 (package-with-python2 python-os-client-config))
221
2931f464
CR
222(define-public python-os-testr
223 (package
224 (name "python-os-testr")
43b53bbb 225 (version "0.8.0")
2931f464
CR
226 (source
227 (origin
228 (method url-fetch)
229 (uri (pypi-uri "os-testr" version))
230 (sha256
231 (base32
43b53bbb 232 "0mknd9hlmxmihr755gjkxyjp180380jajq5i3zm34q7y7bi62lss"))))
2931f464
CR
233 (build-system python-build-system)
234 (arguments
235 ;; os-testr uses itself to run the tests. It seems like pbr writes the
236 ;; exectuable in the virtualenv when using tox. Not sure how to do this
237 ;; when building the package. Skip the tests for now.
238 `(#:tests? #f))
239 (propagated-inputs
e116d100
HG
240 `(("python-subunit" ,python-subunit)))
241 (native-inputs
2931f464 242 `(("python-pbr" ,python-pbr)
e116d100
HG
243 ("python-testtools" ,python-testtools)
244 ("python-babel" ,python-babel)))
43b53bbb 245 (home-page "https://www.openstack.org/")
2931f464
CR
246 (synopsis "Testr wrapper to provide functionality for OpenStack projects")
247 (description
248 "Os-testr provides developers with a testr wrapper and an output filter
249 for subunit.")
250 (license asl2.0)))
251
252(define-public python2-os-testr
253 (package-with-python2 python-os-testr))
254
673d1a9d
CR
255(define-public python-stevedore
256 (package
257 (name "python-stevedore")
4b42bd94 258 (version "1.12.0")
673d1a9d
CR
259 (source
260 (origin
261 (method url-fetch)
2d531d4e 262 (uri (pypi-uri "stevedore" version))
673d1a9d
CR
263 (sha256
264 (base32
4b42bd94 265 "0999zvawaapzg6givjhn7vjscdwblcs73wf28wq1wb4g5mbb5phv"))))
673d1a9d
CR
266 (build-system python-build-system)
267 (propagated-inputs
268 `(("python-six" ,python-six)))
4b42bd94 269 (native-inputs
e116d100
HG
270 `(("python-pbr" ,python-pbr)
271 ;; Tests
130f68ec 272 ("python-discover" ,python-discover)
673d1a9d
CR
273 ("python-docutils" ,python-docutils)
274 ("python-mock" ,python-mock)
130f68ec 275 ("python-oslosphinx" ,python-oslosphinx)
673d1a9d 276 ("python-oslotest" ,python-oslotest)
130f68ec
MB
277 ("python-sphinx" ,python-sphinx)
278 ("python-testrepository" ,python-testrepository)))
673d1a9d
CR
279 (home-page "https://github.com/dreamhost/stevedore")
280 (synopsis "Manage dynamic plugins for Python applications")
281 (description
282 "Python makes loading code dynamically easy, allowing you to configure
4b42bd94 283and extend your application by discovering and loading extensions (\"plugins\")
673d1a9d 284at runtime. Many applications implement their own library for doing this,
4b42bd94 285using __import__ or importlib. Stevedore avoids creating yet another extension
673d1a9d
CR
286mechanism by building on top of setuptools entry points. The code for managing
287entry points tends to be repetitive, though, so stevedore provides manager
288classes for implementing common patterns for using dynamically loaded
289extensions.")
11a8767b 290 (properties `((python2-variant . ,(delay python2-stevedore))))
673d1a9d
CR
291 (license asl2.0)))
292
293(define-public python2-stevedore
11a8767b
MB
294 (package (inherit (package-with-python2
295 (strip-python2-variant python-stevedore)))
296 (arguments
297 `(#:python ,python-2
298 ;; FIXME: 'subunit.run discover: error: no such option: --list'
299 #:tests? #f))))
673d1a9d 300
465b61fc
CR
301(define-public python-tempest-lib
302 (package
303 (name "python-tempest-lib")
f0ad50af 304 (version "1.0.0")
465b61fc
CR
305 (source
306 (origin
307 (method url-fetch)
308 (uri (pypi-uri "tempest-lib" version))
309 (sha256
310 (base32
f0ad50af 311 "1cpp2vwmawpd29hjsklsps181lq2ah91cl412qvpnz228nf9sqn5"))))
465b61fc
CR
312 (build-system python-build-system)
313 (arguments
f959495b
MB
314 `(#:tests? #f ; FIXME: Requires oslo.log >= 1.14.0.
315 #:phases
465b61fc
CR
316 (modify-phases %standard-phases
317 (add-before
318 'check 'pre-check
319 (lambda _
320 (substitute* "tempest_lib/tests/cli/test_execute.py"
321 (("/bin/ls") (which "ls"))))))))
322 (propagated-inputs
323 `(("python-fixtures" ,python-fixtures)
324 ("python-httplib2" ,python-httplib2)
325 ("python-iso8601" ,python-iso8601)
326 ("python-jsonschema" ,python-jsonschema)
327 ("python-oslo.log" ,python-oslo.log)
328 ("python-paramiko" ,python-paramiko)
329 ("python-pbr" ,python-pbr)
330 ("python-six" ,python-six)))
e7881f3d 331 (native-inputs
465b61fc
CR
332 `(("python-babel" ,python-babel)
333 ("python-mock" ,python-mock)
334 ("python-os-testr" ,python-os-testr)
f3b98f4f 335 ("python-oslotest" ,python-oslotest)))
f0ad50af 336 (home-page "https://www.openstack.org/")
465b61fc
CR
337 (synopsis "OpenStack functional testing library")
338 (description
339 "Tempest-lib is a functional testing library for OpenStack. It provides
340common features used in Tempest.")
341 (license asl2.0)))
342
343(define-public python2-tempest-lib
a14600ec 344 (package-with-python2 python-tempest-lib))
465b61fc 345
2053949a 346;; Packages from the Oslo library
ed56af06
CR
347(define-public python-oslo.config
348 (package
349 (name "python-oslo.config")
350 (version "2.4.0")
351 (source
352 (origin
353 (method url-fetch)
354 (uri (string-append
355 "https://pypi.python.org/packages/source/o/oslo.config/oslo.config-"
356 version
357 ".tar.gz"))
358 (sha256
359 (base32
360 "13r778jfb0fhna37c2pd1f2xipnsbd7zli7qhn96acrzymrwj5k1"))))
361 (build-system python-build-system)
d9184f4f
MB
362 (arguments
363 '(#:tests? #f)) ; FIXME: Requires packaging python-argparse.
ed56af06
CR
364 (propagated-inputs
365 `(("python-netaddr" ,python-netaddr)
366 ("python-six" ,python-six)
367 ("python-stevedore" ,python-stevedore)))
e7881f3d 368 (native-inputs
ed56af06 369 `(("python-pbr" ,python-pbr)
ed56af06
CR
370 ;; Tests
371 ("python-oslo.i18n" ,python-oslo.i18n)
372 ("python-mock" ,python-mock)
373 ("python-oslotest" ,python-oslotest)
374 ("python-testscenarios" ,python-testscenarios)))
375 (home-page "https://launchpad.net/oslo")
376 (synopsis "Oslo Configuration API")
377 (description
378 "The Oslo configuration API supports parsing command line arguments and
379.ini style configuration files.")
380 (license asl2.0)))
381
382(define-public python2-oslo.config
383 (package-with-python2 python-oslo.config))
384
c7c7a936
CR
385(define-public python-oslo.context
386 (package
387 (name "python-oslo.context")
e9af5adf 388 (version "1.0.0")
c7c7a936
CR
389 (source
390 (origin
391 (method url-fetch)
e9af5adf 392 (uri (pypi-uri "oslo.context" version))
c7c7a936
CR
393 (sha256
394 (base32
e9af5adf 395 "0kvha0rs9295njyl2z6n6zm5dapi5mrl5zwjm0m6ldqrvccyf8c3"))))
c7c7a936 396 (build-system python-build-system)
f30e5336
MB
397 (arguments
398 '(#:tests? #f)) ; FIXME: Requires python-mock >= 1.2.
e7881f3d 399 (native-inputs
c7c7a936
CR
400 `(("python-babel" ,python-babel)
401 ("python-pbr" ,python-pbr)
c7c7a936 402 ;; Tests.
f30e5336
MB
403 ("python-coverage" ,python-coverage)
404 ("python-hacking" ,python-hacking)
405 ("python-mock" ,python-mock)
406 ("python-os-client-config" ,python-os-client-config)
407 ("python-oslotest" ,python-oslotest)
408 ("python-oslosphinx" ,python-oslosphinx)
409 ("python-sphinx" ,python-sphinx)))
c7c7a936
CR
410 (home-page "http://launchpad.net/oslo")
411 (synopsis "Oslo context library")
412 (description
413 "The Oslo context library has helpers to maintain useful information
414about a request context. The request context is usually populated in the WSGI
415pipeline and used by various modules such as logging.")
416 (license asl2.0)))
417
418(define-public python2-oslo.context
419 (package-with-python2 python-oslo.context))
420
8531b326
CR
421(define-public python-oslo.i18n
422 (package
423 (name "python-oslo.i18n")
5788b4b6 424 (version "3.0.0")
8531b326
CR
425 (source
426 (origin
427 (method url-fetch)
5788b4b6 428 (uri (pypi-uri "oslo.i18n" version))
8531b326
CR
429 (sha256
430 (base32
5788b4b6 431 "0bpb1c20sm8my650gl824nzaip83bfn8hr91s65k5ncmyh8hb6pl"))))
8531b326 432 (build-system python-build-system)
bb56d9a1
MB
433 (arguments
434 '(#:tests? #f)) ; FIXME: Circular dependency on python-oslo.config.
8531b326
CR
435 (propagated-inputs
436 `(("python-babel" ,python-babel)
437 ("python-six" ,python-six)))
e7881f3d 438 (native-inputs
8531b326 439 `(("python-pbr" ,python-pbr)
8531b326
CR
440 ;; Tests
441 ("python-mock" ,python-mock)
442 ("python-mox3" ,python-mox3)
443 ("python-oslotest" ,python-oslotest)
444 ("python-testscenarios" ,python-testscenarios)))
445 (home-page "http://launchpad.net/oslo")
446 (synopsis "Oslo internationalization (i18n) library")
447 (description
448 "The oslo.i18n library contain utilities for working with
449internationalization (i18n) features, especially translation for text strings
450in an application or library.")
451 (license asl2.0)))
452
453(define-public python2-oslo.i18n
454 (package-with-python2 python-oslo.i18n))
455
aee6412a
CR
456(define-public python-oslo.log
457 (package
458 (name "python-oslo.log")
459 (version "1.6.0")
460 (source
461 (origin
462 (method url-fetch)
463 (uri (string-append
464 "https://pypi.python.org/packages/source/o/oslo.log/oslo.log-"
465 version
466 ".tar.gz"))
467 (sha256
468 (base32
469 "1fhy6yvbd565nv4x4i3ppyrlbmz3yy9d0xsvw5nkqsa7g43nmf8z"))))
470 (build-system python-build-system)
73b494a1
MB
471 (arguments
472 '(#:tests? #f)) ; FIXME: Requires oslo.utils >= 3.2.0.
aee6412a
CR
473 (propagated-inputs
474 `(("python-debtcollector" ,python-debtcollector)
475 ("python-oslo.config" ,python-oslo.config)
476 ("python-oslo.context" ,python-oslo.context)
477 ("python-oslo.i18n" ,python-oslo.i18n)
478 ("python-oslo.utils" ,python-oslo.utils)
479 ("python-oslo.serialization" ,python-oslo.serialization)
480 ("python-six" ,python-six)))
e7881f3d 481 (native-inputs
aee6412a
CR
482 `(("python-babel" ,python-babel)
483 ("python-iso8601" ,python-iso8601)
484 ("python-mock" ,python-mock)
485 ("python-oslotest" ,python-oslotest)
f3b98f4f 486 ("python-pbr" ,python-pbr)))
aee6412a
CR
487 (home-page "http://launchpad.net/oslo")
488 (synopsis "Python logging library of the Oslo project")
489 (description
490 "The oslo.log (logging) configuration library provides standardized
491configuration for all OpenStack projects. It also provides custom formatters,
492handlers and support for context specific logging (like resource id’s etc).")
493 (license asl2.0)))
494
495(define-public python2-oslo.log
496 (package-with-python2 python-oslo.log))
497
5702efe3
CR
498(define-public python-oslo.serialization
499 (package
500 (name "python-oslo.serialization")
f66bb273 501 (version "2.2.0")
5702efe3
CR
502 (source
503 (origin
504 (method url-fetch)
278c0efd 505 (uri (pypi-uri "oslo.serialization" version))
5702efe3
CR
506 (sha256
507 (base32
f66bb273 508 "00s03krhf833gs76aw5ns32w9m1i4hx6x6d9g82m0j5wyqk0sci4"))))
5702efe3 509 (build-system python-build-system)
5ae31b54
MB
510 (arguments
511 '(#:tests? #f)) ; FIXME: Requires python-oslo.utils >= 3.2.0.
5702efe3
CR
512 (propagated-inputs
513 `(("python-iso8601" ,python-iso8601)
514 ("python-netaddr" ,python-netaddr)
515 ("python-oslo.utils" ,python-oslo.utils)
516 ("python-simplejson" ,python-simplejson)
517 ("python-six" ,python-six)
518 ("python-pytz" ,python-pytz)))
e7881f3d 519 (native-inputs
5702efe3
CR
520 `(("python-babel" ,python-babel)
521 ("python-pbr" ,python-pbr)
5702efe3
CR
522 ;; Tests.
523 ("python-mock" ,python-mock)
524 ("python-oslo.i18n" ,python-oslo.i18n)
525 ("python-oslotest" ,python-oslotest)))
526 (home-page "http://launchpad.net/oslo")
527 (synopsis "Oslo serialization library")
528 (description
529 "The oslo.serialization library provides support for representing objects
530in transmittable and storable formats, such as JSON and MessagePack.")
531 (license asl2.0)))
532
533(define-public python2-oslo.serialization
534 (package-with-python2 python-oslo.serialization))
535
c8d7e063
DM
536(define-public python-reno
537 (package
538 (name "python-reno")
539 (version "2.0.3")
540 (source
541 (origin
542 (method url-fetch)
543 (uri (pypi-uri "reno" version))
544 (sha256
545 (base32 "1i2wnn5fnm3jm5774pahg000q0lma5i913hml91bbbm2mybphndd"))))
546 (build-system python-build-system)
547 (arguments
548 `(#:phases
549 (modify-phases %standard-phases
550 (add-before 'check 'init-git
551 (lambda _
552 ;; reno expects a git repo
553 (zero? (system* "git" "init")))))))
554 (propagated-inputs
555 `(("python-babel" ,python-babel)
556 ("python-dulwich" ,python-dulwich)
557 ("python-pyyaml" ,python-pyyaml)
558 ("python-six" ,python-six)))
559 (native-inputs
560 `(("python-testtools" ,python-testtools)
561 ("python-pbr" ,python-pbr)
562 ("python-testscenarios" ,python-testscenarios)
563 ("python-testrepository" ,python-testrepository)
564 ("python-mock" ,python-mock)
565 ("python-oslotest" ,python-oslotest)
566 ("gnupg" ,gnupg)
567 ("git" ,git)))
568 (home-page "http://docs.openstack.org/developer/reno/")
569 (synopsis "Release notes manager")
570 (description "Reno is a tool for storing release notes in a git repository
571and building documentation from them.")
d6caebc4 572 (properties `((python2-variant . ,(delay python2-reno))))
c8d7e063
DM
573 (license asl2.0)))
574
575(define-public python2-reno
d6caebc4
MB
576 (package (inherit (package-with-python2
577 (strip-python2-variant python-reno)))
578 (arguments
579 `(#:python ,python-2
580 ;; FIXME: 'subunit.run discover: error: no such option: --list'
581 #:tests? #f))))
c8d7e063 582
f4c7dc55
CR
583(define-public python-oslosphinx
584 (package
585 (name "python-oslosphinx")
9c4810b4 586 (version "4.10.0")
f4c7dc55
CR
587 (source
588 (origin
589 (method url-fetch)
590 (uri (pypi-uri "oslosphinx" version))
591 (sha256
592 (base32
9c4810b4 593 "09mxqyabi68f3s3arvdhlhq0mn38vf74jbsfcg84151hcj6czhnl"))))
f4c7dc55 594 (build-system python-build-system)
23015b4f 595 (arguments
27693b1e
DM
596 `(#:phases
597 (modify-phases %standard-phases
598 (replace 'check
599 (lambda _
600 ;; Note: Upstream tests would have also built the release notes.
601 ;; That only would work if we were in a git checkout.
602 ;; Therefore, we don't do it here.
603 (zero? (system* "python" "setup.py" "build_sphinx")))))))
f4c7dc55
CR
604 (propagated-inputs
605 `(("python-requests" ,python-requests)))
e7881f3d 606 (native-inputs
f4c7dc55
CR
607 `(("python-pbr" ,python-pbr)
608 ("python-docutils" ,python-docutils)
609 ("python-hacking" ,python-hacking)
f4c7dc55
CR
610 ("python-sphinx" ,python-sphinx)))
611 (home-page "http://www.openstack.org/")
612 (synopsis "OpenStack sphinx extensions and theme")
613 (description
614 "This package provides themes and extensions for Sphinx documentation
615from the OpenStack project.")
616 (license asl2.0)))
617
618(define-public python2-oslosphinx
8ad4ae20 619 (package-with-python2 python-oslosphinx))
f4c7dc55 620
2053949a
CR
621(define-public python-oslotest
622 (package
623 (name "python-oslotest")
5a4849e1 624 (version "1.10.0")
2053949a
CR
625 (source
626 (origin
627 (method url-fetch)
628 (uri (string-append
629 "https://pypi.python.org/packages/source/o/oslotest/oslotest-"
630 version
631 ".tar.gz"))
632 (sha256
633 (base32
5a4849e1 634 "0l3ny48ddz5xbf0v4r0jv1yhbdzinc2vy0lybhdkmx3xy0b886fs"))))
2053949a
CR
635 (build-system python-build-system)
636 (propagated-inputs
637 `(("python-fixtures" ,python-fixtures)
638 ("python-mock" ,python-mock)
39d3f2ed 639 ("python-mox3" ,python-mox3)
2053949a 640 ("python-six" ,python-six)))
e7881f3d 641 (native-inputs
2053949a 642 `(("python-pbr" ,python-pbr)
2053949a 643 ("python-os-client-config" ,python-os-client-config)
2053949a
CR
644 ("python-subunit" ,python-subunit)
645 ("python-testrepository" ,python-testrepository)
646 ("python-testscenarios" ,python-testscenarios)
647 ("python-testtools" ,python-testtools)))
648 (home-page "http://launchpad.net/oslo")
649 (synopsis "Oslo test framework")
650 (description
651 "The Oslo Test framework provides common fixtures, support for debugging,
652and better support for mocking results.")
ec867b86 653 (properties `((python2-variant . ,(delay python2-oslotest))))
2053949a
CR
654 (license asl2.0)))
655
656(define-public python2-oslotest
ec867b86
MB
657 (package (inherit (package-with-python2
658 (strip-python2-variant python-oslotest)))
659 (arguments
660 `(#:python ,python-2
661 ;; FIXME: 'subunit.run discover: error: no such option: --list'
662 #:tests? #f))))
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)
e1f2e190
MB
833 (arguments
834 `(#:python ,python-2
835 ;; FIXME: subunit.run discover: error: no such option: --list
836 #:tests? #f))
8f0cc2ff
EF
837 (propagated-inputs
838 `(("python2-futures" ,python2-futures)
264ae686
EF
839 ("python2-requests" ,python2-requests)
840 ,@(alist-delete "python-requests"
841 (package-propagated-inputs swiftclient))))
8f0cc2ff
EF
842 (native-inputs
843 `(("python2-keystoneclient" ,python2-keystoneclient)
264ae686
EF
844 ("python2-oslosphinx" ,python2-oslosphinx)
845 ,@(fold alist-delete (package-native-inputs swiftclient)
846 '("python-keystoneclient" "python-oslosphinx")))))))
d4431993
CL
847
848(define-public python-git-review
849 (package
850 (name "python-git-review")
851 (version "1.25.0")
852 (source
853 (origin
854 (method url-fetch)
855 (uri (pypi-uri "git-review" version))
856 (sha256
857 (base32
858 "07d1jn9ryff5j5ic6qj5pbk10m1ccmpllj0wyalrcms1q9yhlzh8"))))
859 (build-system python-build-system)
381000d7
CL
860 (arguments
861 '(#:tests? #f ; tests require a running Gerrit server
862 #:phases
863 (modify-phases %standard-phases
864 (add-after 'install 'wrap-program
865 (lambda* (#:key inputs outputs #:allow-other-keys)
866 (let* ((out (assoc-ref outputs "out"))
867 (git (assoc-ref inputs "git"))
868 (openssh (assoc-ref inputs "openssh")))
869 (wrap-program (string-append out "/bin/git-review")
870 `("PATH" ":" prefix
871 ,(map (lambda (dir)
872 (string-append dir "/bin"))
873 (list git openssh))))))))))
d4431993
CL
874 (native-inputs
875 `(("python-pbr" ,python-pbr)))
482d9591
HG
876 (propagated-inputs
877 `(("python-requests" ,python-requests)))
d4431993 878 (inputs
482d9591 879 `(("git" ,git)
381000d7 880 ("openssh" ,openssh)))
d4431993
CL
881 (home-page "http://docs.openstack.org/infra/git-review/")
882 (synopsis "Command-line tool for Gerrit")
883 (description
884 "Git-review is a command-line tool that helps submitting Git branches to
885Gerrit for review, or fetching existing ones.")
886 (license asl2.0)))
887
888(define-public python2-git-review
5c31f4aa 889 (package-with-python2 python-git-review))