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