SHA256
1
0
forked from pool/python-numpy

Accepting request 1194834 from devel:languages:python:numeric

Automatic submission by obs-autosubmit

OBS-URL: https://build.opensuse.org/request/show/1194834
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-numpy?expand=0&rev=130
This commit is contained in:
Dominique Leuenberger 2024-08-30 11:25:52 +00:00 committed by Git OBS Bridge
commit edd60e5d10
9 changed files with 151 additions and 221 deletions

View File

@ -1,64 +0,0 @@
From bf50761dee8f0670542bcdc1fd9bff5cdb0448d4 Mon Sep 17 00:00:00 2001
From: Fabian Vogt <fvogt@suse.de>
Date: Thu, 28 Mar 2024 14:39:45 +0100
Subject: [PATCH] BUG: Fix test_impossible_feature_enable failing without
BASELINE_FEAT
If the build has no baseline features set, the test ended up setting
e.g. NPY_ENABLE_CPU_FEATURES="ASIMDHP, None". This actually made the
execution succeed, as the warning for decoding "None" overrode the
error for the real feature. Fix the error handling there by removing
the errorneous "return 0;", add a test for this, and avoid passing
"None" by accident.
---
numpy/core/src/common/npy_cpu_features.c | 1 -
numpy/core/tests/test_cpu_features.py | 14 ++++++++++++--
2 files changed, 12 insertions(+), 3 deletions(-)
diff --git a/numpy/core/src/common/npy_cpu_features.c b/numpy/core/src/common/npy_cpu_features.c
index bd149f8b4..f4d25cc50 100644
--- a/numpy/core/src/common/npy_cpu_features.c
+++ b/numpy/core/src/common/npy_cpu_features.c
@@ -324,7 +324,6 @@ npy__cpu_check_env(int disable, const char *env) {
) < 0) {
return -1;
}
- return 0;
}
#define NOTSUPP_BODY \
diff --git a/numpy/core/tests/test_cpu_features.py b/numpy/core/tests/test_cpu_features.py
index 48ab30a4a..88e4ad185 100644
--- a/numpy/core/tests/test_cpu_features.py
+++ b/numpy/core/tests/test_cpu_features.py
@@ -308,8 +308,8 @@ def test_impossible_feature_enable(self):
err_type = "RuntimeError"
self._expect_error(msg, err_type)
- # Ensure that only the bad feature gets reported
- feats = f"{bad_feature}, {self.BASELINE_FEAT}"
+ # Ensure that it fails even when providing garbage in addition
+ feats = f"{bad_feature}, Foobar"
self.env['NPY_ENABLE_CPU_FEATURES'] = feats
msg = (
f"You cannot enable CPU features \\({bad_feature}\\), since they "
@@ -317,6 +317,16 @@ def test_impossible_feature_enable(self):
)
self._expect_error(msg, err_type)
+ if self.BASELINE_FEAT is not None:
+ # Ensure that only the bad feature gets reported
+ feats = f"{bad_feature}, {self.BASELINE_FEAT}"
+ self.env['NPY_ENABLE_CPU_FEATURES'] = feats
+ msg = (
+ f"You cannot enable CPU features \\({bad_feature}\\), since "
+ "they are not supported by your machine."
+ )
+ self._expect_error(msg, err_type)
+
is_linux = sys.platform.startswith('linux')
is_cygwin = sys.platform.startswith('cygwin')
machine = platform.machine()
--
2.44.0

View File

@ -1,46 +0,0 @@
From 79e7c3c3262374de778145946b612135fb7cd581 Mon Sep 17 00:00:00 2001
From: Fabian Vogt <fvogt@suse.de>
Date: Thu, 28 Mar 2024 13:15:54 +0100
Subject: [PATCH] feature module: Fix handling of multiple conflicts per
attribute
- Attributes without match were never actually added to the list
- Only the last conflict actually had an effect, earlier results were
discarded
---
vendored-meson/meson/mesonbuild/modules/features/module.py | 7 ++-----
1 file changed, 2 insertions(+), 5 deletions(-)
diff --git a/vendored-meson/meson/mesonbuild/modules/features/module.py b/vendored-meson/meson/mesonbuild/modules/features/module.py
index 0be6af06c..a6f357b3f 100644
--- a/vendored-meson/meson/mesonbuild/modules/features/module.py
+++ b/vendored-meson/meson/mesonbuild/modules/features/module.py
@@ -371,15 +371,12 @@ class Module(NewExtensionModule):
values: List[ConflictAttr] = getattr(fet, attr)
accumulate_values = test_result[attr] # type: ignore
for conflict in values:
- if not conflict.match:
- accumulate_values.append(conflict.val)
- continue
conflict_vals: List[str] = []
# select the acc items based on the match
new_acc: List[str] = []
for acc in accumulate_values:
# not affected by the match so we keep it
- if not conflict.match.match(acc):
+ if not (conflict.match and conflict.match.match(acc)):
new_acc.append(acc)
continue
# no filter so we totaly escape it
@@ -396,7 +393,7 @@ class Module(NewExtensionModule):
continue
conflict_vals.append(conflict.mjoin.join(filter_val))
new_acc.append(conflict.val + conflict.mjoin.join(conflict_vals))
- test_result[attr] = new_acc # type: ignore
+ accumulate_values = test_result[attr] = new_acc # type: ignore
test_args = compiler.has_multi_arguments
args = test_result['args']
--
2.44.0

View File

@ -1,53 +0,0 @@
From 59694be29a71b17ad1ce58c865a5524c50bfedee Mon Sep 17 00:00:00 2001
From: Ralf Gommers <ralf.gommers@gmail.com>
Date: Fri, 16 Feb 2024 22:18:43 +0100
Subject: [PATCH] TST: fix Cython compile test which invokes `meson`
Closes gh-24956
[skip circle]
---
numpy/core/tests/test_cython.py | 14 ++++++++++++--
1 file changed, 12 insertions(+), 2 deletions(-)
Index: numpy-1.26.4/numpy/core/tests/test_cython.py
===================================================================
--- numpy-1.26.4.orig/numpy/core/tests/test_cython.py
+++ numpy-1.26.4/numpy/core/tests/test_cython.py
@@ -37,6 +37,13 @@ def install_temp(tmpdir_factory):
srcdir = os.path.join(os.path.dirname(__file__), 'examples', 'cython')
build_dir = tmpdir_factory.mktemp("cython_test") / "build"
os.makedirs(build_dir, exist_ok=True)
+ # Ensure we use the correct Python interpreter even when `meson` is
+ # installed in a different Python environment (see gh-24956)
+ native_file = str(build_dir / 'interpreter-native-file.ini')
+ with open(native_file, 'w') as f:
+ f.write("[binaries]\n")
+ f.write(f"python = '{sys.executable}'")
+
try:
subprocess.check_call(["meson", "--version"])
except FileNotFoundError:
@@ -44,17 +51,20 @@ def install_temp(tmpdir_factory):
if sys.platform == "win32":
subprocess.check_call(["meson", "setup",
"--buildtype=release",
- "--vsenv", str(srcdir)],
+ "--vsenv", "--native-file", native_file,
+ str(srcdir)],
cwd=build_dir,
)
else:
- subprocess.check_call(["meson", "setup", str(srcdir)],
+ subprocess.check_call(["meson", "setup",
+ "--native-file", native_file, str(srcdir)],
cwd=build_dir
)
subprocess.check_call(["meson", "compile", "-vv"], cwd=build_dir)
sys.path.append(str(build_dir))
+
def test_is_timedelta64_object(install_temp):
import checks

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:2a02aba9ed12e4ac4eb3ea9421c420301a0c6460d9830d74a9df87efa4912010
size 15786129

View File

@ -1,28 +0,0 @@
From: toddrme2178@gmail.com
Date: 2014-09-09 04:45:00 +0000
Subject: Remove windows-specific function
Upstream: openSUSE Fix
References:
http://lists.opensuse.org/opensuse-packaging/2014-09/msg00004.html
http://lists.opensuse.org/opensuse-packaging/2014-09/msg00005.html
__declspec(thread) is a windows-specific function that is causing
spurious compiler warnings. These warnings can be safely ignored,
but are being falsely flagged as serious problems that cause the
build to fail. Since this is windows-specific, it can be
safely removed.
Index: numpy-1.24.0/numpy/core/setup_common.py
===================================================================
--- numpy-1.24.0.orig/numpy/core/setup_common.py
+++ numpy-1.24.0/numpy/core/setup_common.py
@@ -141,7 +141,7 @@ OPTIONAL_FILE_FUNCS = ["ftello", "fseeko
OPTIONAL_MISC_FUNCS = ["backtrace", "madvise"]
# variable attributes tested via "int %s a" % attribute
-OPTIONAL_VARIABLE_ATTRIBUTES = ["__thread", "__declspec(thread)"]
+OPTIONAL_VARIABLE_ATTRIBUTES = ["__thread"]
# Subset of OPTIONAL_*_FUNCS which may already have HAVE_* defined by Python.h
OPTIONAL_FUNCS_MAYBE = [

3
numpy-2.0.0.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:cf5d1c9e6837f8af9f92b6bd3e86d513cdc11f60fd62185cc49ec7d1aba34864
size 18326228

View File

@ -1,7 +1,7 @@
# These files are required for testing (and testing the package on a live system) # These files are required for testing (and testing the package on a live system)
addFilter("devel-file-in-non-devel-package .*numpy/f2py/tests/src/array_from_pyobj/wrapmodule.c") addFilter("devel-file-in-non-devel-package .*numpy/f2py/tests/src/array_from_pyobj/wrapmodule.c")
addFilter("devel-file-in-non-devel-package .*numpy/core/tests/examples") addFilter("devel-file-in-non-devel-package .*numpy/_core/tests/examples")
addFilter("devel-file-in-non-devel-package .*numpy/core/tests/data") addFilter("devel-file-in-non-devel-package .*numpy/_core/tests/data")
addFilter("hidden-file-or-dir .*numpy/f2py/tests/src/assumed_shape/.f2py_f2cmap") addFilter("hidden-file-or-dir .*numpy/f2py/tests/src/assumed_shape/.f2py_f2cmap")
addFilter("hidden-file-or-dir .*numpy/f2py/tests/src/f2cmap/.f2py_f2cmap") addFilter("hidden-file-or-dir .*numpy/f2py/tests/src/f2cmap/.f2py_f2cmap")
addFilter("zero-length .*numpy/_core/__init__.pyi") addFilter("zero-length .*numpy/core/__init__.pyi")

View File

@ -1,3 +1,116 @@
-------------------------------------------------------------------
Tue Aug 13 06:04:49 UTC 2024 - Dirk Müller <dmueller@suse.com>
- remove meson-python upper limit (per upstream)
-------------------------------------------------------------------
Thu Jul 11 08:29:38 UTC 2024 - Ben Greiner <code@bnavigator.de>
- Fix numpy-config path tests, provide reason for failing meson
test
- Remove mistaken pycache rpmlint filter
-------------------------------------------------------------------
Fri Jun 28 06:47:52 UTC 2024 - Steve Kowalik <steven.kowalik@suse.com>
- Update to 2.0.0, changes include:
* Adds support for array parameter declaration in fortran...
* Added ``bitwise_count`` UFuncs
* Add binding for random pyx files
* Use AVX512-FP16 SVML content for float16 umath functions
* allow int sequences as shape arguments in numpy.memmap
* Add .mT attribute for arrays
* Create complex scalars from real and imaginary parts
* add copy parameter for api.reshape function
* make use of locals() in a comprehension fully compatible...
* Add array API standard v2022.12 support to numpy.array_api
* Change string to bool conversions to be consistent with...
* Allow np.info on non-hashable objects with a dtype
* let zeros, empty, and empty_like accept dtype classes
* Bump C-ABI to 2 but accept older NumPy if compiled against...
* Use high accuracy SVML for double precision umath functions
* expose PyUFunc_GiveFloatingpointErrors in the dtype API
* PyObject_IsTrue and PyObject_Not error handling in setflags
* array2string does not add signs for positive integers.
* Vectorize np.partition and np.argpartition using AVX-512
* Create helper for conversion to arrays
* Add size check for threaded array assignment
* Finalize ``fastCopyAndTranpose`` and other old C-funcs/members...
* assert_array_less should report max violations instead of...
* Introduce tracer for enabled CPU targets on each optimized...
* Extend np.add ufunc to work with unicode and byte dtypes
* Add find/rfind ufuncs for unicode and byte dtypes
* Make ``intp`` ``ssize_t`` and introduce characters nN
* Add isdigit/isspace/isdecimal/isnumeric ufuncs for string...
* DType API slot for descriptor finalization before array...
* ensure passing ``np.dtype`` to itself doesn't crash
* Vectorize np.sort and np.partition with AVX2
* Change add/isalpha ufuncs to use buffer class & general...
* Add strip/lstrip/rstrip ufuncs for unicode and bytes
* Add ``matrix_norm``, ``vector_norm``, ``vecdot`` and ``matrix_transpose``
* Make ``encoding=None`` the default in loadtxt
* Introduce ``copy`` argument for ``np.asarray``
* Introduce ``correction`` argument for ``np.var`` and ``np.std``...
* Handle ``common`` blocks with ``kind`` specifications from modules
* Handle ``iso_c_type`` mappings more consistently
* Add ``device`` and ``to_device`` to ``numpy.ndarray``
* Shrink MultiIterObject and make ``NPY_MAXARGS`` a runtime...
* enable linking of external libraries in the f2py Meson backend
* Don't use the _Complex extension in C++ mode
* Add fft optional extension submodule to numpy.array_api
* make arange ``start`` argument positional-only
* Make numpy.array_api more portable
* Adjust ``linalg.pinv`` and ``linalg.cholesky`` to Array...
* define a gufunc for vecdot (with BLAS support)
* Add ``rtol`` to ``matrix_rank`` and ``stable``
* adjust nD fft ``s`` param to array API
* three string ufunc bugs, one leading to segfault
* allow building in cython with Py_LIMITED_API
* support axes argument in np.linalg.tensordot
* Add replace ufunc to np.strings
* change list-of-array to tuple-of-array returns (Numba compat)
* Wrap string ufuncs in np.strings to allow default arguments
* Allow ``None`` as ``api_version`` in ``__array_namespace__``...
* Vectorize argsort and argselect with AVX2
* Use large file fallocate on 32 bit linux platforms
* Allow strings in logical ufuncs
* Allow NumPy int scalars to be divided by out-of-bound Python...
* correct irfft with n=1 on larger input
* check for overflow when converting a string to an int scalar
* Ensure meson updates generated umath doc correctly.
* support float and longdouble in FFT using C++ pocketfft...
* Make any and all return booleans by default
* Finalize future warning move in lstsq default
* add a pkg-config file and a ``numpy-config`` script
* Finalize future warning for shape=1 descriptor dropping...
* Add index/rindex ufuncs for unicode and bytes dtypes
* Add rest of unary ufuncs for unicode/bytes dtypes
* Create ``PyArray_DescrProto`` for legacy descriptor registration
* Make ``descr->f`` only accessible through ``PyDataType_GetArrFuncs``
* ensure that FFT routines can deal with integer and bool...
* ensure static_string.buf is never NULL for a non-null string
* Include broadcasting for ``rtol`` argument in ``matrix_rank``
* Add expandtabs ufunc for string & unicode dtypes
* implement stringdtype <-> timedelta roundtrip casts
* Make descr->f only accessible through ``PyDataType_GetArrFuncs``
* Ensure non-array logspace base does not influence dtype...
* Require reduce promoters to start with None to match
* inherit numerical dtypes from abstract ones.
* Infinite Loop in numpy.base_repr
* Ensure seed sequences are restored through pickling
* use PyArray_SafeCast in array_astype
* introduce a notion of "compatible" stringdtype instances...
* add support for nan-like null strings in string replace
* Make sure that NumPy scalars are supported by can_cast
* Disallow string inputs for copy keyword in np.array and...
* Adds asanyarray to start of linalg.cross
* weighted nanpercentile, nanquantile and multi-dim q
- Remove patches, no longer required:
* 0001-BUG-Fix-test_impossible_feature_enable-failing-witho.patch
* 0001-feature-module-Fix-handling-of-multiple-conflicts-pe.patch
* fix-meson-multiple-python-versions.patch
* numpy-1.9.0-remove-__declspec.patch
------------------------------------------------------------------- -------------------------------------------------------------------
Sun May 12 14:46:08 UTC 2024 - Sarah Kriesch <sarah.kriesch@opensuse.org> Sun May 12 14:46:08 UTC 2024 - Sarah Kriesch <sarah.kriesch@opensuse.org>

View File

@ -17,8 +17,8 @@
%global flavor @BUILD_FLAVOR@%{nil} %global flavor @BUILD_FLAVOR@%{nil}
%define ver 1.26.4 %define ver 2.0.0
%define _ver 1_26_4 %define _ver 2_0_0
%define pname python-numpy %define pname python-numpy
%define plainpython python %define plainpython python
%define hpc_upcase_trans_hyph() %(echo %{**} | tr [a-z] [A-Z] | tr '-' '_') %define hpc_upcase_trans_hyph() %(echo %{**} | tr [a-z] [A-Z] | tr '-' '_')
@ -81,18 +81,10 @@ Source: https://files.pythonhosted.org/packages/source/n/numpy/numpy-%{v
Source99: python-numpy-rpmlintrc Source99: python-numpy-rpmlintrc
# PATCH-FIX-OPENSUSE numpy-buildfix.patch -- openSUSE-specific build fixes # PATCH-FIX-OPENSUSE numpy-buildfix.patch -- openSUSE-specific build fixes
Patch0: numpy-buildfix.patch Patch0: numpy-buildfix.patch
# PATCH-FIX-OPENSUSE numpy-1.9.0-remove-__declspec.patch -- fix for spurious compiler warnings that cause build failure
Patch1: numpy-1.9.0-remove-__declspec.patch
# PATCH-FIX-UPSTREAM https://github.com/numpy/numpy/pull/26151
Patch2: 0001-BUG-Fix-test_impossible_feature_enable-failing-witho.patch
# PATCH-FIX-UPSTREAM https://github.com/numpy/meson/pull/12
Patch3: 0001-feature-module-Fix-handling-of-multiple-conflicts-pe.patch
# PATCH-FIX-UPSTREAM Based on gh#numpy/numpy#25839
Patch4: fix-meson-multiple-python-versions.patch
BuildRequires: %{python_module Cython >= 3.0} BuildRequires: %{python_module Cython >= 3.0}
BuildRequires: %{python_module base >= 3.9} BuildRequires: %{python_module base >= 3.9}
BuildRequires: %{python_module devel} BuildRequires: %{python_module devel}
BuildRequires: %{python_module meson-python >= 0.15 with %python-meson-python < 0.16} BuildRequires: %{python_module meson-python >= 0.15}
BuildRequires: %{python_module pip} BuildRequires: %{python_module pip}
BuildRequires: %{python_module pyproject-metadata >= 0.7.1} BuildRequires: %{python_module pyproject-metadata >= 0.7.1}
BuildRequires: cmake BuildRequires: cmake
@ -197,14 +189,13 @@ This package contains files for developing applications using numpy.
%autosetup -p1 -n numpy-%{version} %autosetup -p1 -n numpy-%{version}
# Fix non-executable scripts # Fix non-executable scripts
sed -i '1{/^#!/d}'\ sed -i '1{/^#!/d}'\
numpy/{distutils,f2py,ma,matrixlib,testing}/setup.py \
numpy/distutils/{conv_template,cpuinfo,from_template,system_info}.py \ numpy/distutils/{conv_template,cpuinfo,from_template,system_info}.py \
numpy/f2py/{__init__,cfuncs,diagnose,crackfortran,f2py2e,rules}.py \ numpy/f2py/{__init__,cfuncs,diagnose,crackfortran,f2py2e,rules}.py \
numpy/random/_examples/cython/extending{,_distributions}.pyx \ numpy/random/_examples/cython/extending{,_distributions}.pyx \
numpy/testing/print_coercion_tables.py numpy/testing/print_coercion_tables.py
chmod -x \ chmod -x \
numpy/f2py/{crackfortran,f2py2e,rules}.py \ numpy/f2py/{crackfortran,f2py2e,rules}.py \
numpy/testing/{print_coercion_tables,setup}.py numpy/testing/print_coercion_tables.py
# force cythonization # force cythonization
rm -f PKG-INFO rm -f PKG-INFO
@ -239,6 +230,7 @@ export CXX=g++-12
%if !%{with hpc} %if !%{with hpc}
%python_clone -a %{buildroot}%{_bindir}/f2py %python_clone -a %{buildroot}%{_bindir}/f2py
%python_clone -a %{buildroot}%{_bindir}/numpy-config
%endif %endif
%if 0%{?suse_version} %if 0%{?suse_version}
@ -251,7 +243,7 @@ export CXX=g++-12
%{python_expand # Don't package testsuite %{python_expand # Don't package testsuite
python_flavor=`cat _current_flavor` python_flavor=`cat _current_flavor`
sitesearch_path=`$python -c "import sysconfig as s; print(s.get_paths(vars={'platbase':'%{hpc_prefix}','base':'%{hpc_prefix}'}).get('platlib'))"` sitesearch_path=`$python -c "import sysconfig as s; print(s.get_paths(vars={'platbase':'%{hpc_prefix}','base':'%{hpc_prefix}'}).get('platlib'))"`
rm -rf %{buildroot}${sitesearch_path}/numpy/{,core,distutils,f2py,fft,lib,linalg,ma,matrixlib,oldnumeric,polynomial,random,testing}/tests rm -rf %{buildroot}${sitesearch_path}/numpy/{,_core,distutils,f2py,fft,lib,linalg,ma,matrixlib,oldnumeric,polynomial,random,testing}/tests
%hpc_write_modules_files %hpc_write_modules_files
#%%Module1.0##################################################################### #%%Module1.0#####################################################################
@ -292,11 +284,18 @@ EOF
%check %check
# https://numpy.org/doc/stable/dev/development_environment.html#running-tests # https://numpy.org/doc/stable/dev/development_environment.html#running-tests
%if %{without hpc} %if %{without hpc}
export PATH="%{buildroot}%{_bindir}:$PATH"
mkdir -p testing mkdir -p testing
cp pytest.ini testing/ cp pytest.ini testing/
pushd testing pushd testing
%python_flavored_alternatives
%if %{with libalternatives}
%{python_expand #
for b in f2py numpy-config; do
ln -s %{buildroot}%{_bindir}/$b-%{$python_bin_suffix} build/flavorbin/$b
done
}
%endif
# flaky tests # flaky tests
test_failok+=" or test_structured_object_indexing" test_failok+=" or test_structured_object_indexing"
@ -351,6 +350,8 @@ test_failok+=" or (test_umath and test_fpclass)"
test_failok+=" or (test_numeric and TestBoolCmp and test_float)" test_failok+=" or (test_numeric and TestBoolCmp and test_float)"
test_failok+=" or (test_umath and test_fp_noncontiguous)" test_failok+=" or (test_umath and test_fp_noncontiguous)"
%endif %endif
# The meson command is always on the primary python and wants to import numpy from there
test_failok+=" or test_limited_api"
echo " echo "
import sys import sys
@ -377,7 +378,7 @@ popd
%python_libalternatives_reset_alternative f2py %python_libalternatives_reset_alternative f2py
%post %post
%python_install_alternative f2py %python_install_alternative f2py numpy-config
%postun %postun
%python_uninstall_alternative f2py %python_uninstall_alternative f2py
@ -388,24 +389,29 @@ popd
%license LICENSE.txt %license LICENSE.txt
%if %{without hpc} %if %{without hpc}
%python_alternative %{_bindir}/f2py %python_alternative %{_bindir}/f2py
%python_alternative %{_bindir}/numpy-config
%{python_sitearch}/numpy/ %{python_sitearch}/numpy/
%{python_sitearch}/numpy-%{version}.dist-info %{python_sitearch}/numpy-%{version}.dist-info
%exclude %{python_sitearch}/numpy/core/include/ %exclude %{python_sitearch}/numpy/_core/include
%exclude %{python_sitearch}/numpy/_core/lib/libnpymath.a
%exclude %{python_sitearch}/numpy/_core/lib/pkgconfig/numpy.pc
%exclude %{python_sitearch}/numpy/distutils/mingw/*.c %exclude %{python_sitearch}/numpy/distutils/mingw/*.c
%exclude %{python_sitearch}/numpy/distutils/checks/*.c %exclude %{python_sitearch}/numpy/distutils/checks/*.c
%exclude %{python_sitearch}/numpy/f2py/src/ %exclude %{python_sitearch}/numpy/f2py/src/
%exclude %{python_sitearch}/numpy/core/lib/libnpymath.a
%exclude %{python_sitearch}/numpy/random/lib/libnpyrandom.a %exclude %{python_sitearch}/numpy/random/lib/libnpyrandom.a
%else %else
%if "%{python_flavor}" == "python3" || "%{python_provides}" == "python3" %if "%{python_flavor}" == "python3" || "%{python_provides}" == "python3"
%{p_bindir}/f2py %{p_bindir}/f2py
%{p_bindir}/numpy-config
%else %else
%exclude %{p_bindir}/f2py %exclude %{p_bindir}/f2py
%exclude %{p_bindir}/numpy-config
%endif %endif
%{p_python_sitearch}/numpy/ %{p_python_sitearch}/numpy/
%{p_python_sitearch}/numpy-%{version}.dist-info %{p_python_sitearch}/numpy-%{version}.dist-info
%exclude %{p_python_sitearch}/numpy/core/include/ %exclude %{p_python_sitearch}/numpy/_core/include/
%exclude %{p_python_sitearch}/numpy/core/lib/libnpymath.a %exclude %{p_python_sitearch}/numpy/_core/lib/libnpymath.a
%exclude %{p_python_sitearch}/numpy/_core/lib/pkgconfig/numpy.pc
%exclude %{p_python_sitearch}/numpy/random/lib/libnpyrandom.a %exclude %{p_python_sitearch}/numpy/random/lib/libnpyrandom.a
%exclude %{p_python_sitearch}/numpy/distutils/mingw/*.c %exclude %{p_python_sitearch}/numpy/distutils/mingw/*.c
%exclude %{p_python_sitearch}/numpy/distutils/checks/*.c %exclude %{p_python_sitearch}/numpy/distutils/checks/*.c
@ -424,17 +430,19 @@ popd
%files %{python_files devel} %files %{python_files devel}
%license LICENSE.txt %license LICENSE.txt
%if %{without hpc} %if %{without hpc}
%{python_sitearch}/numpy/core/include/ %{python_sitearch}/numpy/_core/include/
%if 0%{python_version_nodots} < 312 %if 0%{python_version_nodots} < 312
%{python_sitearch}/numpy/distutils/mingw/*.c %{python_sitearch}/numpy/distutils/mingw/*.c
%{python_sitearch}/numpy/distutils/checks/*.c %{python_sitearch}/numpy/distutils/checks/*.c
%endif %endif
%{python_sitearch}/numpy/f2py/src/ %{python_sitearch}/numpy/f2py/src/
%{python_sitearch}/numpy/core/lib/libnpymath.a %{python_sitearch}/numpy/_core/lib/libnpymath.a
%{python_sitearch}/numpy/_core/lib/pkgconfig/numpy.pc
%{python_sitearch}/numpy/random/lib/libnpyrandom.a %{python_sitearch}/numpy/random/lib/libnpyrandom.a
%else %else
%{p_python_sitearch}/numpy/core/include/ %{p_python_sitearch}/numpy/_core/include/
%{p_python_sitearch}/numpy/core/lib/libnpymath.a %{p_python_sitearch}/numpy/_core/lib/pkgconfig/numpy.pc
%{p_python_sitearch}/numpy/_core/lib/libnpymath.a
%{p_python_sitearch}/numpy/random/lib/libnpyrandom.a %{p_python_sitearch}/numpy/random/lib/libnpyrandom.a
%if 0%{python_version_nodots} < 312 %if 0%{python_version_nodots} < 312
%{p_python_sitearch}/numpy/distutils/mingw/*.c %{p_python_sitearch}/numpy/distutils/mingw/*.c