%global upname scikit-learn %global with_python3 1 Name: python-scikit-learn Version: 0.15.0 Release: 0.4.b1%{?dist} Summary: Machine learning in Python License: BSD URL: http://scikit-learn.org/ #Source0: https://pypi.python.org/packages/source/s/scikit-learn/%{upname}-%{version}.tar.gz Source0: https://pypi.python.org/packages/source/s/scikit-learn/scikit-learn-0.15.0b1.tar.gz Source1: system-six.py Source2: system-joblib.py Patch0: sklearn-unbundle-joblib.patch Patch2: sklearn-unbundle-cblas.patch Patch3: sklearn-fix-test.patch BuildRequires: python2-devel BuildRequires: numpy scipy python-nose python-matplotlib BuildRequires: python-joblib >= 0.8.0 BuildRequires: python-six >= 1.4.1 BuildRequires: atlas-devel blas-devel BuildRequires: Cython python-pillow Requires: numpy scipy python-joblib >= 0.8.0 # we don't want to provide private python extension libs %global __provides_exclude_from ^(%{python2_sitearch}|%{python3_sitearch})/.*\\.so$ %description Scikit-learn integrates machine learning algorithms in the tightly-knit scientific Python world, building upon numpy, scipy, and matplotlib. As a machine-learning module, it provides versatile tools for data mining and analysis in any field of science and engineering. It strives to be simple and efficient, accessible to everybody, and reusable in various contexts. %if 0%{?with_python3} %package -n python3-%{upname} Summary: Machine learning in Python BuildRequires: python3-devel python3-nose BuildRequires: python3-numpy python3-scipy python3-matplotlib BuildRequires: python3-joblib >= 0.8.0 BuildRequires: python3-six >= 1.4.1 BuildRequires: atlas-devel blas-devel BuildRequires: python3-Cython python3-pillow Requires: python3-numpy python3-scipy python3-joblib >= 0.8.0 %description -n python3-%{upname} Scikit-learn integrates machine learning algorithms in the tightly-knit scientific Python world, building upon numpy, scipy, and matplotlib. As a machine-learning module, it provides versatile tools for data mining and analysis in any field of science and engineering. It strives to be simple and efficient, accessible to everybody, and reusable in various contexts. %endif # with_python3 %prep #%setup -n %{upname}-%{version} -q %setup -n %{upname}-0.15.0b1 -q %patch0 -p1 # Code to load system six and joblib at runtime mkdir sklearn/externals/bundled touch sklearn/externals/bundled/__init__.py mv sklearn/externals/six.py sklearn/externals/bundled mv sklearn/externals/joblib sklearn/externals/bundled mv sklearn/externals/test_externals_setup.py sklearn/externals/bundled cp %{SOURCE1} sklearn/externals/six.py cp %{SOURCE2} sklearn/externals/joblib.py %patch2 -p1 rm -rf sklearn/src/cblas chmod -x examples/decomposition/plot_pca_vs_fa_model_selection.py find -name '*.py' | xargs sed -i '1s|^#!python|#!%{__python2}|' %if 0%{?with_python3} rm -rf %{py3dir} cp -a . %{py3dir} find %{py3dir} -name '*.py' | xargs sed -i '1s|^#!python|#!%{__python3}|' %endif # with_python3 %build CFLAGS="%{optflags}" %{__python2} setup.py build %if 0%{?with_python3} pushd %{py3dir} CFLAGS="%{optflags}" %{__python3} setup.py build popd %endif # with_python3 %install %if 0%{?with_python3} pushd %{py3dir} %{__python3} setup.py install --skip-build --root %{buildroot} popd %endif # with_python3 %{__python2} setup.py install --skip-build --root %{buildroot} find %{buildroot} -name "*.so" | xargs chmod 755 %check %if 0%{?with_python3} pushd %{buildroot}/%{python3_sitearch} # nosetests-%{python3_version} -x sklearn popd %endif # with_python3 pushd %{buildroot}/%{python_sitearch} # nosetests-%{python2_version} -x sklearn popd %files %doc examples/ AUTHORS.rst README.rst COPYING %{python2_sitearch}/sklearn %{python2_sitearch}/scikit_learn-*.egg-info %if 0%{?with_python3} %files -n python3-%{upname} %doc examples/ AUTHORS.rst README.rst COPYING %{python3_sitearch}/sklearn %{python3_sitearch}/scikit_learn-*.egg-info %endif # with_python3 %changelog * Tue Jun 24 2014 Sergio Pascual - 0.15.0-0.4.b1 - Add COPYING to docs - Spec cleanup * Mon Jun 23 2014 Sergio Pascual - 0.15.0-0.3.b1 - New upstream (0.15.0b1), beta release - Add tarball - Disable tests for the moment * Sat Jun 07 2014 Fedora Release Engineering - 0.14.1-9 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild * Mon Jun 02 2014 Bohuslav Kabrda - 0.14.1-8 - Rebuilt for https://fedoraproject.org/wiki/Changes/Python_3.4 * Mon Jun 02 2014 Sergio Pascual - 0.14.1-7 - Rerun Cython3 on broken files - Disable tests for the moment * Thu May 29 2014 Björn Esser - 0.14.1-6 - rebuilt for Python3 3.4 * Wed Jan 15 2014 Sergio Pascual - 0.14.1-5 - Enable checks - Regenerate C files from patched cython code - Use python2 style macros * Sat Oct 26 2013 Björn Esser - 0.14.1-4 - rebuilt for atlas-3.10.1-7 * Mon Sep 16 2013 Sergio Pascual - 0.14.1-3 - Unbundle six * Wed Sep 11 2013 Sergio Pascual - 0.14.1-2 - Update cblas patch - Update EVR to build with new numpy (1.8.0-0.3b2) * Wed Aug 28 2013 Sergio Pascual - 0.14.1-1 - New upstream source (0.14.1) - Add python3 support - Unbundle joblib and cblas * Wed Jul 10 2013 Sergio Pascual - 0.13.1-3 - Reorder buildrequires and requires - Dropped doc, it does not build * Tue Jun 25 2013 Sergio Pascual - 0.13.1-2 - Changed package name - Tests do not need recompile * Thu Apr 18 2013 Sergio Pascual - 0.13.1-1 - Initial spec file