]> git.pld-linux.org Git - packages/python-numpy.git/blobdiff - python-numpy.spec
- rebuild with lapack 3.7
[packages/python-numpy.git] / python-numpy.spec
index 7f0647ac0dd5821fa301b1b09dd16af7ea1c568a..37931fec963cffe11198a4fbdb77d1963a9f771f 100644 (file)
 #
-# TODO:
-#      - description for oldnumeric
-#
-%define                module  numpy
+# Conditional build:
+%bcond_without  python2 # CPython 2.x modules
+%bcond_without  python3 # CPython 3.x modules
 
-Summary:       Python numerical facilities
-Summary(pl.UTF-8):   Moduły do obliczeń numerycznych dla języka Python
+%define                module  numpy
+Summary:       Python 2 numerical facilities
+Summary(pl.UTF-8):     Moduły do obliczeń numerycznych dla języka Python 2
 Name:          python-%{module}
-Version:       1.0.1
-Release:       0.1
+Version:       1.12.1
+Release:       2
 Epoch:         1
-License:       distributable
+License:       BSD
 Group:         Libraries/Python
-Source0:       http://dl.sourceforge.net/numpy/%{module}-%{version}.tar.gz
-# Source0-md5: 13a29244cbe03e0d45e56d8d90ecb55d
+#Source0Download: https://github.com/numpy/numpy/releases/
+Source0:       https://github.com/numpy/numpy/releases/download/v%{version}/%{module}-%{version}.tar.gz
+# Source0-md5: 2abe6efb8ea0ac1716d1fc5fa90cbacf
+Patch0:                %{name}-fortran-version.patch
 URL:           http://sourceforge.net/projects/numpy/
-BuildRequires: python-devel >= 1:2.3
-%pyrequires_eq python-libs
+BuildRequires: gcc-fortran
+BuildRequires: lapack-devel >= 3.1.1-2
+%if %{with python2}
+BuildRequires: python-devel >= 1:2.7
+BuildRequires: python-setuptools
+%endif
+%if %{with python3}
+BuildRequires: python3-2to3
+BuildRequires: python3-devel >= 1:3.4
+BuildRequires: python3-setuptools
+%endif
+BuildRequires: rpm-pythonprov
+BuildRequires: rpmbuild(macros) >= 1.714
+Requires:      python-libs >= 1:2.7
 # -- dropped some time ago
 Obsoletes:     python-numpy-Properties
 # -- dropped some time ago, should have been released as separate package, but wasn't
 Obsoletes:     python-numpy-kinds
-# -- dropped during Numeric->numpy transition
+# old subpackage, merged into main
+Obsoletes:     python-numpy-FFT
+# -- dropped during Numeric->numpy transition (ma in main now?)
 Obsoletes:     python-numpy-MA
 Obsoletes:     python-numpy-RNG
-Provides:      f2py
-Provides:      numarray
+Obsoletes:     python-Numeric
+Obsoletes:     python-Numeric-FFT
+Obsoletes:     python-Numeric-MA
+Obsoletes:     python-Numeric-RNG
+Requires:      pydoc
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 %description
 NumPy is a collection of extension modules to provide high-performance
 multidimensional numeric arrays to the Python programming language.
 
+This package contains Python 2 modules.
+
 %description -l pl.UTF-8
-Pakiet umożliwia wydajne obliczenia numeryczne na macierzach
-wielowymiarowych.
+NumPy to zbiór modułów rozszerzeń zapewniających wydajne obliczenia
+numeryczne na macierzach wielowymiarowych w języku Python.
+
+Ten pakiet zawiera moduły Pythona 2.
 
 %package devel
-Summary:       C header files for numerical modules
-Summary(pl.UTF-8):   Pliki nagłówkowe języka C modułów numerycznych
+Summary:       C header files for Python 2 numerical modules
+Summary(pl.UTF-8):     Pliki nagłówkowe języka C modułów numerycznych Pythona 2
 Group:         Development/Languages/Python
 %pyrequires_eq python-devel
 Requires:      %{name} = %{epoch}:%{version}-%{release}
+Obsoletes:     python-Numeric-devel
 
 %description devel
-C header files for numerical modules.
+C header files for Python 2 numerical modules.
 
 %description devel -l pl.UTF-8
-Pliki nagłówkowe języka C modułów numerycznych.
+Pliki nagłówkowe języka C modułów numerycznych Pythona 2.
 
-%package FFT
-Summary:       Interface to the FFTPACK FORTRAN library
-Summary(pl.UTF-8):   Interfejs do biblioteki FFTPACK języka Fortran
+%package -n f2py
+Summary:       Fortran to Python 2 interface generator
+Summary(pl.UTF-8):     Generator interfejsów z Fortranu do Pythona 2
 Group:         Libraries/Python
-%pyrequires_eq python-libs
 Requires:      %{name} = %{epoch}:%{version}-%{release}
 
-%description FFT
-The FFT.py module provides a simple interface to the FFTPACK FORTRAN
-library, which is a powerful standard library for doing fast Fourier
-transforms of real and complex data sets.
-
-%description FFT -l pl.UTF-8
-Moduł FFT zawiera prosty interfejs do biblioteki FFTPACK języka
-Fortran. Ta biblioteka o wysokich możliwościach jest standardowo
-używana do prowadzenia obliczeń za pomocą dyskretnej transformaty
-Fouriera na liczba rzeczywistych i zespolonych.
+%description -n f2py
+Fortran to Python 2 interface generator.
 
-%package numarray
-Summary:       Array manipulation and computations for python
-Summary(pl.UTF-8):   Operacje i obliczenia na tablicach dla Pythona
-Group:         Development/Languages/Python
-Requires:      %{name} = %{epoch}:%{version}-%{release}
+%description -n f2py -l pl.UTF-8
+Generator interfejsów z Fortranu do Pythona 2.
 
-%description numarray
-Numarray provides array manipulation and computational capabilities
-similar to those found in IDL, Matlab, or Octave. Using numarray, it
-is possible to write many efficient numerical data processing
-applications directly in Python without using any C, C++ or Fortran
-code (as well as doing such analysis interactively within Python or
-PyRAF). For algorithms that are not well suited for efficient
-computation using array facilities it is possible to write C functions
-(and eventually Fortran) that can read and write numarray arrays that
-can be called from Python.
-
-Numarray is a re-implementation of an older Python array module called
-Numeric. In general its interface is very similar. It is mostly
-backward compatible and will be becoming more so in future releases.
-
-%description numarray -l pl.UTF-8
-Numarray zapewnia narzędzia do operacji oraz obliczeń na tablicach
-podobne do tych, jakie zapewniają IDL, Matlab czy Octave. Używając
-numarray możliwe jest stworzenie bezpośrednio w Pythonie, nie używając
-wstawek C, C++ czy fortranowych, wielu wydajnych aplikacji do
-przetwarzania danych numerycznych. Dla algorytmów, które nie pracują
-wydajnie z tablicami, możliwe jest napisanie funkcji C, które mogą
-czytać i zapisywać tablice numarray, i które mogą być wywoływane z
-poziomu Pythona.
-
-Numarray jest ponowną implementacją starszego modułu Pythona -
-Numeric. Interfejsy tych modułów są do siebie bardzo podobne. Numarray
-jest w większości przypadków kompatybilny wstecz, a sytuacja poprawi
-się w nowszych wersjach.
-
-%package numarray-devel
-Summary:       Header files for python-numarray
-Summary(pl.UTF-8):   Pliki nagłówkowe dla python-numarray
-Group:         Development/Libraries
-Requires:      %{name}-devel = %{epoch}:%{version}-%{release}
-Requires:      %{name}-numarray = %{epoch}:%{version}-%{release}
-
-%description numarray-devel
-Header files for python-numarray.
-
-%description numarray-devel -l pl.UTF-8
-Pliki nagłówkowe dla python-numarray.
-
-%package oldnumeric
-Summary:       Old numeric packages
-Summary(pl.UTF-8):   Stare pakiety numeric
+%package -n python3-%{module}
+Summary:       Python 3.x numerical facilities
+Summary(pl.UTF-8):     Moduły do obliczeń numerycznych dla języka Python 3.x
 Group:         Libraries/Python
+Requires:      python3-libs >= 1:3.4
 
-%description oldnumeric
-Old numeric packages.
+%description -n python3-%{module}
+NumPy is a collection of extension modules to provide high-performance
+multidimensional numeric arrays to the Python programming language.
 
-%description oldnumeric -l pl.UTF-8
-Stare pakiety numeric.
+This package contains Python 3 modules.
 
-%package -n f2py
-Summary:       Fortran to Python interface generator
-Summary(pl.UTF-8):   Generator interfejsów z Fortranu do Pythona
+%description -l pl.UTF-8 -n python3-%{module}
+NumPy to zbiór modułów rozszerzeń zapewniających wydajne obliczenia
+numeryczne na macierzach wielowymiarowych w języku Python.
+
+Ten pakiet zawiera moduły Pythona 3.
+
+%package -n python3-%{module}-devel
+Summary:       C header files for Python 3 numerical modules
+Summary(pl.UTF-8):     Pliki nagłówkowe języka C modułów numerycznych Pythona 3
+Group:         Development/Languages/Python
+%pyrequires_eq python3-devel
+Requires:      python3-%{module} = %{epoch}:%{version}-%{release}
+Obsoletes:     python-Numeric-devel
+
+%description -n python3-%{module}-devel
+C header files for Python 3 numerical modules.
+
+%description -n python3-%{module}-devel -l pl.UTF-8
+Pliki nagłówkowe języka C modułów numerycznych Pythona 3.
+
+%package -n f2py3
+Summary:       Fortran to Python 3 interface generator
+Summary(pl.UTF-8):     Generator interfejsów z Fortranu do Pythona 3
 Group:         Libraries/Python
-Requires:      python-%{module}
+Requires:      python3-%{module} = %{epoch}:%{version}-%{release}
 
-%description -n f2py
-Fortran to Python interface generator.
+%description -n f2py3
+Fortran to Python interface generator.
 
-%description -n f2py -l pl.UTF-8
-Generator interfejsów z Fortranu do Pythona.
+%description -n f2py3 -l pl.UTF-8
+Generator interfejsów z Fortranu do Pythona 3.
 
 %prep
 %setup -q -n %{module}-%{version}
+%patch0 -p1
 
 %build
-CC="%{__cc}"; export CC
-CFLAGS="%{rpmcflags}"; export CFLAGS
-python setup.py build
+# numpy.distutils uses CFLAGS/LDFLAGS as its own flags replacements,
+# instead of appending proper options (like -fPIC/-shared resp.)
+CFLAGS="%{rpmcflags} -fPIC"
+LDFLAGS="%{rpmldflags} -shared"
+
+%if %{with python2}
+%py_build
+%endif
+
+%if %{with python3}
+%py3_build
+%endif
 
 %install
 rm -rf $RPM_BUILD_ROOT
 
-python setup.py install \
-       --root=$RPM_BUILD_ROOT
+%if %{with python2}
+%py_install
 
 %py_ocomp $RPM_BUILD_ROOT%{py_sitedir}
 %py_comp $RPM_BUILD_ROOT%{py_sitedir}
-%py_postclean
 
-rm -rf $RPM_BUILD_ROOT%{py_sitedir}/%{module}/{*.txt,COMPATIBILITY,scipy_compatibility,doc}
-rm -rf $RPM_BUILD_ROOT%{py_sitedir}/%{module}/*/{tests,docs}
-# already in f2py package
-rm -rf $RPM_BUILD_ROOT%{py_sitedir}/%{module}/f2py/f2py.1
+%{__rm} -r $RPM_BUILD_ROOT%{py_sitedir}/%{module}/doc
+%{__rm} -r $RPM_BUILD_ROOT%{py_sitedir}/%{module}/*/tests
+
+%{__rm} $RPM_BUILD_ROOT%{py_sitedir}/%{module}/distutils/mingw/gfortran_vs2003_hack.c
+%endif
+
+%if %{with python3}
+%py3_install
+
+%py3_ocomp $RPM_BUILD_ROOT%{py3_sitedir}
+%py3_comp $RPM_BUILD_ROOT%{py3_sitedir}
+
+%{__rm} -r $RPM_BUILD_ROOT%{py3_sitedir}/%{module}/doc
+%{__rm} -r $RPM_BUILD_ROOT%{py3_sitedir}/%{module}/*/tests
+
+%{__rm} $RPM_BUILD_ROOT%{py3_sitedir}/%{module}/distutils/mingw/gfortran_vs2003_hack.c
+%endif
 
 %clean
 rm -rf $RPM_BUILD_ROOT
 
+%if %{with python2}
 %files
 %defattr(644,root,root,755)
 %dir %{py_sitedir}/%{module}
+%{py_sitedir}/%{module}/*.py
 %{py_sitedir}/%{module}/*.py[co]
-%{py_sitedir}/%{module}/tests
+%dir %{py_sitedir}/%{module}/compat
+%{py_sitedir}/%{module}/compat/*.py
+%{py_sitedir}/%{module}/compat/*.py[co]
 %dir %{py_sitedir}/%{module}/core
+%{py_sitedir}/%{module}/core/*.py
 %{py_sitedir}/%{module}/core/*.py[co]
 %attr(755,root,root) %{py_sitedir}/%{module}/core/*.so
 %dir %{py_sitedir}/%{module}/distutils
+%{py_sitedir}/%{module}/distutils/*.py
 %{py_sitedir}/%{module}/distutils/*.py[co]
-%{py_sitedir}/%{module}/distutils/site.cfg
 %dir %{py_sitedir}/%{module}/distutils/command
+%{py_sitedir}/%{module}/distutils/command/*.py
 %{py_sitedir}/%{module}/distutils/command/*.py[co]
 %dir %{py_sitedir}/%{module}/distutils/fcompiler
+%{py_sitedir}/%{module}/distutils/fcompiler/*.py
 %{py_sitedir}/%{module}/distutils/fcompiler/*.py[co]
+%dir %{py_sitedir}/%{module}/fft
+%{py_sitedir}/%{module}/fft/*.py
+%{py_sitedir}/%{module}/fft/*.py[co]
+%attr(755,root,root) %{py_sitedir}/%{module}/fft/fftpack_lite.so
 %dir %{py_sitedir}/%{module}/lib
+%{py_sitedir}/%{module}/lib/*.py
 %{py_sitedir}/%{module}/lib/*.py[co]
-%attr(755,root,root) %{py_sitedir}/%{module}/lib/*.so
 %dir %{py_sitedir}/%{module}/linalg
+%{py_sitedir}/%{module}/linalg/*.py
 %{py_sitedir}/%{module}/linalg/*.py[co]
-%attr(755,root,root) %{py_sitedir}/%{module}/linalg/*.so
+%attr(755,root,root) %{py_sitedir}/%{module}/linalg/_umath_linalg.so
+%attr(755,root,root) %{py_sitedir}/%{module}/linalg/lapack_lite.so
+%dir %{py_sitedir}/%{module}/ma
+%{py_sitedir}/%{module}/ma/*.py
+%{py_sitedir}/%{module}/ma/*.py[co]
+%dir %{py_sitedir}/%{module}/matrixlib
+%{py_sitedir}/%{module}/matrixlib/*.py
+%{py_sitedir}/%{module}/matrixlib/*.py[co]
+%dir %{py_sitedir}/%{module}/polynomial
+%{py_sitedir}/%{module}/polynomial/*.py
+%{py_sitedir}/%{module}/polynomial/*.py[co]
 %dir %{py_sitedir}/%{module}/random
+%{py_sitedir}/%{module}/random/*.py
 %{py_sitedir}/%{module}/random/*.py[co]
-%attr(755,root,root) %{py_sitedir}/%{module}/random/*.so
+%attr(755,root,root) %{py_sitedir}/%{module}/random/mtrand.so
 %dir %{py_sitedir}/%{module}/testing
+%{py_sitedir}/%{module}/testing/*.py
 %{py_sitedir}/%{module}/testing/*.py[co]
+%dir %{py_sitedir}/%{module}/tests
+%{py_sitedir}/%{module}/tests/*.py
+%{py_sitedir}/%{module}/tests/*.py[co]
+%{py_sitedir}/numpy-%{version}-py*.egg-info
 
 %files devel
 %defattr(644,root,root,755)
 %{py_sitedir}/%{module}/core/include
+%{py_sitedir}/%{module}/core/lib
 %{py_sitedir}/%{module}/random/*.h
 
-%files FFT
-%defattr(644,root,root,755)
-%dir %{py_sitedir}/%{module}/fft
-%attr(755,root,root) %{py_sitedir}/%{module}/fft/*.so
-%{py_sitedir}/%{module}/fft/*.py[co]
-
-%files numarray
+%files -n f2py
 %defattr(644,root,root,755)
-%dir %{py_sitedir}/%{module}/numarray
-%attr(755,root,root) %{py_sitedir}/%{module}/numarray/*.so
-%{py_sitedir}/%{module}/numarray/*.py[co]
+%attr(755,root,root) %{_bindir}/f2py2
+%dir %{py_sitedir}/%{module}/f2py
+%{py_sitedir}/%{module}/f2py/*.py
+%{py_sitedir}/%{module}/f2py/*.py[co]
+%{py_sitedir}/%{module}/f2py/src
+%endif
 
-%files numarray-devel
+%if %{with python3}
+%files -n python3-%{module}
 %defattr(644,root,root,755)
-%dir %{py_sitedir}/%{module}/numarray/numpy
-%{py_sitedir}/%{module}/numarray/numpy/*
-
-%files oldnumeric
+%dir %{py3_sitedir}/%{module}
+%{py3_sitedir}/%{module}/*.py
+%{py3_sitedir}/%{module}/__pycache__
+%dir %{py3_sitedir}/%{module}/compat
+%{py3_sitedir}/%{module}/compat/*.py
+%{py3_sitedir}/%{module}/compat/__pycache__
+%dir %{py3_sitedir}/%{module}/core
+%{py3_sitedir}/%{module}/core/*.py
+%{py3_sitedir}/%{module}/core/__pycache__
+%attr(755,root,root) %{py3_sitedir}/%{module}/core/*.cpython-3*.so
+%dir %{py3_sitedir}/%{module}/distutils
+%{py3_sitedir}/%{module}/distutils/*.py
+%{py3_sitedir}/%{module}/distutils/__pycache__
+%dir %{py3_sitedir}/%{module}/distutils/command
+%{py3_sitedir}/%{module}/distutils/command/*.py
+%{py3_sitedir}/%{module}/distutils/command/__pycache__
+%dir %{py3_sitedir}/%{module}/distutils/fcompiler
+%{py3_sitedir}/%{module}/distutils/fcompiler/*.py
+%{py3_sitedir}/%{module}/distutils/fcompiler/__pycache__
+%dir %{py3_sitedir}/%{module}/fft
+%{py3_sitedir}/%{module}/fft/*.py
+%{py3_sitedir}/%{module}/fft/__pycache__
+%attr(755,root,root) %{py3_sitedir}/%{module}/fft/fftpack_lite.cpython-3*.so
+%dir %{py3_sitedir}/%{module}/lib
+%{py3_sitedir}/%{module}/lib/*.py
+%{py3_sitedir}/%{module}/lib/__pycache__
+%dir %{py3_sitedir}/%{module}/linalg
+%{py3_sitedir}/%{module}/linalg/*.py
+%{py3_sitedir}/%{module}/linalg/__pycache__
+%attr(755,root,root) %{py3_sitedir}/%{module}/linalg/_umath_linalg.cpython-3*.so
+%attr(755,root,root) %{py3_sitedir}/%{module}/linalg/lapack_lite.cpython-3*.so
+%dir %{py3_sitedir}/%{module}/ma
+%{py3_sitedir}/%{module}/ma/*.py
+%{py3_sitedir}/%{module}/ma/__pycache__
+%dir %{py3_sitedir}/%{module}/matrixlib
+%{py3_sitedir}/%{module}/matrixlib/*.py
+%{py3_sitedir}/%{module}/matrixlib/__pycache__
+%dir %{py3_sitedir}/%{module}/polynomial
+%{py3_sitedir}/%{module}/polynomial/*.py
+%{py3_sitedir}/%{module}/polynomial/__pycache__
+%dir %{py3_sitedir}/%{module}/random
+%{py3_sitedir}/%{module}/random/*.py
+%{py3_sitedir}/%{module}/random/__pycache__
+%attr(755,root,root) %{py3_sitedir}/%{module}/random/mtrand.cpython-3*.so
+%dir %{py3_sitedir}/%{module}/testing
+%{py3_sitedir}/%{module}/testing/*.py
+%{py3_sitedir}/%{module}/testing/__pycache__
+%dir %{py3_sitedir}/%{module}/tests
+%{py3_sitedir}/%{module}/tests/*.py
+%{py3_sitedir}/%{module}/tests/__pycache__
+%{py3_sitedir}/numpy-%{version}-py*.egg-info
+
+%files -n python3-%{module}-devel
 %defattr(644,root,root,755)
-%dir %{py_sitedir}/%{module}/oldnumeric
-%{py_sitedir}/%{module}/oldnumeric/*
+%{py3_sitedir}/%{module}/core/include
+%{py3_sitedir}/%{module}/core/lib
+%{py3_sitedir}/%{module}/random/*.h
 
-%files -n f2py
+%files -n f2py3
 %defattr(644,root,root,755)
-%attr(744,root,root) %{_bindir}/f2py
-%dir %{py_sitedir}/%{module}/f2py
-%{py_sitedir}/%{module}/f2py/*.py[co]
-%{py_sitedir}/%{module}/f2py/src
-%{py_sitedir}/%{module}/f2py/lib
+%attr(755,root,root) %{_bindir}/f2py3
+%dir %{py3_sitedir}/%{module}/f2py
+%{py3_sitedir}/%{module}/f2py/*.py
+%{py3_sitedir}/%{module}/f2py/__pycache__
+%{py3_sitedir}/%{module}/f2py/src
+%endif
This page took 0.123323 seconds and 4 git commands to generate.