mirror of
https://codeberg.org/guix/guix.git
synced 2025-10-02 02:15:12 +00:00
gnu: python-numpy: Update to 1.26.4 and fix build with gcc-14.
* gnu/packages/patches/python-numpy-gcc-14.patch: New file. * gnu/local.mk (dist_patch_DATA): Register it. * gnu/packages/python-xyz.scm (python-numpy): Update to 1.26.4 and use it. [arguments]: Add phase "relax-gcc-14-strictness". In phase "check", disable more tests. [native-inputs]: Add gcc-14 before gfortran so that gfortran's fenv.h include doesn't win and break the build. Change-Id: I9c8053c66f21521371a85107ef1864a1c0d19ad4
This commit is contained in:
parent
d4f2e2ae37
commit
6c6a442ff6
3 changed files with 51 additions and 10 deletions
|
@ -2047,6 +2047,7 @@ dist_patch_DATA = \
|
||||||
%D%/packages/patches/python-feedparser-missing-import.patch \
|
%D%/packages/patches/python-feedparser-missing-import.patch \
|
||||||
%D%/packages/patches/python-louvain-fix-test.patch \
|
%D%/packages/patches/python-louvain-fix-test.patch \
|
||||||
%D%/packages/patches/python-matplotlib-fix-legend-loc-best-test.patch \
|
%D%/packages/patches/python-matplotlib-fix-legend-loc-best-test.patch \
|
||||||
|
%D%/packages/patches/python-numpy-gcc-14.patch \
|
||||||
%D%/packages/patches/python-random2-getrandbits-test.patch \
|
%D%/packages/patches/python-random2-getrandbits-test.patch \
|
||||||
%D%/packages/patches/python-pillow-use-zlib-1.3.patch \
|
%D%/packages/patches/python-pillow-use-zlib-1.3.patch \
|
||||||
%D%/packages/patches/python-pydocstyle-add-support-for-pep701.patch \
|
%D%/packages/patches/python-pydocstyle-add-support-for-pep701.patch \
|
||||||
|
|
14
gnu/packages/patches/python-numpy-gcc-14.patch
Normal file
14
gnu/packages/patches/python-numpy-gcc-14.patch
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
Upstream status: Not presented upstream.
|
||||||
|
|
||||||
|
--- numpy-1.26.4/numpy/core/src/common/half_private.hpp.orig 2024-12-11 22:32:59.883085553 +0100
|
||||||
|
+++ numpy-1.26.4/numpy/core/src/common/half_private.hpp 2024-12-11 22:33:05.291112742 +0100
|
||||||
|
@@ -1,6 +1,9 @@
|
||||||
|
#ifndef NUMPY_CORE_SRC_COMMON_HALF_PRIVATE_HPP
|
||||||
|
#define NUMPY_CORE_SRC_COMMON_HALF_PRIVATE_HPP
|
||||||
|
|
||||||
|
+int fetestexcept (int);
|
||||||
|
+int feclearexcept (int);
|
||||||
|
+int feraiseexcept (int);
|
||||||
|
#include "npstd.hpp"
|
||||||
|
#include "float_status.hpp"
|
||||||
|
|
|
@ -9976,7 +9976,7 @@ programming language and the extended Cython programming language. It makes
|
||||||
writing C extensions for Python as easy as Python itself.")
|
writing C extensions for Python as easy as Python itself.")
|
||||||
(license license:asl2.0)))
|
(license license:asl2.0)))
|
||||||
|
|
||||||
;; Needed for scipy
|
;; Needed for scipy and numpy
|
||||||
(define-public python-cython-0.29.35
|
(define-public python-cython-0.29.35
|
||||||
(package
|
(package
|
||||||
(inherit python-cython)
|
(inherit python-cython)
|
||||||
|
@ -10062,7 +10062,7 @@ writing C extensions for Python as easy as Python itself.")
|
||||||
;; - URL <https://raw.githubusercontent.com/numpy/numpy>
|
;; - URL <https://raw.githubusercontent.com/numpy/numpy>
|
||||||
;; - commit :: 2f3549c9d7c5048621568e431c86bc7530742723
|
;; - commit :: 2f3549c9d7c5048621568e431c86bc7530742723
|
||||||
;; - file <doc/source/building/understanding_meson.rst>
|
;; - file <doc/source/building/understanding_meson.rst>
|
||||||
(version "1.26.2")
|
(version "1.26.4")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
|
@ -10071,7 +10071,8 @@ writing C extensions for Python as easy as Python itself.")
|
||||||
version "/numpy-" version ".tar.gz"))
|
version "/numpy-" version ".tar.gz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1snknqb4hmv6b720nsaz21g7h6z1ikdvnsqyy5vmgavnfr23hmzn"))))
|
"0410j6jfz1yzm5s0v0yrc1j0q6ih4322357and7arr0jxnlsn0ia"))
|
||||||
|
(patches (search-patches "python-numpy-gcc-14.patch"))))
|
||||||
(build-system pyproject-build-system)
|
(build-system pyproject-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
(list
|
(list
|
||||||
|
@ -10092,6 +10093,10 @@ writing C extensions for Python as easy as Python itself.")
|
||||||
(delete (string-append gfortran "/include/c++")
|
(delete (string-append gfortran "/include/c++")
|
||||||
(string-split (getenv "CPLUS_INCLUDE_PATH") #\:))
|
(string-split (getenv "CPLUS_INCLUDE_PATH") #\:))
|
||||||
":")))))
|
":")))))
|
||||||
|
(add-before 'build 'relax-gcc-14-strictness
|
||||||
|
(lambda _
|
||||||
|
(setenv "CFLAGS"
|
||||||
|
"-g -O2 -Wno-error=implicit-function-declaration")))
|
||||||
(add-before 'build 'parallelize-build
|
(add-before 'build 'parallelize-build
|
||||||
(lambda _
|
(lambda _
|
||||||
(setenv "NPY_NUM_BUILD_JOBS"
|
(setenv "NPY_NUM_BUILD_JOBS"
|
||||||
|
@ -10174,21 +10179,42 @@ include_dirs = ~:*~a/include~%"
|
||||||
;; an FPU is still under investigation upstream.
|
;; an FPU is still under investigation upstream.
|
||||||
;; https://github.com/numpy/numpy/issues/20635
|
;; https://github.com/numpy/numpy/issues/20635
|
||||||
#$@(if (target-riscv64?)
|
#$@(if (target-riscv64?)
|
||||||
`(" and not test_float"
|
`(" and not test_fp_noncontiguous")
|
||||||
" and not test_fpclass"
|
'())
|
||||||
" and not test_fp_noncontiguous")
|
;; They also fail with gcc-14
|
||||||
'())))))))))
|
" and not test_float"
|
||||||
|
" and not test_fpclass"
|
||||||
|
|
||||||
|
;; These tests fail with gcc-14
|
||||||
|
" and not test_context_locality"
|
||||||
|
" and not test_cosh"
|
||||||
|
" and not test_default_policy_singleton"
|
||||||
|
" and not test_exp_exceptions"
|
||||||
|
" and not test_half_fpe"
|
||||||
|
" and not test_owner_is_base"
|
||||||
|
" and not test_policy_propagation"
|
||||||
|
" and not test_set_policy"
|
||||||
|
" and not test_sinh"
|
||||||
|
" and not test_square_values"
|
||||||
|
" and not test_sum"
|
||||||
|
" and not test_switch_owner"
|
||||||
|
" and not test_thread_locality"))))))))
|
||||||
(native-inputs
|
(native-inputs
|
||||||
(list gfortran
|
(list meson-python
|
||||||
meson-python
|
|
||||||
pkg-config
|
pkg-config
|
||||||
|
python-cython-0.29.35 ;overwrite Cython from meson-python
|
||||||
python-hypothesis
|
python-hypothesis
|
||||||
python-mypy
|
python-mypy
|
||||||
python-pytest
|
python-pytest
|
||||||
python-pytest-xdist
|
python-pytest-xdist
|
||||||
python-setuptools
|
python-setuptools
|
||||||
python-typing-extensions
|
python-typing-extensions
|
||||||
python-wheel))
|
python-wheel
|
||||||
|
;; XXX: Avoid 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>.
|
||||||
|
gcc ;fevn.h c[++] include must precede fortran's
|
||||||
|
gfortran))
|
||||||
(inputs (list bash openblas))
|
(inputs (list bash openblas))
|
||||||
(home-page "https://numpy.org")
|
(home-page "https://numpy.org")
|
||||||
(synopsis "Fundamental package for scientific computing with Python")
|
(synopsis "Fundamental package for scientific computing with Python")
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue