mirror of
https://https.git.savannah.gnu.org/git/guix.git/
synced 2025-07-10 08:30:39 +02:00
gnu: Add python-numpy-2.
Test suite for NumPy@2.2.2 is heavily depends on included vendored-meson sub-package and all of the tests fail. This variant provides a working NumPy, with passed build and sanity-check phases and tests disabled; it allows users to include it in other package(s) where version 2+ is hard required e.g. SageMath or Astropy@7. * gnu/packages/python-xyz.scm (python-numpy-2): New variable. Reviewed-by: Ludovic Courtès <ludo@gnu.org> Change-Id: I07e7aac8c1bf7e686b1c543a11f9ecbf682d6ad5
This commit is contained in:
parent
0caba8f5db
commit
c9abfacd9f
1 changed files with 69 additions and 0 deletions
|
@ -9447,6 +9447,75 @@ capabilities.")
|
||||||
'((upstream-name . "numpy")))
|
'((upstream-name . "numpy")))
|
||||||
(license license:bsd-3)))
|
(license license:bsd-3)))
|
||||||
|
|
||||||
|
(define-public python-numpy-2
|
||||||
|
(package
|
||||||
|
(inherit python-numpy)
|
||||||
|
(name "python-numpy")
|
||||||
|
(version "2.2.2")
|
||||||
|
(source
|
||||||
|
(origin
|
||||||
|
(method url-fetch)
|
||||||
|
(uri (string-append
|
||||||
|
"https://github.com/numpy/numpy/releases/download/v"
|
||||||
|
version "/numpy-" version ".tar.gz"))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"13sdvwiqn85vw1dn1k1nd5ihadv82zhqm615imrqgmil33v0csgd"))))
|
||||||
|
(arguments
|
||||||
|
(list
|
||||||
|
;; TODO: Tests fail on setup, there is some issue with vendored-meson.
|
||||||
|
#:tests? #f
|
||||||
|
#:modules '((guix build utils)
|
||||||
|
(guix build pyproject-build-system)
|
||||||
|
(ice-9 format))
|
||||||
|
#:phases
|
||||||
|
#~(modify-phases %standard-phases
|
||||||
|
(add-after 'unpack 'fix-executable-paths
|
||||||
|
(lambda _
|
||||||
|
(substitute* "numpy/distutils/exec_command.py"
|
||||||
|
(("'/bin/sh'")
|
||||||
|
(format #f "~s" (which "bash"))))))
|
||||||
|
(add-before 'build 'parallelize-build
|
||||||
|
(lambda _
|
||||||
|
(setenv "OMP_NUM_THREAD"
|
||||||
|
(number->string (parallel-job-count)))
|
||||||
|
(setenv "NPY_NUM_BUILD_JOBS"
|
||||||
|
(number->string (parallel-job-count)))))
|
||||||
|
;; 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 'configure-blas
|
||||||
|
(lambda* (#:key inputs #:allow-other-keys)
|
||||||
|
(call-with-output-file "site.cfg"
|
||||||
|
(lambda (port)
|
||||||
|
(format port
|
||||||
|
"[openblas]
|
||||||
|
libraries = openblas
|
||||||
|
library_dirs = ~a/lib
|
||||||
|
include_dirs = ~:*~a/include~%" #$(this-package-input "openblas")))))))))
|
||||||
|
(native-inputs
|
||||||
|
(list gfortran
|
||||||
|
meson-python
|
||||||
|
ninja
|
||||||
|
pkg-config
|
||||||
|
python-hypothesis
|
||||||
|
python-mypy
|
||||||
|
python-pytest
|
||||||
|
python-pytest-xdist
|
||||||
|
python-setuptools
|
||||||
|
python-setuptools
|
||||||
|
python-typing-extensions
|
||||||
|
python-wheel))))
|
||||||
|
|
||||||
(define-public python-numpy-documentation
|
(define-public python-numpy-documentation
|
||||||
(package
|
(package
|
||||||
(inherit python-numpy)
|
(inherit python-numpy)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue