# # spec file for package python-numpy # # Copyright (c) 2020 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via https://bugs.opensuse.org/ # %global flavor @BUILD_FLAVOR@%{nil} %define _ver 1_18_1 %define pname python-numpy %define hpc_upcase_trans_hyph() %(echo %{**} | tr [a-z] [A-Z] | tr '-' '_') %if "%{flavor}" == "" %bcond_with hpc %if 0%{?sle_version} == 120300 && !0%{?is_opensuse} %bcond_with openblas %else %ifarch armv6l s390 s390x m68k riscv64 %bcond_with openblas %else %bcond_without openblas %endif %endif %endif %if "%{flavor}" == "gnu-hpc" %bcond_without hpc %bcond_without openblas %endif %if "%{flavor}" == "gnu7-hpc" %define c_f_ver 7 %bcond_without hpc %bcond_without openblas %endif %if 0%{?sle_version} == 120300 %{?with_openblas:ExclusiveArch: do_not_build} %endif %ifarch s390 s390x %{?with_openblas:ExclusiveArch: do_not_build} %endif %{?!python_module:%define python_module() python-%{**} python3-%{**}} %define skip_python2 1 %{?with_hpc:%{hpc_requires}} %bcond_with ringdisabled %if %{without hpc} %define package_name %{pname} %define p_python_sitearch %{python_sitearch} %define p_prefix %{_prefix} %define p_bindir %{_bindir} %else %{!?compiler_family:%global compiler_family gnu} %{hpc_init -c %{compiler_family} %{?c_f_ver:-v %{c_f_ver}} %{?mpi_ver:-V %{mpi_ver}}} %define package_name %{hpc_package_name %{_ver}} %define p_python_sitearch %{hpc_python_sitearch} %define p_prefix %{hpc_prefix} %define p_bindir %{hpc_bindir} # Magic for OBS Staging. Only build the flavors required by # other packages in the ring. %if %{with ringdisabled} ExclusiveArch: do_not_build %endif %endif Name: %{package_name} Version: 1.18.4 Release: 0 Summary: NumPy array processing for numbers, strings, records and objects License: BSD-3-Clause URL: http://www.numpy.org/ Source: https://files.pythonhosted.org/packages/source/n/numpy/numpy-%{version}.zip Source99: python-numpy-rpmlintrc # PATCH-FIX-OPENSUSE numpy-buildfix.patch -- openSUSE-specific build fixes 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-SLE fix-py34-tests.patch -- python 3.4 support Patch3: fix-py34-tests.patch Patch4: s390x.patch BuildRequires: %{python_module Cython >= 0.29.13} BuildRequires: %{python_module devel} BuildRequires: %{python_module pytest-xdist} BuildRequires: %{python_module pytest} BuildRequires: %{python_module setuptools} BuildRequires: %{python_module testsuite} BuildRequires: python-rpm-macros BuildRequires: unzip %if 0%{?suse_version} BuildRequires: fdupes %endif %if %{without hpc} %if 0%{?suse_version} BuildRequires: gcc-fortran %else BuildRequires: gcc-gfortran %endif %if %{with openblas} BuildRequires: openblas-devel > 0.3.4 %else BuildRequires: blas-devel BuildRequires: lapack-devel %endif %else BuildRequires: %{compiler_family}%{?c_f_ver}-compilers-hpc-macros-devel BuildRequires: libopenblas%{?hpc_ext}-%{compiler_family}%{?c_f_ver}-hpc-devel BuildRequires: lua-lmod BuildRequires: suse-hpc Requires: libopenblas%{?hpc_ext}-%{compiler_family}%{?c_f_ver}-hpc Requires(post): update-alternatives Requires(postun): update-alternatives %endif %python_subpackages %description NumPy is a general-purpose array-processing package designed to efficiently manipulate large multi-dimensional arrays of arbitrary records without sacrificing too much speed for small multi-dimensional arrays. NumPy is built on the Numeric code base and adds features introduced by numarray as well as an extended C-API and the ability to create arrays of arbitrary type which also makes NumPy suitable for interfacing with general-purpose data-base applications. There are also basic facilities for discrete fourier transform, basic linear algebra and random number generation. %{?with_hpc:%{hpc_python_master_package -L -a }} %package devel Summary: Development files for numpy applications Requires: %{name} = %{version} Requires: python-devel %if %{without hpc} %if %{with openblas} Requires: openblas-devel %else Requires: blas-devel Requires: lapack-devel %endif %else Requires: libopenblas%{?hpc_ext}-%{compiler_family}%{?c_f_ver}-hpc-devel %{hpc_requires_devel} %endif %description devel This package contains files for developing applications using numpy. %{?with_hpc:%{hpc_python_master_package devel -a }} %prep %setup -q -n numpy-%{version} %patch0 -p1 %patch1 -p1 %patch3 -p1 %ifarch s390x ppc ppc64 # TestF{77,90}ReturnCharacter are broken on all big-endian architectures (#11831) %patch4 -p1 %endif # Fix non-executable scripts sed -i '1s/^#!.*$//' numpy/{compat/setup,random/_examples/cython/setup,distutils/{conv_template,cpuinfo,exec_command,from_template,setup,system_info},f2py/{__init__,auxfuncs,capi_maps,cb_rules,cfuncs,common_rules,crackfortran,diagnose,f2py2e,f90mod_rules,func2subr,rules,setup,use_rules},ma/{setup,bench},matrixlib/setup,setup,testing/{print_coercion_tables,setup}}.py sed -i '1s/^#!.*$//' numpy/random/_examples/cython/*.pyx # force cythonization rm PKG-INFO %build %define _lto_cflags %{nil} %if %{with hpc} %hpc_setup module load openblas export CFLAGS="$(pkg-config --cflags openblas) %{optflags} -fno-strict-aliasing" LIBS="$(pkg-config --libs openblas)" cat > site.cfg <