guix_mirror_bot pushed a commit to branch python-team in repository guix. commit 1aa7b6d50eb6872fd5b029b12cc52422b06a30ba Author: Sharlatan Hellseher <sharlata...@gmail.com> AuthorDate: Mon Aug 4 23:23:43 2025 +0100
gnu: python-httptools: Update to 0.6.4. * gnu/packages/python-web.scm (python-httptools): Update to 0.6.4. [source] <snippet>: Remove vendor. [arguments] <test-flags>: Skip only one test. <phases>: Remove 'preparation; add 'configure-build-ext. [build-system]: Use pyproject. [inputs]: Add llhttp. [native-inputs]: Add python-setuptools. Change-Id: I81eaa61c96e2f41519648cccc625f2bc0a731269 --- gnu/packages/python-web.scm | 59 ++++++++++++++++++++++----------------------- 1 file changed, 29 insertions(+), 30 deletions(-) diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm index c81fe15c95..48b187d7bd 100644 --- a/gnu/packages/python-web.scm +++ b/gnu/packages/python-web.scm @@ -8157,45 +8157,44 @@ and fairly speedy.") (define-public python-httptools (package (name "python-httptools") - (version "0.1.1") + (version "0.6.4") (source (origin ;; PyPI tarball comes with a vendored http-parser and no tests. (method git-fetch) (uri (git-reference - (url "https://github.com/MagicStack/httptools") - (commit (string-append "v" version)))) + (url "https://github.com/MagicStack/httptools") + (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0g08128x2ixsiwrzskxc6c8ymgzs39wbzr5mhy0mjk30q9pqqv77")))) - (build-system python-build-system) + (base32 "05zsa77jlm2h9z0vfj6gdqklj3pbzbijhk5s9b3q7iaxl347hwzc")) + (modules '((guix build utils))) + (snippet + #~(begin (delete-file-recursively "vendor"))))) + (build-system pyproject-build-system) (arguments - '(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'preparations - (lambda _ - ;; Skip a failing test (AssertionError). Bug report: - ;; https://github.com/MagicStack/httptools/issues/10. - (substitute* "tests/test_parser.py" - ((" def test_parser_response_1") - (string-append - " @unittest.skip(\"Disabled.\")\n" - " def test_parser_response_1"))) - ;; Use packaged http-parser. - (substitute* "setup.py" (("self.use_system_http_parser = False") - "self.use_system_http_parser = True")) - ;; This path is hardcoded. Hardcode our own. - (substitute* "httptools/parser/cparser.pxd" - (("../../vendor/http-parser") - (string-append (assoc-ref %build-inputs "http-parser") - "/include"))) - ;; Don't force Cython version. - (substitute* "setup.py" (("Cython==") "Cython>=")) - #t))))) - (native-inputs - (list python-cython python-pytest)) + (list + #:test-flags + ;; XXX: AssertionError: HttpParserError not raised. + #~(list "-k" "not test_parser_response_leninent_headers_1") + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'configure-build-ext + (lambda _ + (with-output-to-file "setup.cfg" + (lambda () + (display "\ +[build_ext] +use_system_llhttp = true +use_system_http_parser = true +cython_always = true")))))))) + (native-inputs + (list python-cython + python-pytest + python-setuptools)) (inputs - (list http-parser)) + (list http-parser + llhttp)) (home-page "https://github.com/MagicStack/httptools") (synopsis "Collection of framework independent HTTP protocol utils") (description