;;; Copyright © 2016, 2017 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2015, 2016, 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2017 Roel Janssen <roel@gnu.org>
-;;; Copyright © 2016, 2017 Julien Lepiller <julien@lepiller.eu>
+;;; Copyright © 2016, 2017, 2020 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2016, 2017 ng0 <ng0@n0.is>
;;; Copyright © 2014, 2017 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015 Cyril Roelandt <tipecaml@gmail.com>
;;; Copyright © 2015, 2016, 2017, 2019 Leo Famulari <leo@famulari.name>
;;; Copyright © 2016, 2019 Hartmut Goebel <h.goebel@crazy-compilers.com>
-;;; Copyright © 2016, 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2016, 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2015, 2017 Ben Woodcroft <donttrustben@gmail.com>
;;; Copyright © 2015, 2016 Christopher Allan Webber <cwebber@dustycloud.org>
;;; Copyright © 2017 Adriano Peluso <catonano@gmail.com>
#:use-module (guix build-system python)
#:use-module (guix utils)
#:use-module (gnu packages)
+ #:use-module (gnu packages base)
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
#:use-module (gnu packages curl)
#:use-module (gnu packages python-check)
#:use-module (gnu packages python-crypto)
#:use-module (gnu packages python-xyz)
+ #:use-module (gnu packages serialization)
#:use-module (gnu packages sphinx)
+ #:use-module (gnu packages texinfo)
#:use-module (gnu packages tls)
#:use-module (gnu packages time)
#:use-module (gnu packages web)
(define-public httpie
(package
(name "httpie")
- (version "1.0.3")
+ (version "2.0.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "httpie" version))
(sha256
(base32
- "103fcigpxf4nqmrdqjnyz7d9n4n16906slwmmqqc0gkxv8hnw6vd"))))
+ "02bw20cwv3a1lzrn919dk25dq4v81x6q786zlrqsqzhsdxszj14c"))))
(build-system python-build-system)
(arguments
;; The tests attempt to access external web servers, so we cannot run them.
(define-public python-wsgiproxy2
(package
(name "python-wsgiproxy2")
- (version "0.4.5")
+ (version "0.4.6")
(source
(origin
(method url-fetch)
(uri (pypi-uri "WSGIProxy2" version ".tar.gz"))
(sha256
- (base32
- "19d9dva282vfjs784i0zkxp078lxfz4h3f621z30ij9wbf5rba6a"))))
+ (base32 "16jch5nic0hia28lps3c678s9s9mjdq8n87igxncjg0rpi5adqnf"))))
(build-system python-build-system)
(native-inputs
`(("python-webtest" ,python-webtest)))
(build-system python-build-system)
(native-inputs
`(("python-nose" ,python-nose)))
- (home-page "http://pythonpaste.org/deploy/")
+ (home-page "https://pylonsproject.org/")
(synopsis
"Load, configure, and compose WSGI applications and servers")
(description
("python-webob" ,python-webob)
("python-six" ,python-six)
("python-beautifulsoup4" ,python-beautifulsoup4)))
- (home-page "http://webtest.pythonpaste.org/")
+ (home-page "https://docs.pylonsproject.org/projects/webtest/")
(synopsis "Helper to test WSGI applications")
(description "Webtest allows you to test your Python web applications
without starting an HTTP server. It supports anything that supports the
(define-public python-cachecontrol
(package
(name "python-cachecontrol")
- (version "0.11.6")
+ (version "0.12.5")
(source
(origin
(method git-fetch)
(file-name (git-file-name name version))
(sha256
(base32
- "0pb16bzbkk99nh317xyfk8fxc2ngimsbz7lz9pxsw8c82n83d4dh"))))
+ "03lgc65sl04n0cgzmmgg99bk83f9i6k8yrmcd4hpl46q1pymn0kz"))))
(build-system python-build-system)
(arguments
- `(#:phases
- (modify-phases %standard-phases
- (replace 'check
- (lambda _
- ;; Drop test that requires internet access.
- (delete-file "tests/test_regressions.py")
- (setenv "PYTHONPATH"
- (string-append (getcwd) "/build/lib:"
- (getenv "PYTHONPATH")))
- (invoke "py.test" "-vv")
- #t)))))
- (native-inputs
- `(("python-pytest" ,python-pytest)
- ("python-redis" ,python-redis)
- ("python-webtest" ,python-webtest)
- ("python-mock" ,python-mock)))
+ ;; Versions > 0.11.6 depend on CherryPy for testing.
+ ;; It's too much work to package CherryPy for now.
+ `(#:tests? #f))
(propagated-inputs
`(("python-requests" ,python-requests)
("python-lockfile" ,python-lockfile)))
(define-public python-elasticsearch
(package
(name "python-elasticsearch")
- (version "6.1.1")
+ (version "7.1.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "elasticsearch" version))
(sha256
(base32
- "1kjxl45yvvgfb5fmamx0kfsfg9pzphiqrwbkns3s28r1w7ya74cd"))))
+ "0rnjvlhw4v3vg14l519qliy1s1zpmx3827q0xfviwvk42rr7hh01"))))
(build-system python-build-system)
(native-inputs
`(("python-mock" ,python-mock)
(define-public python-publicsuffix2
(package
(name "python-publicsuffix2")
- (version "2.20160818")
+ (version "2.20191221")
(source
(origin
(method url-fetch)
- (uri (pypi-uri "publicsuffix2" version ".tar.bz2"))
+ (uri (pypi-uri "publicsuffix2" version))
(sha256
- (base32
- "1bb55yka9vkn7i6y1kjzxa516kh6v4gsrxa90w5wdz5p5n968r68"))))
+ (base32 "0yzysvfj1najr1mb4pcqrbmjir3xpb69rlffln95a3cdm8qwry00"))))
(build-system python-build-system)
(arguments
- '(#:tests? #f)) ; The test suite requires network access.
+ '(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'ignore-maintainer-inputs
+ (lambda _
+ ;; Comment out a demand for python-requests, which is used only by
+ ;; the unused ‘update_psl’ helper command.
+ (substitute* "setup.py"
+ (("'requests " match)
+ (format "# ~a" match)))
+ #t)))
+ #:tests? #f)) ; the test suite requires network access
(home-page "https://github.com/pombredanne/python-publicsuffix2")
(synopsis "Get a public suffix for a domain name using the Public Suffix List")
(description "Get a public suffix for a domain name using the Public Suffix
("python-nose" ,python-nose)))
(propagated-inputs
`(("python-six" ,python-six)))
- (home-page "http://pythonpaste.org")
+ (home-page "https://pythonpaste.readthedocs.io/")
(synopsis
"Python web development tools, focusing on WSGI")
(description
(propagated-inputs
`(("python-paste" ,python-paste)
("python-pastedeploy" ,python-pastedeploy)))
- (home-page "http://pythonpaste.org/script/")
+ (home-page (string-append "https://web.archive.org/web/20161025192515/"
+ "http://pythonpaste.org/script/"))
(arguments
'(;; Unfortunately, this requires the latest unittest2,
;; but that requires traceback2 which requires linecache2 which requires
XPath and therefore does not have all the correctness corner cases that are
hard or impossible to fix in cssselect.")
(license license:bsd-3)))
+
+(define-public gunicorn
+ (package
+ (name "gunicorn")
+ (version "20.0.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "gunicorn" version))
+ (sha256
+ (base32
+ "0l1zm8a0vz8ws3lkn8q9a0f93ipdzyvlf2zlwdj5xyadh6jdwsgg"))))
+ (outputs '("out" "doc"))
+ (build-system python-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'build 'build-doc
+ (lambda _
+ (invoke "make" "-C" "docs" "PAPER=a4" "html" "info")
+ (delete-file "docs/build/texinfo/Makefile")
+ (delete-file "docs/build/texinfo/Gunicorn.texi")
+ #t))
+ (replace 'check
+ (lambda _
+ (setenv "PYTHONPATH"
+ (string-append ".:" (getenv "PYTHONPATH")))
+ ;; Remove test modules failing due to libc not found due to
+ ;; section '.dynamic' not found in libc.so
+ (delete-file "tests/test_arbiter.py")
+ (delete-file "tests/test_config.py")
+ (delete-file "tests/test_sock.py")
+ (invoke "pytest")))
+ (add-after 'install 'install-doc
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((doc (string-append (assoc-ref outputs "doc")
+ "/share/doc/" ,name "-" ,version))
+ (html (string-append doc "/html"))
+ (info (string-append doc "/info"))
+ (examples (string-append doc "/examples")))
+ (mkdir-p html)
+ (mkdir-p info)
+ (mkdir-p examples)
+ (copy-recursively "docs/build/html" html)
+ (copy-recursively "docs/build/texinfo" info)
+ (copy-recursively "examples" examples)
+ (for-each (lambda (file)
+ (copy-file file (string-append doc "/" file)))
+ '("README.rst" "NOTICE" "LICENSE" "THANKS")))
+ #t)))))
+ (native-inputs
+ `(("binutils" ,binutils) ;; for ctypes.util.find_library()
+ ("python-aiohttp", python-aiohttp)
+ ("python-pytest" ,python-pytest)
+ ("python-pytest-cov" ,python-pytest-cov)
+ ("python-sphinx" ,python-sphinx)
+ ("texinfo" ,texinfo)))
+ (home-page "https://gunicorn.org/")
+ (synopsis "Python WSGI HTTP Server for UNIX")
+ (description "Gunicorn ‘Green Unicorn’ is a Python WSGI HTTP
+Server for UNIX. It’s a pre-fork worker model ported from Ruby’s
+Unicorn project. The Gunicorn server is broadly compatible with
+various web frameworks, simply implemented, light on server resources,
+and fairly speedy.")
+ (license license:expat)))
+
+(define-public python-translation-finder
+ (package
+ (name "python-translation-finder")
+ (version "1.7")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "translation-finder" version))
+ (sha256
+ (base32
+ "1pcy9z8gmb8x41gjhw9x0lkr0d2mv5mdxcs2hwg6q8mxs857j589"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-before 'build 'remove-failing-test
+ (lambda _
+ (delete-file "translation_finder/test_api.py")
+ #t)))))
+ (propagated-inputs
+ `(("python-chardet" ,python-chardet)
+ ("python-pathlib2" ,python-pathlib2)
+ ("python-ruamel.yaml" ,python-ruamel.yaml)
+ ("python-six" ,python-six)))
+ (native-inputs
+ `(("python-codecov" ,python-codecov)
+ ("python-codacy-coverage" ,python-codacy-coverage)
+ ("python-pytest-cov" ,python-pytest-cov)
+ ("python-pytest-runner" ,python-pytest-runner)
+ ("python-twine" ,python-twine)))
+ (home-page "https://weblate.org/")
+ (synopsis "Translation file finder for Weblate")
+ (description "This package provides a function to find translation file in
+the source code of a project. It supports many translation file formats and
+is part of the Weblate translation platform.")
+ (license license:gpl3+)))
+
+(define-public python-gitlab
+ (package
+ (name "python-gitlab")
+ (version "1.15.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "python-gitlab" version))
+ (sha256
+ (base32
+ "0zl6kz8v8cg1bcy2r78b2snb0lpw0b573gdx2x1ps0nhsh75l4j5"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-requests" ,python-requests)
+ ("python-six" ,python-six)))
+ (native-inputs
+ `(("python-httmock" ,python-httmock)
+ ("python-mock" ,python-mock)))
+ (home-page
+ "https://github.com/python-gitlab/python-gitlab")
+ (synopsis "Interact with GitLab API")
+ (description "This package provides an extended library for interacting
+with GitLab instances through their API.")
+ (license license:lgpl3+)))