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