gnu: kdenlive: Add missing dependencies.
[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")
1cccdca2 313 (version "1.28.0")
673d1a9d
CR
314 (source
315 (origin
316 (method url-fetch)
2d531d4e 317 (uri (pypi-uri "stevedore" version))
673d1a9d 318 (sha256
1cccdca2
MB
319 (base32
320 "02ynfgwma84g59834dmvzr39mcppy5s229zf1w23c0qngf753izi"))))
673d1a9d
CR
321 (build-system python-build-system)
322 (propagated-inputs
1cccdca2
MB
323 `(("python-pbr" ,python-pbr)
324 ("python-six" ,python-six)))
4b42bd94 325 (native-inputs
1cccdca2 326 `(("python-mock" ,python-mock)
3bbfc451 327 ("python-sphinx" ,python-sphinx)
1cccdca2 328 ("python-testrepository" ,python-testrepository)))
673d1a9d
CR
329 (home-page "https://github.com/dreamhost/stevedore")
330 (synopsis "Manage dynamic plugins for Python applications")
331 (description
332 "Python makes loading code dynamically easy, allowing you to configure
4b42bd94 333and extend your application by discovering and loading extensions (\"plugins\")
673d1a9d 334at runtime. Many applications implement their own library for doing this,
4b42bd94 335using __import__ or importlib. Stevedore avoids creating yet another extension
673d1a9d
CR
336mechanism by building on top of setuptools entry points. The code for managing
337entry points tends to be repetitive, though, so stevedore provides manager
338classes for implementing common patterns for using dynamically loaded
339extensions.")
340 (license asl2.0)))
341
342(define-public python2-stevedore
79d9effa 343 (package-with-python2 python-stevedore))
673d1a9d 344
465b61fc
CR
345(define-public python-tempest-lib
346 (package
347 (name "python-tempest-lib")
f0ad50af 348 (version "1.0.0")
465b61fc
CR
349 (source
350 (origin
351 (method url-fetch)
352 (uri (pypi-uri "tempest-lib" version))
353 (sha256
354 (base32
f0ad50af 355 "1cpp2vwmawpd29hjsklsps181lq2ah91cl412qvpnz228nf9sqn5"))))
465b61fc
CR
356 (build-system python-build-system)
357 (arguments
f959495b
MB
358 `(#:tests? #f ; FIXME: Requires oslo.log >= 1.14.0.
359 #:phases
465b61fc
CR
360 (modify-phases %standard-phases
361 (add-before
362 'check 'pre-check
363 (lambda _
364 (substitute* "tempest_lib/tests/cli/test_execute.py"
365 (("/bin/ls") (which "ls"))))))))
366 (propagated-inputs
367 `(("python-fixtures" ,python-fixtures)
368 ("python-httplib2" ,python-httplib2)
369 ("python-iso8601" ,python-iso8601)
370 ("python-jsonschema" ,python-jsonschema)
371 ("python-oslo.log" ,python-oslo.log)
372 ("python-paramiko" ,python-paramiko)
373 ("python-pbr" ,python-pbr)
374 ("python-six" ,python-six)))
e7881f3d 375 (native-inputs
465b61fc
CR
376 `(("python-babel" ,python-babel)
377 ("python-mock" ,python-mock)
378 ("python-os-testr" ,python-os-testr)
f3b98f4f 379 ("python-oslotest" ,python-oslotest)))
f0ad50af 380 (home-page "https://www.openstack.org/")
465b61fc
CR
381 (synopsis "OpenStack functional testing library")
382 (description
383 "Tempest-lib is a functional testing library for OpenStack. It provides
384common features used in Tempest.")
385 (license asl2.0)))
386
2053949a 387;; Packages from the Oslo library
ed56af06
CR
388(define-public python-oslo.config
389 (package
390 (name "python-oslo.config")
9e4546a2 391 (version "5.2.0")
ed56af06
CR
392 (source
393 (origin
394 (method url-fetch)
9e4546a2 395 (uri (pypi-uri "oslo.config" version))
ed56af06
CR
396 (sha256
397 (base32
9e4546a2 398 "0ymf7jxbq29fifyvkwhfiys1qvljqfxdw8ajwzwaf3yiqidgpxqd"))))
ed56af06
CR
399 (build-system python-build-system)
400 (propagated-inputs
9e4546a2
MB
401 `(("python-debtcollector" ,python-debtcollector)
402 ("python-netaddr" ,python-netaddr)
403 ("python-oslo.i18n" ,python-oslo.i18n)
404 ("python-pbr" ,python-pbr)
405 ("python-rfc3986" ,python-rfc3986)
406 ("python-six" ,python-six)
407 ("python-stevedore" ,python-stevedore)
408 ("python-pyyaml" ,python-pyyaml)))
e7881f3d 409 (native-inputs
9e4546a2
MB
410 `(("python-bandit" ,python-bandit)
411 ("python-coverage" ,python-coverage)
412 ("python-mock" ,python-mock)
413 ("python-openstackdocstheme" ,python-openstackdocstheme)
414 ("python-oslotest" ,python-oslotest)
415 ("python-reno" ,python-reno)
3bbfc451 416 ("python-sphinx" ,python-sphinx)
9e4546a2
MB
417 ("python-testrepository" ,python-testrepository)
418 ("python-testscenarios" ,python-testscenarios)
419 ("python-testtools" ,python-testtools)))
ed56af06
CR
420 (home-page "https://launchpad.net/oslo")
421 (synopsis "Oslo Configuration API")
422 (description
423 "The Oslo configuration API supports parsing command line arguments and
424.ini style configuration files.")
425 (license asl2.0)))
426
c7c7a936
CR
427(define-public python-oslo.context
428 (package
429 (name "python-oslo.context")
32bb0c61 430 (version "2.20.0")
c7c7a936
CR
431 (source
432 (origin
433 (method url-fetch)
e9af5adf 434 (uri (pypi-uri "oslo.context" version))
c7c7a936
CR
435 (sha256
436 (base32
32bb0c61 437 "0iiq9rpwg6wrdqnhf3d8z8g0g7fjhs5zn6qw6igvxplz2c3rbvvx"))))
c7c7a936 438 (build-system python-build-system)
32bb0c61
MB
439 (propagated-inputs
440 `(("python-debtcollector" ,python-debtcollector)
441 ("python-pbr" ,python-pbr)))
e7881f3d 442 (native-inputs
32bb0c61
MB
443 `(("python-fixtures" ,python-fixtures)
444 ("python-hacking" ,python-hacking)
445 ("python-oslotest" ,python-oslotest)))
dbd37c13 446 (home-page "https://launchpad.net/oslo")
c7c7a936
CR
447 (synopsis "Oslo context library")
448 (description
449 "The Oslo context library has helpers to maintain useful information
450about a request context. The request context is usually populated in the WSGI
451pipeline and used by various modules such as logging.")
452 (license asl2.0)))
453
454(define-public python2-oslo.context
455 (package-with-python2 python-oslo.context))
456
8531b326
CR
457(define-public python-oslo.i18n
458 (package
459 (name "python-oslo.i18n")
207e4d27 460 (version "3.20.0")
8531b326
CR
461 (source
462 (origin
463 (method url-fetch)
5788b4b6 464 (uri (pypi-uri "oslo.i18n" version))
8531b326
CR
465 (sha256
466 (base32
207e4d27 467 "0kjcdw4bk3mi4vqmqwhhq053kxbbbj05si6nwxd1pzx33z067ky3"))))
8531b326
CR
468 (build-system python-build-system)
469 (propagated-inputs
470 `(("python-babel" ,python-babel)
471 ("python-six" ,python-six)))
e7881f3d 472 (native-inputs
8531b326 473 `(("python-pbr" ,python-pbr)
8531b326
CR
474 ;; Tests
475 ("python-mock" ,python-mock)
476 ("python-mox3" ,python-mox3)
477 ("python-oslotest" ,python-oslotest)
478 ("python-testscenarios" ,python-testscenarios)))
dbd37c13 479 (home-page "https://launchpad.net/oslo")
8531b326
CR
480 (synopsis "Oslo internationalization (i18n) library")
481 (description
482 "The oslo.i18n library contain utilities for working with
483internationalization (i18n) features, especially translation for text strings
484in an application or library.")
485 (license asl2.0)))
486
487(define-public python2-oslo.i18n
488 (package-with-python2 python-oslo.i18n))
489
aee6412a
CR
490(define-public python-oslo.log
491 (package
492 (name "python-oslo.log")
f8a4547c 493 (version "3.36.0")
aee6412a
CR
494 (source
495 (origin
496 (method url-fetch)
f8a4547c 497 (uri (pypi-uri "oslo.log" version))
aee6412a
CR
498 (sha256
499 (base32
f8a4547c 500 "0h7hplf1h8k24v75m3mq1jlrl74x5ynyr4hwgffsg5campxnza4x"))))
aee6412a
CR
501 (build-system python-build-system)
502 (propagated-inputs
f8a4547c
MB
503 `(("python-dateutil" ,python-dateutil)
504 ("python-debtcollector" ,python-debtcollector)
505 ("python-monotonic" ,python-monotonic)
aee6412a
CR
506 ("python-oslo.config" ,python-oslo.config)
507 ("python-oslo.context" ,python-oslo.context)
508 ("python-oslo.i18n" ,python-oslo.i18n)
509 ("python-oslo.utils" ,python-oslo.utils)
510 ("python-oslo.serialization" ,python-oslo.serialization)
f8a4547c
MB
511 ("python-pbr" ,python-pbr)
512 ("python-pyinotify" ,python-pyinotify)
aee6412a 513 ("python-six" ,python-six)))
e7881f3d 514 (native-inputs
f8a4547c 515 `(("python-mock" ,python-mock)
aee6412a 516 ("python-oslotest" ,python-oslotest)
f8a4547c
MB
517 ("python-subunit" ,python-subunit)
518 ("python-testrepository" ,python-testrepository)
519 ("python-testtools" ,python-testtools)))
dbd37c13 520 (home-page "https://launchpad.net/oslo")
aee6412a
CR
521 (synopsis "Python logging library of the Oslo project")
522 (description
523 "The oslo.log (logging) configuration library provides standardized
524configuration for all OpenStack projects. It also provides custom formatters,
525handlers and support for context specific logging (like resource id’s etc).")
526 (license asl2.0)))
527
5702efe3
CR
528(define-public python-oslo.serialization
529 (package
530 (name "python-oslo.serialization")
caf3713a 531 (version "2.24.0")
5702efe3
CR
532 (source
533 (origin
534 (method url-fetch)
278c0efd 535 (uri (pypi-uri "oslo.serialization" version))
5702efe3
CR
536 (sha256
537 (base32
caf3713a 538 "08bxkp98c617y58x630xq44iiffm7f0f3cwh6zbnlkgq0zgh7jk1"))))
5702efe3
CR
539 (build-system python-build-system)
540 (propagated-inputs
caf3713a 541 `(("python-msgpack" ,python-msgpack)
5702efe3
CR
542 ("python-netaddr" ,python-netaddr)
543 ("python-oslo.utils" ,python-oslo.utils)
5702efe3
CR
544 ("python-six" ,python-six)
545 ("python-pytz" ,python-pytz)))
e7881f3d 546 (native-inputs
caf3713a 547 `(("python-pbr" ,python-pbr)
5702efe3
CR
548 ;; Tests.
549 ("python-mock" ,python-mock)
550 ("python-oslo.i18n" ,python-oslo.i18n)
551 ("python-oslotest" ,python-oslotest)))
dbd37c13 552 (home-page "https://launchpad.net/oslo")
5702efe3
CR
553 (synopsis "Oslo serialization library")
554 (description
555 "The oslo.serialization library provides support for representing objects
556in transmittable and storable formats, such as JSON and MessagePack.")
557 (license asl2.0)))
558
c8d7e063
DM
559(define-public python-reno
560 (package
561 (name "python-reno")
d2ae66b7 562 (version "2.7.0")
c8d7e063
DM
563 (source
564 (origin
565 (method url-fetch)
566 (uri (pypi-uri "reno" version))
567 (sha256
d2ae66b7 568 (base32 "0gwzi5dvacqx43smxl3rd1z33npn7gfhm50bvgmq90fib2q431wc"))))
c8d7e063
DM
569 (build-system python-build-system)
570 (arguments
571 `(#:phases
572 (modify-phases %standard-phases
573 (add-before 'check 'init-git
574 (lambda _
575 ;; reno expects a git repo
c8780a10 576 (invoke "git" "init"))))))
c8d7e063 577 (propagated-inputs
d2ae66b7
MB
578 `(("python-dulwich" ,python-dulwich)
579 ("python-pbr" ,python-pbr)
c8d7e063
DM
580 ("python-pyyaml" ,python-pyyaml)
581 ("python-six" ,python-six)))
582 (native-inputs
583 `(("python-testtools" ,python-testtools)
c8d7e063
DM
584 ("python-testscenarios" ,python-testscenarios)
585 ("python-testrepository" ,python-testrepository)
586 ("python-mock" ,python-mock)
d2ae66b7
MB
587 ("python-docutils" ,python-docutils)
588 ("python-sphinx" ,python-sphinx)
c8d7e063 589 ("gnupg" ,gnupg)
c8780a10 590 ("git" ,git-minimal)))
d39885a8 591 (home-page "https://docs.openstack.org/reno/latest/")
c8d7e063
DM
592 (synopsis "Release notes manager")
593 (description "Reno is a tool for storing release notes in a git repository
594and building documentation from them.")
595 (license asl2.0)))
596
597(define-public python2-reno
d2ae66b7 598 (package-with-python2 python-reno))
c8d7e063 599
f4c7dc55
CR
600(define-public python-oslosphinx
601 (package
602 (name "python-oslosphinx")
9c4810b4 603 (version "4.10.0")
f4c7dc55
CR
604 (source
605 (origin
606 (method url-fetch)
607 (uri (pypi-uri "oslosphinx" version))
608 (sha256
609 (base32
9c4810b4 610 "09mxqyabi68f3s3arvdhlhq0mn38vf74jbsfcg84151hcj6czhnl"))))
f4c7dc55 611 (build-system python-build-system)
23015b4f 612 (arguments
27693b1e
DM
613 `(#:phases
614 (modify-phases %standard-phases
615 (replace 'check
616 (lambda _
617 ;; Note: Upstream tests would have also built the release notes.
618 ;; That only would work if we were in a git checkout.
619 ;; Therefore, we don't do it here.
c9a65d5c 620 (invoke "python" "setup.py" "build_sphinx"))))))
f4c7dc55
CR
621 (propagated-inputs
622 `(("python-requests" ,python-requests)))
e7881f3d 623 (native-inputs
f4c7dc55
CR
624 `(("python-pbr" ,python-pbr)
625 ("python-docutils" ,python-docutils)
626 ("python-hacking" ,python-hacking)
f4c7dc55 627 ("python-sphinx" ,python-sphinx)))
dbd37c13 628 (home-page "https://www.openstack.org/")
f4c7dc55
CR
629 (synopsis "OpenStack sphinx extensions and theme")
630 (description
631 "This package provides themes and extensions for Sphinx documentation
632from the OpenStack project.")
633 (license asl2.0)))
634
635(define-public python2-oslosphinx
8ad4ae20 636 (package-with-python2 python-oslosphinx))
f4c7dc55 637
2053949a
CR
638(define-public python-oslotest
639 (package
640 (name "python-oslotest")
426916b7 641 (version "3.4.0")
2053949a
CR
642 (source
643 (origin
644 (method url-fetch)
be3f88c2 645 (uri (pypi-uri "oslotest" version))
2053949a
CR
646 (sha256
647 (base32
426916b7 648 "1pp8lq61d548cxcqi451czvrz5i5b3hyi2ry00wmngdgiswcqj1h"))))
2053949a
CR
649 (build-system python-build-system)
650 (propagated-inputs
651 `(("python-fixtures" ,python-fixtures)
652 ("python-mock" ,python-mock)
39d3f2ed 653 ("python-mox3" ,python-mox3)
2053949a 654 ("python-os-client-config" ,python-os-client-config)
be3f88c2 655 ("python-six" ,python-six)
2053949a
CR
656 ("python-subunit" ,python-subunit)
657 ("python-testrepository" ,python-testrepository)
2053949a 658 ("python-testtools" ,python-testtools)))
be3f88c2
MB
659 (native-inputs
660 `(("python-pbr" ,python-pbr)
661 ("python-testscenarios" ,python-testscenarios)))
dbd37c13 662 (home-page "https://launchpad.net/oslo")
2053949a
CR
663 (synopsis "Oslo test framework")
664 (description
665 "The Oslo Test framework provides common fixtures, support for debugging,
666and better support for mocking results.")
667 (license asl2.0)))
668
669(define-public python2-oslotest
be3f88c2 670 (package-with-python2 python-oslotest))
27cc9f25
CR
671
672(define-public python-oslo.utils
673 (package
674 (name "python-oslo.utils")
2847d833 675 (version "3.36.2")
27cc9f25
CR
676 (source
677 (origin
678 (method url-fetch)
94ce6b49 679 (uri (pypi-uri "oslo.utils" version))
27cc9f25
CR
680 (sha256
681 (base32
2847d833 682 "1ipjcgg9z697wmibhcbg5lqpk5gafakdx4qkff3w255zr0mvw04r"))))
27cc9f25
CR
683 (build-system python-build-system)
684 (propagated-inputs
685 `(("python-debtcollector" ,python-debtcollector)
686 ("python-oslo.i18n" ,python-oslo.i18n)
687 ("python-iso8601" ,python-iso8601)
688 ("python-monotonic" ,python-monotonic)
689 ("python-netaddr" ,python-netaddr)
690 ("python-netifaces" ,python-netifaces)
b51fbd6d 691 ("python-pyparsing" ,python-pyparsing)
27cc9f25
CR
692 ("python-pytz" ,python-pytz)
693 ("python-six" ,python-six)))
e7881f3d 694 (native-inputs
b51fbd6d 695 `(("python-pbr" ,python-pbr)
27cc9f25 696 ;; Tests.
ad59ebda 697 ("python-bandit" ,python-bandit)
b51fbd6d
MB
698 ("python-ddt" ,python-ddt)
699 ("python-fixtures" ,python-fixtures)
ad59ebda 700 ("python-oslo.config" ,python-oslo.config)
27cc9f25
CR
701 ("python-oslotest" ,python-oslotest)
702 ("python-mock" ,python-mock)
b51fbd6d
MB
703 ("python-testrepository" ,python-testrepository)
704 ("python-testscenarios" ,python-testscenarios)
705 ("python-testtools" ,python-testtools)))
dbd37c13 706 (home-page "https://launchpad.net/oslo")
27cc9f25
CR
707 (synopsis "Oslo utility library")
708 (description
709 "The @code{oslo.utils} library provides support for common utility type
710functions, such as encoding, exception handling, string manipulation, and time
711handling.")
712 (license asl2.0)))
713
c9e330d0
EF
714(define-public python-keystoneclient
715 (package
716 (name "python-keystoneclient")
717 (version "1.8.1")
718 (source
719 (origin
720 (method url-fetch)
721 (uri (pypi-uri "python-keystoneclient" version))
722 (sha256
723 (base32
724 "1w4csvkah67rfpxylxnvs2s3594i0f9isy8pf4gnsqs5zirvjaa4"))))
725 (build-system python-build-system)
bfba0836
MB
726 (arguments
727 '(#:tests? #f)) ; FIXME: Many tests are failing.
c9e330d0 728 (native-inputs
f3b98f4f 729 `(("python-sphinx" ,python-sphinx)
c9e330d0
EF
730 ;; and some packages for the tests
731 ("openssl" ,openssl)
732 ("python-coverage" ,python-coverage)
733 ("python-discover" ,python-discover)
734 ("python-fixtures" ,python-fixtures)
735 ("python-hacking" ,python-hacking)
736 ("python-keyring" ,python-keyring)
737 ("python-lxml" ,python-lxml)
738 ("python-mock" ,python-mock)
739 ("python-mox3" ,python-mox3)
740 ("python-oauthlib" ,python-oauthlib)
741 ("python-oslosphinx" ,python-oslosphinx)
742 ("python-oslotest" ,python-oslotest)
743 ("python-pycrypto" ,python-pycrypto)
744 ("python-requests-mock" ,python-requests-mock)
745 ("python-temptest-lib" ,python-tempest-lib)
746 ("python-testrepository" ,python-testrepository)
747 ("python-testresources" ,python-testresources)
748 ("python-testtools" ,python-testtools)
749 ("python-webob" ,python-webob)))
750 (propagated-inputs
751 `(("python-babel" ,python-babel)
752 ("python-debtcollector" ,python-debtcollector)
753 ("python-iso8601" ,python-iso8601)
754 ("python-netaddr" ,python-netaddr)
755 ("python-oslo.config" ,python-oslo.config)
756 ("python-oslo.i18n" ,python-oslo.i18n)
757 ("python-oslo.serialization" ,python-oslo.serialization)
758 ("python-oslo.utils" ,python-oslo.utils)
759 ("python-pbr" ,python-pbr)
760 ("python-prettytable" ,python-prettytable)
761 ("python-requests" ,python-requests)
762 ("python-six" ,python-six)
763 ("python-stevedore" ,python-stevedore)))
dbd37c13 764 (home-page "https://www.openstack.org/")
c9e330d0
EF
765 (synopsis "Client Library for OpenStack Identity")
766 (description
767 "Python-keystoneclient is the identity service used by OpenStack for
768authentication (authN) and high-level authorization (authZ). It currently
769supports token-based authN with user/service authZ, and is scalable to support
770OAuth, SAML, and OpenID in future versions. Out of the box, Keystone uses
771SQLite for its identity store database, with the option to connect to external
772LDAP.")
773 (license asl2.0)))
774
8f0cc2ff
EF
775(define-public python-swiftclient
776 (package
777 (name "python-swiftclient")
778 (version "2.6.0")
779 (source
780 (origin
781 (method url-fetch)
782 (uri (pypi-uri "python-swiftclient" version))
783 (sha256
784 (base32
785 "1j33l4z9vqh0scfncl4fxg01zr1hgqxhhai6gvcih1gccqm4nd7p"))))
786 (build-system python-build-system)
787 (native-inputs
b3546174 788 `(("python-pbr" ,python-pbr)
8f0cc2ff
EF
789 ("python-sphinx" ,python-sphinx)
790 ;; The folloing packages are needed for the tests.
791 ("python-coverage" ,python-coverage)
792 ("python-discover" ,python-discover)
793 ("python-hacking" ,python-hacking)
794 ("python-mock" ,python-mock)
795 ("python-oslosphinx" ,python-oslosphinx)
796 ("python-keystoneclient" ,python-keystoneclient)
797 ("python-testrepository" ,python-testrepository)
798 ("python-testtools" ,python-testtools)))
799 (propagated-inputs
800 `(("python-requests" ,python-requests)
801 ("python-six" ,python-six)))
dbd37c13 802 (home-page "https://www.openstack.org/")
8f0cc2ff
EF
803 (synopsis "OpenStack Object Storage API Client Library")
804 (description
805 "OpenStack Object Storage (code-named Swift) creates redundant, scalable
806object storage using clusters of standardized servers to store petabytes of
807accessible data. It is not a file system or real-time data storage system, but
808rather a long-term storage system for a more permanent type of static data that
809can be retrieved, leveraged, and then updated if necessary. Primary examples of
810data that best fit this type of storage model are virtual machine images, photo
811storage, email storage and backup archiving. Having no central \"brain\" or
812master point of control provides greater scalability, redundancy and
813permanence.")
0ab4c392 814 (license asl2.0)))
8f0cc2ff 815
d4431993
CL
816(define-public python-git-review
817 (package
818 (name "python-git-review")
cbb488d6 819 (version "1.28.0")
d4431993
CL
820 (source
821 (origin
822 (method url-fetch)
823 (uri (pypi-uri "git-review" version))
824 (sha256
cbb488d6 825 (base32 "0nn17mfqvsa3ryjz53qjslmf60clc0vx2115kkj66h28p6vsnflf"))))
d4431993 826 (build-system python-build-system)
381000d7 827 (arguments
cbb488d6 828 '(#:tests? #f ; tests require a running Gerrit server
381000d7
CL
829 #:phases
830 (modify-phases %standard-phases
831 (add-after 'install 'wrap-program
832 (lambda* (#:key inputs outputs #:allow-other-keys)
833 (let* ((out (assoc-ref outputs "out"))
834 (git (assoc-ref inputs "git"))
835 (openssh (assoc-ref inputs "openssh")))
836 (wrap-program (string-append out "/bin/git-review")
837 `("PATH" ":" prefix
838 ,(map (lambda (dir)
839 (string-append dir "/bin"))
67c05f58
CL
840 (list git openssh)))))
841 #t)))))
d4431993
CL
842 (native-inputs
843 `(("python-pbr" ,python-pbr)))
482d9591
HG
844 (propagated-inputs
845 `(("python-requests" ,python-requests)))
d4431993 846 (inputs
482d9591 847 `(("git" ,git)
381000d7 848 ("openssh" ,openssh)))
dbd37c13 849 (home-page "https://docs.openstack.org/infra/git-review/")
d4431993
CL
850 (synopsis "Command-line tool for Gerrit")
851 (description
852 "Git-review is a command-line tool that helps submitting Git branches to
853Gerrit for review, or fetching existing ones.")
854 (license asl2.0)))
855
856(define-public python2-git-review
5c31f4aa 857 (package-with-python2 python-git-review))