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