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