andreas pushed a commit to branch python-team
in repository guix.

commit bfc404cb15381235988623521112356e59ff0d61
Author: Sharlatan Hellseher <sharlata...@gmail.com>
AuthorDate: Fri Jan 24 08:05:33 2025 +0000

    gnu: python-numpy: Update to 1.26.2.
    
    * gnu/packages/python-xyz.scm (python-numpy): Update to 1.26.2.
    [arguments] <phases>: Add 'hide-gfortran.
    [native-inputs]: Remove python-cython.
    
    Change-Id: I1f02d45dd5c5bc7ad248dbbdc63a8e6a7a21ca9f
    Reviewed-by: Ludovic Courtès <l...@gnu.org>
---
 gnu/packages/python-xyz.scm | 29 ++++++++++++++++++++++-------
 1 file changed, 22 insertions(+), 7 deletions(-)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index b4eb639cfe..9782768ee5 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -9711,11 +9711,15 @@ writing C extensions for Python as easy as Python 
itself.")
 (define-public python-numpy
   (package
     (name "python-numpy")
-    ;; XXX: Any other versions up to 1.26.4 failed to build with error similar
-    ;; to: 'fenv_t' has not been declared in '::' 58 | using ::fenv_t;
-    ;; See 
<https://github.com/numpy/numpy/issues/21075#issuecomment-1047976197>,
-    ;; <https://github.com/numpy/numpy/issues/24318>.
-    (version "1.24.4")
+    ;; XXX: Starting from v1.26.0 the project includes a vendored-meson which
+    ;; is needed for SIMD and BLAS/LAPACK features that are not yet available
+    ;; in upstream Meson.
+    ;;
+    ;; See:
+    ;; - URL <https://raw.githubusercontent.com/numpy/numpy>
+    ;; - commit :: 2f3549c9d7c5048621568e431c86bc7530742723
+    ;; - file <doc/source/building/understanding_meson.rst>
+    (version "1.26.2")
     (source
      (origin
        (method url-fetch)
@@ -9724,7 +9728,7 @@ writing C extensions for Python as easy as Python 
itself.")
              version "/numpy-" version ".tar.gz"))
        (sha256
         (base32
-         "0qwldmkq5bns561ppkz7psphc4jqfj5j1x4dhq0i8r4qwjjf7xc0"))))
+         "1snknqb4hmv6b720nsaz21g7h6z1ikdvnsqyy5vmgavnfr23hmzn"))))
     (build-system pyproject-build-system)
     (arguments
      (list
@@ -9733,6 +9737,18 @@ writing C extensions for Python as easy as Python 
itself.")
                   (ice-9 format))
       #:phases
       #~(modify-phases %standard-phases
+          ;; XXX: It fails with an issue "'fenv_t' has not been declared..."
+          ;; when the gfortran header is used.  Remove gfortran from
+          ;; CPLUS_INCLUDE_PATH as a workaround.  Taken from
+          ;; <https://issues.guix.gnu.org/73439#45>.
+          (add-after 'set-paths 'hide-gfortran
+            (lambda* (#:key inputs #:allow-other-keys)
+              (let ((gfortran (assoc-ref inputs "gfortran")))
+                (setenv "CPLUS_INCLUDE_PATH"
+                        (string-join
+                         (delete (string-append gfortran "/include/c++")
+                                 (string-split (getenv "CPLUS_INCLUDE_PATH") 
#\:))
+                         ":")))))
           (add-before 'build 'parallelize-build
             (lambda _
               (setenv "NPY_NUM_BUILD_JOBS"
@@ -9816,7 +9832,6 @@ include_dirs = ~:*~a/include~%"
      (list gfortran
            meson-python
            pkg-config
-           python-cython ;; overwrite Cython from meson-python
            python-hypothesis
            python-mypy
            python-pytest

Reply via email to