Accepting request 535006 from devel:languages:python

1

OBS-URL: https://build.opensuse.org/request/show/535006
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-numpy?expand=0&rev=58
This commit is contained in:
Dominique Leuenberger 2017-10-20 12:38:55 +00:00 committed by Git OBS Bridge
parent c709c31ae8
commit 560a227704
5 changed files with 178 additions and 621 deletions

4
_multibuild Normal file
View File

@ -0,0 +1,4 @@
<multibuild>
<package>standard</package>
<package>gnu-hpc</package>
</multibuild>

View File

@ -1,474 +0,0 @@
-------------------------------------------------------------------
Sat Sep 30 16:20:39 UTC 2017 - arun@gmx.de
- updated line numbers in patches
- update to version 1.13.3:
* #9390 BUG: Return the poly1d coefficients array directly
* #9555 BUG: Fix regression in 1.13.x in distutils.mingw32ccompiler.
* #9556 BUG: Fix true_divide when dtype=np.float64 specified.
* #9557 DOC: Fix some rst markup in numpy/doc/basics.py.
* #9558 BLD: Remove -xhost flag from IntelFCompiler.
* #9559 DOC: Removes broken docstring example (source code, png,
pdf)...
* #9580 BUG: Add hypot and cabs functions to WIN32 blacklist.
* #9732 BUG: Make scalar function elision check if temp is
writeable.
* #9736 BUG: Various fixes to np.gradient
* #9742 BUG: Fix np.pad for CVE-2017-12852
* #9744 BUG: Check for exception in sort functions, add tests
* #9745 DOC: Add whitespace after "versionadded::" directive so it
actually...
* #9746 BUG: Memory leak in np.dot of size 0
* #9747 BUG: Adjust gfortran version search regex
* #9757 BUG: Cython 0.27 breaks NumPy on Python 3.
* #9764 BUG: Ensure _npy_scaled_cexp{,f,l} is defined when needed.
* #9765 BUG: PyArray_CountNonzero does not check for exceptions
* #9766 BUG: Fixes histogram monotonicity check for unsigned bin
values
* #9767 BUG: Ensure consistent result dtype of count_nonzero
* #9771 BUG: MAINT: Fix mtrand for Cython 0.27.
* #9772 DOC: Create the 1.13.2 release notes.
* #9794 DOC: Create 1.13.3 release notes.
- changes from version 1.13.2:
* #9390 BUG: Return the poly1d coefficients array directly
* #9555 BUG: Fix regression in 1.13.x in distutils.mingw32ccompiler.
* #9556 BUG: Fix true_divide when dtype=np.float64 specified.
* #9557 DOC: Fix some rst markup in numpy/doc/basics.py.
* #9558 BLD: Remove -xhost flag from IntelFCompiler.
* #9559 DOC: Removes broken docstring example (source code, png,
pdf)...
* #9580 BUG: Add hypot and cabs functions to WIN32 blacklist.
* #9732 BUG: Make scalar function elision check if temp is
writeable.
* #9736 BUG: Various fixes to np.gradient
* #9742 BUG: Fix np.pad for CVE-2017-12852
* #9744 BUG: Check for exception in sort functions, add tests
* #9745 DOC: Add whitespace after "versionadded::" directive so it
actually...
* #9746 BUG: Memory leak in np.dot of size 0
* #9747 BUG: Adjust gfortran version search regex
* #9757 BUG: Cython 0.27 breaks NumPy on Python 3.
* #9764 BUG: Ensure _npy_scaled_cexp{,f,l} is defined when needed.
* #9765 BUG: PyArray_CountNonzero does not check for exceptions
* #9766 BUG: Fixes histogram monotonicity check for unsigned bin
values
* #9767 BUG: Ensure consistent result dtype of count_nonzero
* #9771 BUG, MAINT: Fix mtrand for Cython 0.27.
-------------------------------------------------------------------
Mon Sep 18 14:40:26 UTC 2017 - hsk17@mail.de
- Update to version 1.13.1
* bugfix release for problems found in 1.13.0; major changes:
+ fixes for the new memory overlap detection and temporary
elision
+ reversion of the removal of the boolean binary - operator
* 1.13.0 Highlights:
+ Operations like a + b + c will reuse temporaries on some
platforms
+ Inplace operations check if inputs overlap outputs and
create temporaries
+ New __array_ufunc__ attribute provides improved ability for
classes to override default ufunc behavior.
+ New np.block function for creating blocked arrays.
* 1.13.0 New functions:
+ New np.positive ufunc.
+ New np.divmod ufunc provides more efficient divmod.
+ New np.isnat ufunc tests for NaT special values.
+ New np.heaviside ufunc computes the Heaviside function.
+ New np.isin function, improves on in1d.
+ New np.block function for creating blocked arrays.
+ New PyArray_MapIterArrayCopyIfOverlap added to NumPy C-API.
* deprecations, compatibility notes, etc see full changelog at
https://github.com/numpy/numpy/blob/master/doc/changelog/1.13.0-changelog.rst
- dropped xlocale.patch (now upstream)
- do not apply 'sed 1d' command to exec_command.py
-------------------------------------------------------------------
Wed Jul 5 14:24:59 UTC 2017 - schwab@suse.de
- Add xlocale.patch:
xlocale.h: don't use obsolete <xlocale.h>
-------------------------------------------------------------------
Thu Apr 6 16:44:43 UTC 2017 - toddrme2178@gmail.com
- Update to version 1.12.1
* Fix wrong future nat warning and equiv type logic error...
* Fix wrong masked median for some special cases
* Place np.average in inline code
* Work around isfinite inconsistency on i386
* Guard against replacing constants without '_' spec in f2py.
* Fix mean for float 16 non-array inputs for 1.12
* Fix calling python api with error set and minor leaks for...
* Make iscomplexobj compatible with custom dtypes again
* Fix undefined behaviour induced by bad __array_wrap__
* Fix MaskedArray.__setitem__
* PPC64el machines are POWER for Fortran in f2py
* Look up methods on MaskedArray in `_frommethod`
* Remove extra digit in binary_repr at limit
* Fix deepcopy regression for empty arrays.
* Fix ma.median for empty ndarrays
-------------------------------------------------------------------
Fri Feb 17 15:19:47 UTC 2017 - toddrme2178@gmail.com
- Switch to single-spec version
-------------------------------------------------------------------
Sat Jan 21 15:07:23 UTC 2017 - toddrme2178@gmail.com
- Fix dependencies
-------------------------------------------------------------------
Wed Jan 18 15:40:12 UTC 2017 - toddrme2178@gmail.com
- Fix version number
-------------------------------------------------------------------
Tue Jan 17 17:24:28 UTC 2017 - toddrme2178@gmail.com
- update to version 1.12.0:
* Highlights
+ Order of operations in np.einsum can now be optimized for large
speed improvements.
+ New signature argument to np.vectorize for vectorizing with core
dimensions.
+ The keepdims argument was added to many functions.
+ New context manager for testing warnings
+ Support for BLIS in numpy.distutils
+ Much improved support for PyPy (not yet finished)
* full changelog at:
https://github.com/numpy/numpy/blob/master/doc/release/1.12.0-notes.rst
- changes from version 1.11.3:
* #8341: BUG: Fix ndarray.tofile large file corruption in append
mode.
* #8346: TST: Fix tests in PR #8341 for NumPy 1.11.x
- update to version 1.11.2:
* #7736 BUG: Many functions silently drop 'keepdims' kwarg.
* #7738 ENH: Add extra kwargs and update doc of many MA methods.
* #7778 DOC: Update Numpy 1.11.1 release notes.
* #7793 BUG: MaskedArray.count treats negative axes incorrectly.
* #7816 BUG: Fix array too big error for wide dtypes.
* #7821 BUG: Make sure npy_mul_with_overflow_<type> detects
overflow.
* #7824 MAINT: Allocate fewer bytes for empty arrays.
* #7847 MAINT,DOC: Fix some imp module uses and update f2py.compile
docstring.
* #7849 MAINT: Fix remaining uses of deprecated Python imp module.
* #7851 BLD: Fix ATLAS version detection.
* #7896 BUG: Construct ma.array from np.array which contains
padding.
* #7904 BUG: Fix float16 type not being called due to wrong
ordering.
* #7917 BUG: Production install of numpy should not require nose.
* #7919 BLD: Fixed MKL detection for recent versions of this
library.
* #7920 BUG: Fix for issue #7835 (ma.median of 1d).
* #7932 BUG: Monkey-patch _msvccompile.gen_lib_option like other
compilers.
* #7939 BUG: Check for HAVE_LDOUBLE_DOUBLE_DOUBLE_LE in
npy_math_complex.
* #7953 BUG: Guard against buggy comparisons in generic quicksort.
* #7954 BUG: Use keyword arguments to initialize Extension base
class.
* #7955 BUG: Make sure numpy globals keep identity after reload.
* #7972 BUG: MSVCCompiler grows 'lib' & 'include' env strings
exponentially.
* #8005 BLD: Remove __NUMPY_SETUP__ from builtins at end of
setup.py.
* #8010 MAINT: Remove leftover imp module imports.
* #8020 BUG: Fix return of np.ma.count if keepdims is True and axis
is None.
* #8024 BUG: Fix numpy.ma.median.
* #8031 BUG: Fix np.ma.median with only one non-masked value.
* #8044 BUG: Fix bug in NpyIter buffering with discontinuous arrays.
- update copyright year
- changed from tar.gz to zip on pypi
- Remove long-unused atlas support.
- Use preferrered pypi.io download url.
- Add openBLAS support.
This can improve performance in many situations.
- Remove numpy-1.10.4-cblas.patch since openblas handles this.
-------------------------------------------------------------------
Mon Apr 4 16:15:27 UTC 2016 - toddrme2178@gmail.com
specfile:
* require setuptools
- update to version 1.11.0:
* Highlights
+ The datetime64 type is now timezone naive.
+ A dtype parameter has been added to randint.
+ Improved detection of two arrays possibly sharing memory.
+ Automatic bin size estimation for np.histogram.
+ Speed optimization of A @ A.T and dot(A, A.T).
+ New function np.moveaxis for reordering array axes.
* full changelog at https://github.com/numpy/numpy/blob/master/doc/release/1.11.0-notes.rst
-------------------------------------------------------------------
Wed Mar 30 17:59:14 UTC 2016 - stecue@gmail.com
- Add numpy-1.10.4-cblas.patch to build against system cblas.
Numpy assumes either libblas.so or libcblas.so to contain all CBLAS
and BLAS functions. However the cblas-devel in Leap and Tumbleweed
contains only the CBLAS interface and libblas.so is also needed.
-------------------------------------------------------------------
Sat Mar 19 15:13:24 UTC 2016 - bwiedemann@suse.com
- Drop build date from doc to fix build-compare
-------------------------------------------------------------------
Fri Jan 8 09:37:38 UTC 2016 - toddrme2178@gmail.com
- update to version 1.10.4:
* see https://github.com/numpy/numpy/blob/master/doc/release/1.10.4-notes.rst
* There is no 1.10.3 due to packaging issues.
- update to version 1.10.2:
* see https://github.com/numpy/numpy/blob/master/doc/release/1.10.2-notes.rst
-------------------------------------------------------------------
Tue Oct 13 08:24:51 UTC 2015 - toddrme2178@gmail.com
- Update to 1.10.1
+ Bugfix for build problems
* Compiling with msvc9 or msvc10 for 32 bit Windows now requires SSE2.
This was the easiest fix for what looked to be some miscompiled code when
SSE2 was not used. If you need to compile for 32 bit Windows systems
without SSE2 support, mingw32 should still work.
* Make compiling with VS2008 python2.7 SDK easier
* Change Intel compiler options so that code will also be generated to
support systems without SSE4.2.
* Some _config test functions needed an explicit integer return in
order to avoid the openSUSE rpmlinter erring out.
* We ran into a problem with pipy not allowing reuse of filenames and a
resulting proliferation of *.*.*.postN releases. Not only were the names
getting out of hand, some packages were unable to work with the postN
suffix.
- Remove upstream-included numpy-1.10.0-remove_Wreturn_type_warnings.patch
-------------------------------------------------------------------
Tue Oct 6 09:30:18 UTC 2015 - toddrme2178@gmail.com
- Update to version 1.10.0
+ Highlights
* numpy.distutils now supports parallel compilation via the --parallel/-j
argument passed to setup.py build
* numpy.distutils now supports additional customization via site.cfg to
control compilation parameters, i.e. runtime libraries, extra
linking/compilation flags.
* Addition of *np.linalg.multi_dot*: compute the dot product of two or more
arrays in a single function call, while automatically selecting the
fastest evaluation order.
* The new function `np.stack` provides a general interface for joining a
sequence of arrays along a new axis, complementing `np.concatenate` for
joining along an existing axis.
* Addition of `nanprod` to the set of nanfunctions.
* Support for the '@' operator in Python 3.5.
+ Dropped Support:
* The _dotblas module has been removed. CBLAS Support is now in
Multiarray.
* The testcalcs.py file has been removed.
* The polytemplate.py file has been removed.
* npy_PyFile_Dup and npy_PyFile_DupClose have been removed from
npy_3kcompat.h.
* splitcmdline has been removed from numpy/distutils/exec_command.py.
* try_run and get_output have been removed from
numpy/distutils/command/config.py
* The a._format attribute is no longer supported for array printing.
* Keywords ``skiprows`` and ``missing`` removed from np.genfromtxt.
* Keyword ``old_behavior`` removed from np.correlate.
+ Future Changes:
* In array comparisons like ``arr1 == arr2``, many corner cases
involving strings or structured dtypes that used to return scalars
now issue ``FutureWarning`` or ``DeprecationWarning``, and in the
future will be change to either perform elementwise comparisons or
raise an error.
* The SafeEval class will be removed.
* The alterdot and restoredot functions will be removed.
- Rebase numpy-1.9.0-remove-__declspec.patch
-------------------------------------------------------------------
Wed Sep 23 07:31:55 UTC 2015 - toddrme2178@gmail.com
- update to version 1.9.3:
* #5866: fix error finding Python headers when build_ext --include-dirs is set;
* #6016: fix np.loadtxt error on Python 3.5 when reading from gzip files;
* #5555: Replace deprecated options for ifort;
* #6096: remove /GL for VS2015 in check_long_double_representation;
* #6141: enable Visual Studio 2015 C99 features;
* #6171: revert C99 complex for MSVC14.
- Fix latex dependencies.
- Disable building of latex packages on distros that don't support it
- Disable building of latex packages entirely since it is currently broken
-------------------------------------------------------------------
Mon Mar 2 15:38:20 UTC 2015 - toddrme2178@gmail.com
- Update to 1.9.2: Bugfix release
* #5316: fix too large dtype alignment of strings and complex types
* #5424: fix ma.median when used on ndarrays
* #5481: Fix astype for structured array fields of different byte order
* #5354: fix segfault when clipping complex arrays
* #5524: allow np.argpartition on non ndarrays
* #5612: Fixes ndarray.fill to accept full range of uint64
* #5155: Fix loadtxt with comments=None and a string None data
* #4476: Masked array view fails if structured dtype has datetime component
* #5388: Make RandomState.set_state and RandomState.get_state threadsafe
* #5390: make seed, randint and shuffle threadsafe
* #5374: Fixed incorrect assert_array_almost_equal_nulp documentation
* #5393: Add support for ATLAS > 3.9.33.
* #5313: PyArray_AsCArray caused segfault for 3d arrays
* #5492: handle out of memory in rfftf
* #4181: fix a few bugs in the random.pareto docstring
* #5359: minor changes to linspace docstring
* #4723: fix a compile issues on AIX
-------------------------------------------------------------------
Thu Nov 6 11:38:20 UTC 2014 - toddrme2178@gmail.com
- Update to 1.9.1: Bugfix release
* gh-5184: restore linear edge behaviour of gradient to as it was in < 1.9.
The second order behaviour is available via the `edge_order` keyword
* gh-4007: workaround Accelerate sgemv crash on OSX 10.9
* gh-5100: restore object dtype inference from iterable objects without
`len()`
* gh-5163: avoid gcc-4.1.2 (red hat 5) miscompilation causing a crash
* gh-5138: fix nanmedian on arrays containing inf
* gh-5203: copy inherited masks in MaskedArray.__array_finalize__
* gh-2317: genfromtxt did not handle filling_values=0 correctly
* gh-5067: restore api of npy_PyFile_DupClose in python2
* gh-5063: cannot convert invalid sequence index to tuple
* gh-5082: Segmentation fault with argmin() on unicode arrays
* gh-5095: don't propagate subtypes from np.where
* gh-5104: np.inner segfaults with SciPy's sparse matrices
* gh-5136: Import dummy_threading if importing threading fails
* gh-5148: Make numpy import when run with Python flag '-OO'
* gh-5147: Einsum double contraction in particular order causes ValueError
* gh-479: Make f2py work with intent(in out)
* gh-5170: Make python2 .npy files readable in python3
* gh-5027: Use 'll' as the default length specifier for long long
* gh-4896: fix build error with MSVC 2013 caused by C99 complex support
* gh-4465: Make PyArray_PutTo respect writeable flag
* gh-5225: fix crash when using arange on datetime without dtype set
* gh-5231: fix build in c99 mode
-------------------------------------------------------------------
Mon Sep 8 10:01:09 UTC 2014 - toddrme2178@gmail.com
- Update to 1.9.0
Highlights
* Numerous performance improvements in various areas, most
notably indexing and operations on small arrays are
significantly faster. Indexing operations now also release the
GIL.
* Addition of nanmedian and nanpercentile rounds out the
nanfunction set.
- Remove upstreamed numpy-double-double-le.patch
- Add numpy-1.9.0-remove-__declspec.patch
Fixes spurious warnings during build. These warnings are related
to a windows-specific function that is not built, so the patch
just removed the function.
See:
http://lists.opensuse.org/opensuse-packaging/2014-09/msg00004.html
- Added patch tag for numpy-buildfix.patch
-------------------------------------------------------------------
Mon Aug 11 10:09:38 UTC 2014 - toddrme2178@gmail.com
- Update to 1.8.2: Bugfix release
* gh-4836: partition produces wrong results for multiple selections in equal ranges
* gh-4656: Make fftpack._raw_fft threadsafe
* gh-4628: incorrect argument order to _copyto in in np.nanmax, np.nanmin
* gh-4642: Hold GIL for converting dtypes types with fields
* gh-4733: fix np.linalg.svd(b, compute_uv=False)
* gh-4853: avoid unaligned simd load on reductions on i386
* gh-4722: Fix seg fault converting empty string to object
* gh-4613: Fix lack of NULL check in array_richcompare
* gh-4774: avoid unaligned access for strided byteswap
* gh-650: Prevent division by zero when creating arrays from some buffers
* gh-4602: ifort has issues with optimization flag O2, use O1
- Switch to pypi download location
- Changed Url to current home page
- Minor spec file cleanups
-------------------------------------------------------------------
Mon Apr 14 05:24:31 UTC 2014 - arun@gmx.de
- bugfix release 1.8.1
-------------------------------------------------------------------
Tue Feb 4 00:55:42 UTC 2014 - dvaleev@suse.com
- add numpy-double-double-le.patch for ppc64le
-------------------------------------------------------------------
Thu Oct 31 10:17:25 UTC 2013 - toddrme2178@gmail.com
- Update to 1.8.0
Highlights:
* New, no 2to3, Python 2 and Python 3 are supported by a common code base.
* New, gufuncs for linear algebra, enabling operations on stacked arrays.
* New, inplace fancy indexing for ufuncs with the ``.at`` method.
* New, ``partition`` function, partial sorting via selection for fast median.
* New, ``nanmean``, ``nanvar``, and ``nanstd`` functions skipping NaNs.
* New, ``full`` and ``full_like`` functions to create value initialized arrays.
* New, ``PyUFunc_RegisterLoopForDescr``, better ufunc support for user dtypes.
* Numerous performance improvements in many areas.
- Add a new flag to easily enable/disable atlas support for if it
ever gets fixed in the future
- Rebase numpy-buildfix.patch
-------------------------------------------------------------------
Thu Aug 1 11:52:47 UTC 2013 - speilicke@suse.com
- The *.egg-info is a file, not a directory
-------------------------------------------------------------------
Fri May 3 22:27:24 UTC 2013 - toddrme2178@gmail.com
- Update to 1.7.1
* Bugfixes
-------------------------------------------------------------------
Tue Mar 12 06:21:52 UTC 2013 - highwaystar.ru@gmail.com
- update to 1.7.0
* This release includes several new features as well as numerous
bug fixes and refactorings
Highlights:
- ``where=`` parameter to ufuncs (allows the use of boolean
arrays to choose where a computation should be done)
- ``vectorize`` improvements (added 'excluded' and 'cache'
keyword, general cleanup and bug fixes)
- ``numpy.random.choice`` (random sample generating function)
New Features:
- Reduction UFuncs Generalize axis= Parameter
- Reduction UFuncs New keepdims= Parameter
- Datetime support
- Custom formatter for printing arrays
- New function numpy.random.choice
- New function isclose
- Preliminary multi-dimensional support in the polynomial package
- Ability to pad rank-n arrays
- New argument to searchsorted
- Added experimental support for the AArch64 architecture.
* For additional details check release notes at
http://sourceforge.net/projects/numpy/files/NumPy/1.7.0/
- numpy-aarch64.diff: removed, now upstream
-------------------------------------------------------------------
Fri Jun 1 12:08:16 UTC 2012 - toddrme2178@gmail.com
- Remove blas/lapack tests since these build successfully on all
targets now
- Add documentation packages
These are separate packages because a lot of packages depend on
numpy, so building the documentation inside the base spec file
would slow down the build process for the entire project

View File

@ -1,95 +0,0 @@
#
# spec file for package python-numpy-doc
#
# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
#
# 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 http://bugs.opensuse.org/
#
Name: python-numpy-doc
Version: 1.13.3
Release: 0
Summary: Documentation for python-numpy
License: BSD-3-Clause
Group: Development/Libraries/Python
Url: http://www.numpy.org/
Source: https://pypi.io/packages/source/n/numpy/numpy-%{version}.zip
# 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
BuildRequires: python3-Sphinx
BuildRequires: python3-devel
BuildRequires: python3-matplotlib
BuildRequires: python3-numpy-devel = %{version}
BuildRequires: python3-numpydoc
BuildRequires: python3-setuptools
BuildRequires: unzip
BuildRequires: zip
%if 0%{?suse_version}
BuildRequires: fdupes
%endif
Provides: python2-numpy-doc = %{version}
Provides: python2-numpy-doc-html = %{version}
Provides: python2-numpy-doc-pdf = %{version}
Provides: python3-numpy-doc = %{version}
Provides: python3-numpy-doc-html = %{version}
Provides: python3-numpy-doc-pdf = %{version}
Obsoletes: python2-numpy-doc-html < %{version}
Obsoletes: python2-numpy-doc-pdf < %{version}
Obsoletes: python3-numpy-doc-html < %{version}
Obsoletes: python3-numpy-doc-pdf < %{version}
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildArch: noarch
%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.
This package provides the documentation for NumPy
%prep
%setup -q -n numpy-%{version}
%patch0 -p1
%patch1 -p1
# drop build date from doc to fix build-compare
sed -i "s/\(html_last_updated_fmt = \).*/\\1None/" doc/source/conf.py
%build
# make the documentation
pushd doc
make html PYVER=%{py3_ver}
popd
%install
# install the documentation
mkdir -p %{buildroot}%{_docdir}/python-numpy/
cp -r doc/build/html %{buildroot}%{_docdir}/python-numpy/
%if 0%{?suse_version}
%fdupes %{buildroot}%{_docdir}/python-numpy/html/
%endif
%files
%defattr(-,root,root)
%{_docdir}/python-numpy/
%changelog

View File

@ -1,3 +1,15 @@
-------------------------------------------------------------------
Tue Oct 17 14:27:47 UTC 2017 - eich@suse.com
- Add magic to limit the number of flavors built in the OBS ring
to non-HPC builds.
-------------------------------------------------------------------
Tue Oct 3 18:44:35 UTC 2017 - eich@suse.com
- Convert to multibuild: Add support for HPC environment modules
(FATE#321709).
------------------------------------------------------------------- -------------------------------------------------------------------
Sat Sep 30 16:20:39 UTC 2017 - arun@gmx.de Sat Sep 30 16:20:39 UTC 2017 - arun@gmx.de

View File

@ -16,31 +16,58 @@
# #
%if 0%{?is_opensuse} == 0 %global flavor @BUILD_FLAVOR@%{nil}
%bcond_with openblas
%else %define ver 1.13.3
%ifarch armv6l %define _ver 1_13_3
%bcond_with openblas %define pname python-numpy
%ifarch s390x
%bcond_with openblas %bcond_with ringdisabled
%else
%else %if "%flavor" == ""
%if 0%{?sle_version} == 120200 ExclusiveArch: do_not_build
%ifarch i586
%bcond_with openblas
%else
%bcond_without openblas
%endif %endif
%if "%flavor" == "standard"
%bcond_with hpc
%ifarch armv6l s390x
%bcond_with openblas
%else
%bcond_without openblas
%endif
%endif
%if "%flavor" == "gnu-hpc"
%bcond_without hpc
%endif
%if "%flavor" == "gnu6-hpc"
%bcond_without hpc
%define c_f_ver 6
%endif
%if %{without hpc}
%define package_name %{pname}
%define p_python_sitearch %python_sitearch
%define p_prefix %_prefix
%define p_bindir %_bindir
%else %else
%bcond_without openblas # Magic for OBS Staging. Only build the flavors required by
%endif # other packages in the ring.
%endif %if %{with ringdisabled}
ExclusiveArch: do_not_build
%endif %endif
%{!?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
%endif %endif
%{?!python_module:%define python_module() python-%{**} python3-%{**}} %{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-numpy Name: %{package_name}
Version: 1.13.3 Version: %ver
Release: 0 Release: 0
Summary: NumPy array processing for numbers, strings, records and objects Summary: NumPy array processing for numbers, strings, records and objects
License: BSD-3-Clause License: BSD-3-Clause
@ -51,24 +78,33 @@ Source: https://pypi.io/packages/source/n/numpy/numpy-%{version}.zip
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 # 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 Patch1: numpy-1.9.0-remove-__declspec.patch
BuildRequires: blas-devel
%if 0%{?suse_version} %if 0%{?suse_version}
BuildRequires: fdupes BuildRequires: fdupes
%endif %endif
%if 0%{?suse_version} %if %{without hpc}
%if 0%{?suse_version}
BuildRequires: gcc-fortran BuildRequires: gcc-fortran
%else %else
BuildRequires: gcc-gfortran BuildRequires: gcc-gfortran
%endif
%if %{with openblas}
BuildRequires: openblas-devel
%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
%endif %endif
BuildRequires: %{python_module Cython} BuildRequires: %{python_module Cython}
BuildRequires: %{python_module devel} BuildRequires: %{python_module devel}
BuildRequires: %{python_module setuptools} BuildRequires: %{python_module setuptools}
BuildRequires: lapack-devel
BuildRequires: python-rpm-macros BuildRequires: python-rpm-macros
BuildRequires: unzip BuildRequires: unzip
%if %{with openblas} %{?with_hpc:%{hpc_requires}}
BuildRequires: openblas-devel
%endif
BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRoot: %{_tmppath}/%{name}-%{version}-build
%python_subpackages %python_subpackages
@ -85,65 +121,139 @@ interfacing with general-purpose data-base applications.
There are also basic facilities for discrete fourier transform, There are also basic facilities for discrete fourier transform,
basic linear algebra and random number generation. basic linear algebra and random number generation.
%{?with_hpc:%{hpc_python_master_package -L -a }}
%package devel %package devel
Summary: Development files for numpy applications Summary: Development files for numpy applications
Group: Development/Libraries/Python Group: Development/Libraries/Python
Requires: %{name} = %{version} Requires: %{name} = %{version}
Requires: blas-devel
%if 0%{?suse_version}
BuildRequires: gcc-fortran
%else
BuildRequires: gcc-gfortran
%endif
Requires: lapack-devel
Requires: python-devel Requires: python-devel
%if %{with openblas} %if %{without hpc}
%if %{with openblas}
Requires: openblas-devel Requires: openblas-devel
%else
Requires: blas-devel
Requires: lapack-devel
%endif
%else
Requires: openblas%{?hpc_ext}-%{compiler_family}%{?c_f_ver}-hpc-devel
%hpc_requires_devel
%endif %endif
%description devel %description devel
This package contains files for developing applications using numpy. This package contains files for developing applications using numpy.
%{?with_hpc:%{hpc_python_master_package devel -a }}
%prep %prep
%setup -q -n numpy-%{version} %setup -q -n numpy-%{version}
%patch0 -p1 %patch0 -p1
%patch1 -p1 %patch1 -p1
# Fix non-executable scripts # Fix non-executable scripts
sed -i "1d" numpy/{compat/setup,distutils/{conv_template,cpuinfo,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,matrixlib/setup,setup,testing/{print_coercion_tables,setup}}.py sed -i '1s/^#!.*$//' numpy/{compat/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,matrixlib/setup,setup,testing/{print_coercion_tables,setup}}.py
%build %build
%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 <<EOF
[openblas]
libraries = openblas
library_dirs = $OPENBLAS_LIB
include_dirs = $OPENBLAS_INC
EOF
%else
export CFLAGS="%{optflags} -fno-strict-aliasing" export CFLAGS="%{optflags} -fno-strict-aliasing"
%endif
%python_build %python_build
%install %install
%python_exec setup.py install --prefix=%{_prefix} --root=%{buildroot} %{?with_hpc:%{hpc_setup}}
%python_expand rm -rf %{buildroot}%{$python_sitearch}/numpy/{,core,distutils,f2py,fft,lib,linalg,ma,matrixlib,oldnumeric,polynomial,random,testing}/tests # Don't package testsuite %{?with_hpc:module load openblas}
%python_exec setup.py install --prefix=%{p_prefix} --root=%{buildroot}
%if 0%{?suse_version} %if 0%{?suse_version}
%fdupes %{buildroot}%{prefix} %fdupes %{buildroot}%{p_prefix}
%endif
%if %{without hpc}
%python_expand rm -rf %{buildroot}%{$python_sitearch}/numpy/{,core,distutils,f2py,fft,lib,linalg,ma,matrixlib,oldnumeric,polynomial,random,testing}/tests # Don't package testsuite
%else
%define hpc_module_pname python${py_ver/.*/}-numpy
%{python_expand # Don't package testsuite
py_ver=%{$python_version}
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
%hpc_write_modules_files
#%%Module1.0#####################################################################
proc ModulesHelp { } {
puts stderr " "
puts stderr "This module loads the %{pname} library built with the %{compiler_family} compiler"
puts stderr "toolchain."
puts stderr "\nVersion %{version}\n"
}
module-whatis "Name: %{pname} built with %{compiler_family} compiler"
module-whatis "Version: %{version}"
module-whatis "Category: python module"
module-whatis "Description: %{summary}"
module-whatis "URL %{url}"
set version %{version}
if [ expr [ module-info mode load ] || [module-info mode display ] ] {
if { ![is-loaded intel] && ![is-loaded openblas] } {
module load openblas
}
}
prepend-path PATH %{hpc_bindir}
prepend-path PYTHONPATH ${sitesearch_path}
setenv %{hpc_upcase %pname}_DIR %{hpc_prefix}
setenv %{hpc_upcase %pname}_BIN %{hpc_bindir}
EOF
}
%endif %endif
%files %{python_files} %files %{python_files}
%defattr(-,root,root) %defattr(-,root,root)
%doc *.txt %doc *.txt
%python2_only %{_bindir}/f2py2 %python2_only %{p_bindir}/f2py2
%python3_only %{_bindir}/f2py3 %python3_only %{p_bindir}/f2py3
%{python_sitearch}/numpy/ %{p_python_sitearch}/numpy/
%{python_sitearch}/numpy-%{version}-py*.egg-info %{p_python_sitearch}/numpy-%{version}-py*.egg-info
%exclude %{python_sitearch}/numpy/*/*/*.c %exclude %{p_python_sitearch}/numpy/*/*/*.c
%exclude %{python_sitearch}/numpy/*/*.h %exclude %{p_python_sitearch}/numpy/*/*.h
%exclude %{python_sitearch}/numpy/*/*/*.h %exclude %{p_python_sitearch}/numpy/*/*/*.h
%exclude %{python_sitearch}/numpy/*/*/*/*.h %exclude %{p_python_sitearch}/numpy/*/*/*/*.h
%exclude %{python_sitearch}/numpy/core/lib/libnpymath.a %exclude %{p_python_sitearch}/numpy/core/lib/libnpymath.a
%if %{with hpc}
%define hpc_module_pname python%(a=%{hpc_python_version}; echo -n ${a/.*/})-numpy
%{hpc_modules_files}
%{hpc_dirs}
%dir %hpc_bindir
%dir %{hpc_libdir}/python%{hpc_python_version}
%dir %{p_python_sitearch}
%endif
%files %{python_files devel} %files %{python_files devel}
%defattr(-,root,root) %defattr(-,root,root)
%doc LICENSE.txt %doc LICENSE.txt
%{python_sitearch}/numpy/*/*/*.c %{p_python_sitearch}/numpy/*/*/*.c
%{python_sitearch}/numpy/*/*.h %{p_python_sitearch}/numpy/*/*.h
%{python_sitearch}/numpy/*/*/*.h %{p_python_sitearch}/numpy/*/*/*.h
%{python_sitearch}/numpy/*/*/*/*.h %{p_python_sitearch}/numpy/*/*/*/*.h
%{python_sitearch}/numpy/core/lib/libnpymath.a %{p_python_sitearch}/numpy/core/lib/libnpymath.a
%changelog %changelog