projects/guix·blob version-0.13.0 · refs

925 lines · 33.0 KiB

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