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