aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicolas Graves <ngraves@ngraves.fr>2025-03-10 03:16:06 +0100
committerAndreas Enge <andreas@enge.fr>2025-04-16 11:46:34 +0200
commit55d7b8f1f62ece942c42c7075e369049366d4cb7 (patch)
tree4ccb338e54eda81ab246bf09a3583e3e8fdae485
parent2b8dd22bb947d171973c81a42eb9807cabef5ecc (diff)
downloadguix-55d7b8f1f62ece942c42c7075e369049366d4cb7.tar.gz
guix-55d7b8f1f62ece942c42c7075e369049366d4cb7.zip
gnu: gunicorn: Migrate 'check phase to pyproject-build-system.
* gnu/packages/python-web.scm (gunicorn)[arguments] {phases}: Remove 'check phase and migrate its flags to... {test-flags}: ...here. Change-Id: I0635d386d91ef2476dd513787df166f1b181c03c Signed-off-by: Steve George <steve@futurile.net>
-rw-r--r--gnu/packages/python-web.scm119
1 files changed, 61 insertions, 58 deletions
diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index 7a091aa044..a7d5faa14f 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -7486,72 +7486,75 @@ event loop. It is implemented in Cython and uses libuv under the hood.")
(outputs '("out" "doc"))
(build-system pyproject-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")))
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (if tests?
- (begin
- (invoke "pytest" "-vv"
- ;; Disable the geventlet tests because eventlet uses
- ;; dnspython, which does not work in the build
- ;; container due to lack of /etc/resolv.conf, etc.
- "--ignore=tests/workers/test_geventlet.py"))
- (format #t "test suite not run~%"))))
- (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")))))
- ;; XXX: The wrap phase includes native inputs on PYTHONPATH, (see
- ;; <https://bugs.gnu.org/25235>), leading to an inflated closure
- ;; size. Override it to only add the essential entries.
- (replace 'wrap
- (lambda* (#:key native-inputs inputs outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (python (assoc-ref (or native-inputs inputs) "python"))
- (sitedir (string-append "/lib/python"
- (python-version python)
- "/site-packages")))
- (wrap-program (string-append out "/bin/gunicorn")
- `("PYTHONPATH" ":" prefix
- ,(map (lambda (output)
- (string-append output sitedir))
- (list python out))))))))))
+ `(#:test-flags
+ ;; Disable the geventlet tests because eventlet uses dnspython, which
+ ;; does not work in the build container due to lack of /etc/resolv.conf
+ '("--ignore=tests/workers/test_geventlet.py")
+ #: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")))
+ (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")))))
+ ;; XXX: The wrap phase includes native inputs on PYTHONPATH, (see
+ ;; <https://bugs.gnu.org/25235>), leading to an inflated closure
+ ;; size. Override it to only add the essential entries.
+ (replace 'wrap
+ (lambda* (#:key native-inputs inputs outputs
+ #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (python (assoc-ref (or native-inputs inputs)
+ "python"))
+ (sitedir (string-append "/lib/python"
+ (python-version python)
+ "/site-packages")))
+ (wrap-program (string-append out "/bin/gunicorn")
+ `("PYTHONPATH" ":" prefix
+ ,(map (lambda (output)
+ (string-append output sitedir))
+ (list python out))))))))))
(inputs (list bash-minimal))
- (native-inputs
- (list binutils ;; for ctypes.util.find_library()
- python-aiohttp
- python-gevent
- python-pytest
- python-pytest-cov
- python-sphinx
- texinfo))
+ (native-inputs (list binutils ;for ctypes.util.find_library()
+ python-aiohttp
+ python-gevent
+ python-pytest
+ python-pytest-cov
+ python-sphinx
+ texinfo))
(propagated-inputs (list python-packaging python-setuptools python-wheel))
(home-page "https://gunicorn.org/")
(synopsis "Python WSGI HTTP Server for UNIX")
- (description "Gunicorn ‘Green Unicorn’ is a Python WSGI HTTP
+ (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)))
+ (license license:expat)))
(define-public gunicorn-next
(package