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