;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015 Cyril Roelandt <tipecaml@gmail.com>
;;; Copyright © 2015, 2016 Efraim Flashner <efraim@flashner.co.il>
-;;; Copyright © 2016, 2017 Clément Lassieur <clement@lassieur.org>
-;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2016, 2017, 2019 Clément Lassieur <clement@lassieur.org>
+;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com>
+;;; Copyright © 2020, 2021 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
#:use-module (gnu packages check)
#:use-module (gnu packages gnupg)
#:use-module (gnu packages python)
+ #:use-module (gnu packages python-check)
#:use-module (gnu packages python-crypto)
#:use-module (gnu packages python-web)
+ #:use-module (gnu packages python-xyz)
+ #:use-module (gnu packages sphinx)
#:use-module (gnu packages ssh)
#:use-module (gnu packages time)
#:use-module (gnu packages tls)
#:use-module (gnu packages version-control)
+ #:use-module (gnu packages xml)
#:use-module (guix build-system python)
#:use-module (guix download)
#:use-module ((guix licenses)
(define-public python-bandit
(package
(name "python-bandit")
- (version "1.4.0")
+ (version "1.6.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "bandit" version))
(sha256
(base32
- "1m5bm42120zyazky4k0lp3d9r0jwhjmp6sb108xfr0vz952p15yb"))))
+ "0rb034c99pyhb4a60z7f2kz40cjydhm8m9v2blaal1rmhlam7rs1"))))
(build-system python-build-system)
(arguments
- `(#:phases (modify-phases %standard-phases
- (delete 'check)
- (add-after 'install 'check
- (lambda* (#:key inputs outputs #:allow-other-keys)
- ;; Tests require the 'bandit' executable in PATH.
- ;; It's only built during install time.
- (add-installed-pythonpath inputs outputs)
- (setenv "PATH" (string-append (assoc-ref outputs "out")
- "/bin:" (getenv "PATH")))
- (invoke "python" "setup.py" "testr"))))))
+ ;; The tests are disabled to avoid a circular dependency with
+ ;; python-stestr.
+ `(#:tests? #f))
(propagated-inputs
- `(("python-gitpython" ,python-gitpython)
- ("python-pyyaml" ,python-pyyaml)
- ("python-six" ,python-six)
- ("python-stevedore" ,python-stevedore)))
+ `(("python-gitpython" ,python-gitpython)
+ ("python-pyyaml" ,python-pyyaml)
+ ("python-six" ,python-six)
+ ("python-stevedore" ,python-stevedore)))
(native-inputs
- `(;; Tests.
- ("python-beautifulsoup4" ,python-beautifulsoup4)
- ("python-fixtures" ,python-fixtures)
- ("python-mock" ,python-mock)
- ("python-subunit" ,python-subunit)
- ("python-testrepository" ,python-testrepository)
- ("python-testscenarios" ,python-testscenarios)
- ("python-testtools" ,python-testtools)))
- (home-page "https://wiki.openstack.org/wiki/Security/Projects/Bandit")
+ `(("python-pbr" ,python-pbr)))
+ (home-page "https://github.com/PyCQA/bandit")
(synopsis "Security oriented static analyser for python code")
- (description
- "Bandit is a tool designed to find common security issues in Python code.
-To do this Bandit processes each file, builds an AST from it, and runs
-appropriate plugins against the AST nodes. Once Bandit has finished scanning
-all the files it generates a report.")
+ (description "Bandit is a tool designed to find common security issues in
+Python code. To do this Bandit processes each file, builds an AST from it,
+and runs appropriate plugins against the AST nodes. Once Bandit has finished
+scanning all the files it generates a report.")
(license asl2.0)))
-(define-public python2-bandit
- (package-with-python2 python-bandit))
+(define-public python-cliff
+ (package
+ (name "python-cliff")
+ (version "3.5.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "cliff" version))
+ (sha256
+ (base32
+ "0n8pzr0mnn9lq2mykds69ij2xrn0fsirh4ndmkx0mzydbx5niysv"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:tests? #f))
+ (native-inputs
+ `(("python-pbr" ,python-pbr)))
+ (propagated-inputs
+ `(("python-cmd2" ,python-cmd2)
+ ("python-prettytable" ,python-prettytable)
+ ("python-pyparsing" ,python-pyparsing)
+ ("python-pyyaml" ,python-pyyaml)
+ ("python-bandit" ,python-bandit)
+ ("python-stevedore" ,python-stevedore)))
+ (home-page "https://opendev.org/openstack/cliff")
+ (synopsis "Framework for building command line programs")
+ (description "The @code{cliff} framework allows creating multi-level
+commands such as those of @command{subversion} and @command{git}, where the
+main program handles some basic argument parsing and then invokes a
+sub-command to do the work. It uses plugins to define sub-commands, output
+formatters, and other extensions.")
+ (license asl2.0)))
(define-public python-debtcollector
(package
"This package provides a collection of Python deprecation patterns and
strategies that help you collect your technical debt in a non-destructive
manner.")
- (properties `((python2-variant . ,(delay python2-debtcollector))))
(license asl2.0)))
-(define-public python2-debtcollector
- (let ((base (package-with-python2 (strip-python2-variant
- python-debtcollector))))
- (package
- (inherit base)
- (propagated-inputs
- `(("python2-funcsigs" ,python2-funcsigs)
- ,@(package-propagated-inputs base))))))
-
(define-public python-hacking
(package
(name "python-hacking")
- (version "1.0.0")
+ (version "4.0.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "hacking" version))
(sha256
(base32
- "0s9l99s64jsyvm28fa4hzllbdi21sb7jn4gzdf1pd5ckvy7p4b0k"))))
+ "062rvbkvbavqqz55f7q00ikwipkn5j0rdls1rrajdbfwgckjcrsm"))))
(build-system python-build-system)
- (propagated-inputs
- `(("python-flake8" ,python-flake8-2.5)
- ("python-mccabe-0.2.1" ,python-mccabe-0.2.1)
- ("python-pbr" ,python-pbr)
- ("python-pep8-1.5.7" ,python-pep8-1.5.7)
- ("python-pyflakes-0.8.1" ,python-pyflakes-0.8.1)
- ("python-six" ,python-six)))
+ (propagated-inputs
+ `(("python-flake8" ,python-flake8)))
(native-inputs
`( ;; Tests
+ ("python-coverage" ,python-coverage)
+ ("python-ddt" ,python-ddt)
+ ("python-dnspython" ,python-dnspython)
+ ("python-fixtures" ,python-fixtures)
("python-eventlet" ,python-eventlet)
("python-mock" ,python-mock)
- ("python-reno" ,python-reno)
- ("python-testrepository" ,python-testrepository)
- ("python-testscenarios" ,python-testscenarios)))
+ ("python-monotonic" ,python-monotonic)
+ ("python-subunit" ,python-subunit)
+ ("python-stestr" ,python-stestr)
+ ("python-testscenarios" ,python-testscenarios)
+ ("python-testtools" ,python-testtools)))
(home-page "https://github.com/openstack-dev/hacking")
(synopsis "OpenStack hacking guideline enforcement")
(description
guidelines}.")
(license asl2.0)))
-(define-public python2-hacking
- (package-with-python2 python-hacking))
-
(define-public python-mox3
(package
(name "python-mox3")
with mox as possible, but small enhancements have been made.")
(license asl2.0)))
-(define-public python2-mox3
- (package-with-python2 python-mox3))
-
(define-public python-openstackdocstheme
(package
(name "python-openstackdocstheme")
to docs.openstack.org and developer.openstack.org.")
(license asl2.0)))
-(define-public python2-openstackdocstheme
- (package-with-python2 python-openstackdocstheme))
-
(define-public python-os-client-config
(package
(name "python-os-client-config")
comprehensive manner.")
(license asl2.0)))
-(define-public python2-os-client-config
- (package-with-python2 python-os-client-config))
-
(define-public python-os-testr
(package
(name "python-os-testr")
for subunit.")
(license asl2.0)))
-(define-public python2-os-testr
- (package-with-python2 python-os-testr))
-
(define-public python-stevedore
(package
(name "python-stevedore")
- (version "1.28.0")
+ (version "3.2.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "stevedore" version))
(sha256
(base32
- "02ynfgwma84g59834dmvzr39mcppy5s229zf1w23c0qngf753izi"))))
+ "1w11lm293afzb73iq0ba9wnmr2rjwymnhr92km4a4xrs7a5qcigq"))))
(build-system python-build-system)
+ (arguments
+ ;; The tests are disabled to avoid a circular dependency with
+ ;; python-stestr.
+ `(#:tests? #f
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'use-pbr-3
+ (lambda _
+ (substitute* '("setup.py"
+ "requirements.txt")
+ (("pbr!=2.1.0,>=2.0.0") "pbr>=3.0.0")))))))
(propagated-inputs
- `(("python-pbr" ,python-pbr)
- ("python-six" ,python-six)))
- (native-inputs
- `(("python-mock" ,python-mock)
- ("python-sphinx" ,python-sphinx)
- ("python-testrepository" ,python-testrepository)))
+ `(("python-pbr" ,python-pbr)))
(home-page "https://github.com/dreamhost/stevedore")
(synopsis "Manage dynamic plugins for Python applications")
(description
extensions.")
(license asl2.0)))
-(define-public python2-stevedore
- (package-with-python2 python-stevedore))
-
(define-public python-tempest-lib
(package
(name "python-tempest-lib")
common features used in Tempest.")
(license asl2.0)))
-(define-public python2-tempest-lib
- (package-with-python2 python-tempest-lib))
+\f
+;;;
+;;; Packages from the Oslo library
+;;;
-;; Packages from the Oslo library
(define-public python-oslo.config
(package
(name "python-oslo.config")
(method url-fetch)
(uri (pypi-uri "oslo.config" version))
(sha256
- (base32
- "0ymf7jxbq29fifyvkwhfiys1qvljqfxdw8ajwzwaf3yiqidgpxqd"))))
+ (base32
+ "0ymf7jxbq29fifyvkwhfiys1qvljqfxdw8ajwzwaf3yiqidgpxqd"))))
(build-system python-build-system)
(propagated-inputs
`(("python-debtcollector" ,python-debtcollector)
(home-page "https://launchpad.net/oslo")
(synopsis "Oslo Configuration API")
(description
- "The Oslo configuration API supports parsing command line arguments and
+ "The Oslo configuration API supports parsing command line arguments and
.ini style configuration files.")
(license asl2.0)))
-(define-public python2-oslo.config
- (package-with-python2 python-oslo.config))
-
(define-public python-oslo.context
(package
(name "python-oslo.context")
- (version "2.20.0")
+ (version "3.1.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "oslo.context" version))
(sha256
(base32
- "0iiq9rpwg6wrdqnhf3d8z8g0g7fjhs5zn6qw6igvxplz2c3rbvvx"))))
+ "1l2z186rkd9acrb2ygf53yrdc1lgf7cy1akbhm21kgkzind4p2r6"))))
(build-system python-build-system)
+ (arguments
+ `(#:phases (modify-phases %standard-phases
+ (add-after 'unpack 'relax-requirements
+ (lambda _
+ (substitute* "test-requirements.txt"
+ (("hacking>=3.0.1,<3.1.0")
+ "hacking>=3.0.1"))
+ #t)))))
(propagated-inputs
- `(("python-debtcollector" ,python-debtcollector)
- ("python-pbr" ,python-pbr)))
+ `(("python-debtcollector" ,python-debtcollector)))
(native-inputs
- `(("python-fixtures" ,python-fixtures)
+ `(("python-bandit" ,python-bandit)
+ ("python-coverage" ,python-coverage)
+ ("python-fixtures" ,python-fixtures)
("python-hacking" ,python-hacking)
- ("python-oslotest" ,python-oslotest)))
+ ("python-oslotest" ,python-oslotest)
+ ("python-pbr" ,python-pbr)
+ ("python-stestr" ,python-stestr)))
(home-page "https://launchpad.net/oslo")
(synopsis "Oslo context library")
(description
pipeline and used by various modules such as logging.")
(license asl2.0)))
-(define-public python2-oslo.context
- (package-with-python2 python-oslo.context))
-
(define-public python-oslo.i18n
(package
(name "python-oslo.i18n")
(version "3.20.0")
(source
- (origin
- (method url-fetch)
- (uri (pypi-uri "oslo.i18n" version))
- (sha256
- (base32
- "0kjcdw4bk3mi4vqmqwhhq053kxbbbj05si6nwxd1pzx33z067ky3"))))
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "oslo.i18n" version))
+ (sha256
+ (base32
+ "0kjcdw4bk3mi4vqmqwhhq053kxbbbj05si6nwxd1pzx33z067ky3"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-babel" ,python-babel)
- ("python-six" ,python-six)))
+ `(("python-babel" ,python-babel)
+ ("python-six" ,python-six)))
(native-inputs
- `(("python-pbr" ,python-pbr)
- ;; Tests
- ("python-mock" ,python-mock)
- ("python-mox3" ,python-mox3)
- ("python-oslotest" ,python-oslotest)
- ("python-testscenarios" ,python-testscenarios)))
+ `(("python-pbr" ,python-pbr)
+ ;; Tests
+ ("python-mock" ,python-mock)
+ ("python-mox3" ,python-mox3)
+ ("python-oslotest" ,python-oslotest)
+ ("python-testscenarios" ,python-testscenarios)))
(home-page "https://launchpad.net/oslo")
(synopsis "Oslo internationalization (i18n) library")
(description
- "The oslo.i18n library contain utilities for working with
+ "The oslo.i18n library contain utilities for working with
internationalization (i18n) features, especially translation for text strings
in an application or library.")
(license asl2.0)))
-(define-public python2-oslo.i18n
- (package-with-python2 python-oslo.i18n))
-
(define-public python-oslo.log
(package
(name "python-oslo.log")
handlers and support for context specific logging (like resource id’s etc).")
(license asl2.0)))
-(define-public python2-oslo.log
- (package-with-python2 python-oslo.log))
-
(define-public python-oslo.serialization
(package
(name "python-oslo.serialization")
(description
"The oslo.serialization library provides support for representing objects
in transmittable and storable formats, such as JSON and MessagePack.")
- (properties `((python2-variant . ,(delay python2-oslo.serialization))))
(license asl2.0)))
-(define-public python2-oslo.serialization
- (let ((base (package-with-python2 (strip-python2-variant
- python-oslo.serialization))))
- (package
- (inherit base)
- (native-inputs
- `(("python2-ipaddress" ,python2-ipaddress)
- ,@(package-native-inputs base))))))
-
(define-public python-reno
(package
(name "python-reno")
(add-before 'check 'init-git
(lambda _
;; reno expects a git repo
- (zero? (system* "git" "init")))))))
+ (invoke "git" "init"))))))
(propagated-inputs
`(("python-dulwich" ,python-dulwich)
("python-pbr" ,python-pbr)
("python-docutils" ,python-docutils)
("python-sphinx" ,python-sphinx)
("gnupg" ,gnupg)
- ("git" ,git)))
- (home-page "http://docs.openstack.org/developer/reno/")
+ ("git" ,git-minimal)))
+ (home-page "https://docs.openstack.org/reno/latest/")
(synopsis "Release notes manager")
(description "Reno is a tool for storing release notes in a git repository
and building documentation from them.")
(license asl2.0)))
-(define-public python2-reno
- (package-with-python2 python-reno))
-
(define-public python-oslosphinx
(package
(name "python-oslosphinx")
- (version "4.10.0")
+ (version "4.18.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "oslosphinx" version))
(sha256
(base32
- "09mxqyabi68f3s3arvdhlhq0mn38vf74jbsfcg84151hcj6czhnl"))))
+ "1xm41857vzrzjmnyi6bqirg4i5qa61v7wxcsdc4q1nzgr3ndgz5k"))))
(build-system python-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
- (replace 'check
+ (add-after 'unpack 'relax-requirements
(lambda _
- ;; Note: Upstream tests would have also built the release notes.
- ;; That only would work if we were in a git checkout.
- ;; Therefore, we don't do it here.
- (zero? (system* "python" "setup.py" "build_sphinx")))))))
+ (substitute* "test-requirements.txt"
+ (("hacking!=0.13.0,<0.14,>=0.12.0")
+ "hacking!=0.13.0,>=0.12.0"))
+ #t)))))
(propagated-inputs
- `(("python-requests" ,python-requests)))
+ `(("python-requests" ,python-requests)))
(native-inputs
- `(("python-pbr" ,python-pbr)
- ("python-docutils" ,python-docutils)
- ("python-hacking" ,python-hacking)
- ("python-sphinx" ,python-sphinx)))
+ `(("python-hacking" ,python-hacking)
+ ("python-openstackdocstheme" ,python-openstackdocstheme)
+ ("python-pbr" ,python-pbr)
+ ("python-reno" ,python-reno)
+ ("python-sphinx" ,python-sphinx)))
(home-page "https://www.openstack.org/")
(synopsis "OpenStack sphinx extensions and theme")
- (description
- "This package provides themes and extensions for Sphinx documentation
-from the OpenStack project.")
+ (description "This package provides themes and extensions for Sphinx
+documentation from the OpenStack project.")
(license asl2.0)))
-(define-public python2-oslosphinx
- (package-with-python2 python-oslosphinx))
-
(define-public python-oslotest
(package
(name "python-oslotest")
- (version "3.4.0")
+ (version "4.4.1")
(source
- (origin
- (method url-fetch)
- (uri (pypi-uri "oslotest" version))
- (sha256
- (base32
- "1pp8lq61d548cxcqi451czvrz5i5b3hyi2ry00wmngdgiswcqj1h"))))
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "oslotest" version))
+ (sha256
+ (base32
+ "0r50sz55m8ljv2vk1k7sp88iz1iqq4p9w6kb8hn8g8c50r9zdi5i"))))
(build-system python-build-system)
+ (arguments
+ ;; The tests are disabled to avoid a circular dependency with oslo.config.
+ `(#:tests? #f))
(propagated-inputs
- `(("python-fixtures" ,python-fixtures)
- ("python-mock" ,python-mock)
- ("python-mox3" ,python-mox3)
- ("python-os-client-config" ,python-os-client-config)
- ("python-six" ,python-six)
- ("python-subunit" ,python-subunit)
- ("python-testrepository" ,python-testrepository)
- ("python-testtools" ,python-testtools)))
- (native-inputs
- `(("python-pbr" ,python-pbr)
- ("python-testscenarios" ,python-testscenarios)))
+ `(("python-fixtures" ,python-fixtures)
+ ("python-six" ,python-six)
+ ("python-subunit" ,python-subunit)
+ ("python-testtools" ,python-testtools)))
(home-page "https://launchpad.net/oslo")
(synopsis "Oslo test framework")
- (description
- "The Oslo Test framework provides common fixtures, support for debugging,
-and better support for mocking results.")
+ (description "The Oslo Test framework provides common fixtures, support
+for debugging, and better support for mocking results.")
(license asl2.0)))
-(define-public python2-oslotest
- (package-with-python2 python-oslotest))
-
(define-public python-oslo.utils
(package
(name "python-oslo.utils")
handling.")
(license asl2.0)))
-(define-public python2-oslo.utils
- (package-with-python2 python-oslo.utils))
-
(define-public python-keystoneclient
(package
(name "python-keystoneclient")
LDAP.")
(license asl2.0)))
-(define-public python2-keystoneclient
- (let ((keystoneclient (package-with-python2 python-keystoneclient)))
- (package (inherit keystoneclient)
- (propagated-inputs
- `(("python2-requests" ,python2-requests)
- ,@(alist-delete "python-requests"
- (package-propagated-inputs keystoneclient))))
- (native-inputs
- `(("python2-oauthlib" ,python2-oauthlib)
- ("python2-oslosphinx" ,python2-oslosphinx)
- ("python2-requests-mock" ,python2-requests-mock)
- ("python2-tempest-lib" ,python2-tempest-lib)
- ,@(fold alist-delete (package-native-inputs keystoneclient)
- '("python-oauthlib" "python-oslosphinx" "python-requests-mock" "python-tempest-lib")))))))
-
(define-public python-swiftclient
(package
(name "python-swiftclient")
storage, email storage and backup archiving. Having no central \"brain\" or
master point of control provides greater scalability, redundancy and
permanence.")
- (properties `((python2-variant . ,(delay python2-swiftclient))))
(license asl2.0)))
-(define-public python2-swiftclient
- (let ((swiftclient (package-with-python2
- (strip-python2-variant python-swiftclient))))
- (package (inherit swiftclient)
- (propagated-inputs
- `(("python2-futures" ,python2-futures)
- ,@(package-propagated-inputs swiftclient))))))
-
(define-public python-git-review
(package
(name "python-git-review")
- (version "1.26.0")
+ (version "1.28.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "git-review" version))
(sha256
- (base32
- "150b1zvm6favd1ad8yl2bilq7xkr4m1mw9510frh47f8ghfkqz28"))))
+ (base32 "0nn17mfqvsa3ryjz53qjslmf60clc0vx2115kkj66h28p6vsnflf"))))
(build-system python-build-system)
(arguments
- '(#:tests? #f ; tests require a running Gerrit server
+ '(#:tests? #f ; tests require a running Gerrit server
#:phases
(modify-phases %standard-phases
(add-after 'install 'wrap-program
`("PATH" ":" prefix
,(map (lambda (dir)
(string-append dir "/bin"))
- (list git openssh))))))))))
+ (list git openssh)))))
+ #t)))))
(native-inputs
`(("python-pbr" ,python-pbr)))
(propagated-inputs
"Git-review is a command-line tool that helps submitting Git branches to
Gerrit for review, or fetching existing ones.")
(license asl2.0)))
-
-(define-public python2-git-review
- (package-with-python2 python-git-review))