aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEfraim Flashner <efraim@flashner.co.il>2020-05-19 16:11:09 +0300
committerEfraim Flashner <efraim@flashner.co.il>2020-05-19 20:05:59 +0300
commit45838753bba25e2e6182a15991e3aeaa84d5c44d (patch)
treebafba5d6ea8627ccfd512e4370303420f3484365
parent255a206217ce1ed414c1753c13daa5e254875fbd (diff)
downloadguix-45838753bba25e2e6182a15991e3aeaa84d5c44d.tar.gz
guix-45838753bba25e2e6182a15991e3aeaa84d5c44d.zip
gnu: python-falcon: Update to 2.0.0.
* gnu/packages/python-web.scm (python-falcon): Update to 2.0.0. [source]: Add snippet to remove bundled code. [arguments]: Update custom 'check phase. [propagated-inputs]: Remove python-six. [native-inputs]: Remove python-jsonschema. Add python-mujson, python-pytest-runner, python-rapidjson, python-ujson. [properties]: New field. (python2-falcon)[native-inputs]: Don't add python-rapidjson.
-rw-r--r--gnu/packages/python-web.scm41
1 files changed, 32 insertions, 9 deletions
diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index 9ead80f29d..2cd37c8bcf 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -222,32 +222,50 @@ comes with a SOCKS proxy client.")
(define-public python-falcon
(package
(name "python-falcon")
- (version "1.4.1")
+ (version "2.0.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "falcon" version))
(sha256
(base32
- "1i0vmqsk24z4biirqhpvas9h28wy7nmpy3jvnb6rz2imq04zd09r"))))
+ "1z6mqfv574x6jiawf67ib52g4kk20c2x7xk7wrn1573b8v7r79gf"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ (delete-file-recursively "falcon/vendor")
+ (substitute* "setup.py"
+ ((".*falcon\\.vendor\\.mimeparse.*") ""))
+ (substitute* '("falcon/media/handlers.py"
+ "falcon/request.py")
+ (("from falcon\\.vendor ") ""))
+ (substitute* "falcon.egg-info/SOURCES.txt"
+ (("falcon/vendor.*") ""))
+ #t))))
(build-system python-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(replace 'check
- (lambda _
- (invoke "pytest"))))))
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ ;; Skip orjson, which requires rust to build.
+ (substitute* "tests/test_media_handlers.py"
+ (("== 'CPython") "!= 'CPython"))
+ (add-installed-pythonpath inputs outputs)
+ (invoke "pytest" "--ignore" "falcon"))))))
(propagated-inputs
- `(("python-mimeparse" ,python-mimeparse)
- ("python-six" ,python-six)))
+ `(("python-mimeparse" ,python-mimeparse)))
(native-inputs
`(("python-cython" ,python-cython) ;for faster binaries
+ ("python-mujson" ,python-mujson)
+ ("python-msgpack" ,python-msgpack)
("python-pytest" ,python-pytest)
+ ("python-pytest-runner" ,python-pytest-runner)
("python-pyyaml" ,python-pyyaml)
+ ("python-rapidjson" ,python-rapidjson)
("python-requests" ,python-requests)
("python-testtools" ,python-testtools)
- ("python-jsonschema" ,python-jsonschema)
- ("python-msgpack" ,python-msgpack)))
+ ("python-ujson" ,python-ujson)))
(home-page "https://falconframework.org")
(synopsis
"Web framework for building APIs and application backends")
@@ -267,10 +285,15 @@ classes
@item Compatible with both CPython and PyPy
@item Cython support for better performance when used with CPython
@end itemize")
+ (properties `((python2-variant . ,(delay python2-falcon))))
(license license:asl2.0)))
(define-public python2-falcon
- (package-with-python2 python-falcon))
+ (let ((falcon (package-with-python2 (strip-python2-variant python-falcon))))
+ (package
+ (inherit falcon)
+ (native-inputs
+ (alist-delete "python-rapidjson" (package-native-inputs falcon))))))
(define-public python-falcon-cors
(package