guix_mirror_bot pushed a commit to branch python-team in repository guix. commit 75d8221bfa146bc2e54ce9f4b6582abfebaa6af6 Author: Sharlatan Hellseher <sharlata...@gmail.com> AuthorDate: Sun Jul 20 15:52:07 2025 +0100
gnu: python-cython: Set default to v3. * gnu/packages/python-xyz.scm (python-cython): Overwrite with python-cython-3 and making it a default. (python-cython-0): New variable, copy of python-cython@0.23.32. (python-cython-3): Set to python-cython. Change-Id: I6af9caeb77cd0be352b814baae7e37c2eafb00e7 --- gnu/packages/python-xyz.scm | 135 +++++++++++++++++++++++--------------------- 1 file changed, 71 insertions(+), 64 deletions(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 923afa2ef2..b36936f449 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -9985,8 +9985,77 @@ For some datatypes the overhead can be reduced by using khash by factor 4-8.") (license license:expat))) (define-public python-cython + ;; TODO: Move to python-build. (package (name "python-cython") + (version "3.1.2") + (source + (origin + (method url-fetch) + (uri (pypi-uri "cython" version)) + (sha256 + (base32 "108k6gsn63qkz98xhnm4440ir9ab0lxmw0gcrpz2sxm67yapmgvb")))) + (build-system pyproject-build-system) + (arguments + (list + #:test-flags + #~(list "-vv" + "-j" (number->string (parallel-job-count)) + "-x" (string-join + (list "annotate_html" + "Debugger" + ;; It introduces cycle. + "numpy_test" + ;; It fails with AssertionError: Failed doctest test + ;; for complex_numbers_cpp.double_abs. + "complex_numbers_cpp" + ;; This test fails when running on 24 cores. + "cpp_stl_conversion" + ;; XXX: On 32-bit architectures, running the + ;; parallel tests fails on many-core systems, see + ;; <https://github.com/cython/cython/issues/2807>. + #$@(if (not (target-64bit?)) + '("run.parallel") + '()) + #$@(if (system-hurd?) + '("test_class_ref" + "test_compiler_directives" + "test_lang_version") + '())) + "|")) + #:phases + #~(modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? test-flags #:allow-other-keys) + ;; Disable compiler optimizations to greatly reduce the running + ;; time of the test suite. + (setenv "CFLAGS" "-O0") + ;; Some tests require access to "$HOME/.cython". + (setenv "HOME" "/tmp") + (when tests? + (apply invoke "python" "runtests.py" test-flags))))))) + (native-inputs + (list libxcrypt + python-setuptools + python-wheel + ;; does not compile with gcc-14 + (cond + ((target-x86-32?) gcc-11) + (else gcc-13)))) + ;; we need the full python package and not just the python-wrapper + ;; because we need libpython3.3m.so + (inputs + (list python)) + (home-page "https://cython.org/") + (synopsis "C extensions for Python") + (description "Cython is an optimising static compiler for both the Python +programming language and the extended Cython programming language. It makes +writing C extensions for Python as easy as Python itself.") + (license license:asl2.0))) + +(define-public python-cython-0 + (package + (inherit python-cython) (version "0.29.32") (source (origin @@ -10040,7 +10109,7 @@ writing C extensions for Python as easy as Python itself.") ;; Needed for scipy and numpy (define-public python-cython-0.29.35 (package - (inherit python-cython) + (inherit python-cython-0) (name "python-cython") (version "0.29.35") (source (origin @@ -10051,69 +10120,7 @@ writing C extensions for Python as easy as Python itself.") "09y5r22nyswqpwc02agla1bnzh2jx2db25pnq9pc5cq8pyh1yf3f")))) (properties '()))) -(define-public python-cython-3 - (package - (inherit python-cython) - ;; Cython 3.x is the current stable version, however there are still a lot - ;; of packages, which depend on `python-cython` package. Those need to be - ;; upgraded. - (name "python-cython-next") - (version "3.1.2") - (source (origin - (method url-fetch) - (uri (pypi-uri "cython" version)) - (sha256 - (base32 - "108k6gsn63qkz98xhnm4440ir9ab0lxmw0gcrpz2sxm67yapmgvb")))) - (build-system pyproject-build-system) - (arguments - (list - #:test-flags - #~(list "-vv" - "-j" (number->string (parallel-job-count)) - "-x" (string-join - (list "annotate_html" - "Debugger" - ;; It introduces cycle. - "numpy_test" - ;; It fails with AssertionError: Failed doctest test - ;; for complex_numbers_cpp.double_abs. - "complex_numbers_cpp" - ;; This test fails when running on 24 cores. - "cpp_stl_conversion" - ;; XXX: On 32-bit architectures, running the - ;; parallel tests fails on many-core systems, see - ;; <https://github.com/cython/cython/issues/2807>. - #$@(if (not (target-64bit?)) - '("run.parallel") - '()) - #$@(if (system-hurd?) - '("test_class_ref" - "test_compiler_directives" - "test_lang_version") - '())) - "|")) - #:phases - #~(modify-phases %standard-phases - (replace 'check - (lambda* (#:key tests? test-flags #:allow-other-keys) - ;; Disable compiler optimizations to greatly reduce the running - ;; time of the test suite. - (setenv "CFLAGS" "-O0") - ;; Some tests require access to "$HOME/.cython". - (setenv "HOME" "/tmp") - (when tests? - (apply invoke "python" "runtests.py" test-flags))))))) - (native-inputs - ;; does not compile with gcc-14 - (list - (cond - ((target-x86-32?) gcc-11) - (else gcc-13)) - libxcrypt - python-setuptools - python-wheel)) - (properties '()))) +(define-public python-cython-3 python-cython) ;; NOTE: when upgrading numpy please make sure that python-numba, ;; python-pandas and python-scipy still build, as these three packages are