%if 0%{?rhel} && 0%{?rhel} < 5 %{!?python_sitelib: %global python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")} %{!?python_version: %global python_version %(%{__python} -c "import sys ; print sys.version[:3]")} %endif %{!?python3_version: %global python3_version %(%{__python3} -c "import sys; sys.stdout.write(sys.version[:3])")} %if 0%{?fedora} %global with_python3 1 %endif %global upstream_name nose # Enable building without docs to avoid a circular dependency between this and python-sphinx %global with_docs 1 %global sum Discovery-based unit test extension for Python %global desc nose extends the test loading and running features of unit test, making\ it easier to write, find and run tests.\ \ By default, nose will run tests in files or directories under the\ current working directory whose names include "test" or "Test" at a\ word boundary (like "test_this" or "functional_test" or "TestClass"\ but not "libtest"). Test output is similar to that of unit test, but\ also includes captured stdout output from failing tests, for easy\ print-style debugging.\ \ These features, and many more, are customizable through the use of\ plugins. Plugins included with nose provide support for doctest, code\ coverage and profiling, flexible attribute-based test selection,\ output capture and more.\ Name: python-nose Version: 1.3.7 Release: 13%{?dist} BuildArch: noarch License: LGPLv2+ and Public Domain Summary: %{sum} Group: Development/Languages URL: https://nose.readthedocs.org/en/latest/ Source0: http://pypi.python.org/packages/source/n/nose/nose-%{version}.tar.gz # Make compatible with coverage 4.1 # https://github.com/nose-devs/nose/pull/1004 Patch0: https://src.fedoraproject.org/cgit/rpms/python-nose.git/plain/python-nose-coverage4.patch # Fix python 3.5 compat # https://github.com/nose-devs/nose/pull/983 Patch1: https://src.fedoraproject.org/cgit/rpms/python-nose.git/plain/python-nose-py35.patch # Fix UnicodeDecodeError with captured output # https://github.com/nose-devs/nose/pull/988 Patch2: https://src.fedoraproject.org/cgit/rpms/python-nose.git/plain/python-nose-unicode.patch # Allow docutils to read utf-8 source Patch3: https://src.fedoraproject.org/cgit/rpms/python-nose.git/plain/python-nose-readunicode.patch # Fix Python 3.6 compatibility # Python now returns ModuleNotFoundError instead of the previous ImportError # https://github.com/nose-devs/nose/pull/1029 Patch4: https://src.fedoraproject.org/cgit/rpms/python-nose.git/plain/python-nose-py36.patch BuildRequires: python2-devel %if 0%{?with_python3} BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-coverage >= 3.4-1 %endif BuildRequires: python-setuptools BuildRequires: dos2unix BuildRequires: python-coverage >= 3.4-1 %description %{desc} %package docs Summary: Nose Documentation Group: Documentation %if 0%{?with_docs} BuildRequires: python-sphinx %endif %description docs Documentation for Nose %package -n python2-%{upstream_name} Summary: %{sum} Requires: python-setuptools %{?python_provide:%python_provide python2-%{upstream_name}} %description -n python2-%{upstream_name} %{desc} %if 0%{?with_python3} %package -n python3-%{upstream_name} Summary: Discovery-based unit test extension for Python3 Group: Development/Languages Requires: python3-setuptools %{?python_provide:%python_provide python3-%{upstream_name}} %description -n python3-%{upstream_name} %{desc} This package installs the nose module and nosetests3 program that can discover python3 unit tests. %endif # with_python3 %prep %setup -q -n %{upstream_name}-%{version} %patch0 -p1 -b .coverage4 %patch1 -p1 -b .py35 %patch2 -p1 -b .unicode %patch3 -p1 -b .unicode %patch4 -p1 -b .py36 dos2unix examples/attrib_plugin.py %if 0%{?with_python3} rm -rf %{py3dir} cp -a . %{py3dir} %endif # with_python3 %build %py2_build %if 0%{?with_python3} pushd %{py3dir} %py3_build popd %endif # with_python3 %install # Must do the python3 install first because the scripts in /usr/bin are # overwritten with every setup.py install (and we want the python2 version # to be the default for now). %if 0%{?with_python3} pushd %{py3dir} %py3_install rm %{buildroot}%{_bindir}/nosetests ln -s ./nosetests-%{python3_version} %{buildroot}%{_bindir}/nosetests-3 mkdir -m 0755 -p %{buildroot}%{_mandir}/man1/ mv %{buildroot}%{_prefix}/man/man1/nosetests.1 %{buildroot}%{_mandir}/man1/nosetests-%{python3_version}.1 ln -s ./nosetests-%{python3_version}.1 %{buildroot}%{_mandir}/man1/nosetests-3.1 popd %endif # with_python3 %py2_install -- --install-data=%{_datadir} # Let's make /usr/bin/nosetests just be a symlink to nosetests-{python2_version} rm %{buildroot}%{_bindir}/nosetests ln -s nosetests-%{python2_version} %{buildroot}%{_bindir}/nosetests ln -s nosetests-%{python2_version} %{buildroot}%{_bindir}/nosetests-2 # We'll do something similar for the man page mv %{buildroot}%{_mandir}/man1/nosetests.1 %{buildroot}%{_mandir}/man1/nosetests-%{python2_version}.1 ln -s ./nosetests-%{python2_version}.1 %{buildroot}%{_mandir}/man1/nosetests.1 ln -s ./nosetests-%{python2_version}.1 %{buildroot}%{_mandir}/man1/nosetests-2.1 %if 0%{?with_docs} pushd doc make html rm -rf .build/html/.buildinfo .build/html/_sources mv .build/html .. rm -rf .build popd %endif # with_docs cp -a doc reST rm -rf reST/.static reST/.templates %check %{__python2} selftest.py %if 0%{?with_python3} pushd %{py3dir} export PYTHONPATH=`pwd`/build/lib %{__python3} setup.py build_tests %{__python3} selftest.py popd %endif # with_python3 %files -n python2-%{upstream_name} %license lgpl.txt %{_bindir}/nosetests %{_bindir}/nosetests-2 %{_bindir}/nosetests-%{python_version} %{_mandir}/man1/nosetests.1.gz %{_mandir}/man1/nosetests-2.1.gz %{_mandir}/man1/nosetests-%{python_version}.1.gz %{python_sitelib}/nose* %if 0%{?with_python3} %files -n python3-%{upstream_name} %license lgpl.txt %{_bindir}/nosetests-3 %{_bindir}/nosetests-%{python3_version} %{_mandir}/man1/nosetests-3.1.gz %{_mandir}/man1/nosetests-%{python3_version}.1.gz %{python3_sitelib}/nose* %endif %files docs %license lgpl.txt %doc AUTHORS CHANGELOG examples NEWS README.txt reST %if 0%{?with_docs} %doc html %endif # with_docs %changelog * Sat Feb 11 2017 Fedora Release Engineering - 1.3.7-13 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild * Mon Dec 12 2016 Tomas Orsava - 1.3.7-12 - Patched to fix compatibility with Python 3.6 * Mon Dec 05 2016 Randy Barlow - 1.3.7-11 - Provide nosetests-3 (#1289820). - Rename python-nose to python2-nose and use Python provides macro. - Include the license with the -docs subpackage. - Use symlinks to provide man pages for all the Python version variants of /usr/bin/nosetests. - The -docs subpackage no longer requires python-nose since that doesn't make sense. * Tue Nov 15 2016 Orion Poplawski 1.3.7-10 - Add upstream patch to fix python 3.5 compat - Add patch to allow docutils to read unicode source - Update spec * Wed Nov 9 2016 Orion Poplawski 1.3.7-9 - Add patch to fix build with coverage 4.1 * Tue Jul 19 2016 Fedora Release Engineering - 1.3.7-8 - https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages * Tue Feb 2 2016 Orion Poplawski 1.3.7-7 - Fix URL * Thu Sep 24 2015 Robert Kuska 1.3.7-6 - Rebuilt for Python3.5 rebuild with disabled tests under python3 * Sun Aug 09 2015 Kevin Fenzi 1.3.7-5 - Add conditional for python-sphinx buildrequires when with_docs is not set. - Fixes bug #1251700 * Fri Jul 24 2015 Kevin Fenzi 1.3.7-4 - Version provides correctly for python2-nose. * Fri Jul 17 2015 Kevin Fenzi 1.3.7-3 - Add provides for python2-nose. Fixes bug #1241670 * Thu Jun 18 2015 Fedora Release Engineering - 1.3.7-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild * Wed Jun 03 2015 Kevin Fenzi 1.3.7-1 - Update to 1.3.7 (#1227345) * Sat Apr 04 2015 Ralph Bean - 1.3.6-1 - new version * Wed Aug 27 2014 Luke Macken - 1.3.4-1 - Update to 1.3.4 (#1094718) * Sat Jun 07 2014 Fedora Release Engineering - 1.3.2-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild * Mon May 19 2014 Bohuslav Kabrda - 1.3.2-2 - Add patch for issue https://github.com/nose-devs/nose/pull/811, which makes tests of python-billiard and python-falcon fail with Python 3.4 * Sat May 03 2014 Orion Poplawski - 1.3.2-1 - Update to 1.3.2 for Python 3.4 suport * Fri May 02 2014 Orion Poplawski - 1.3.1-2 - Rebuild for Python 3.4 * Fri Mar 14 2014 Luke Macken - 1.3.1-1 - Update to 1.3.1 (#1074971) * Sun Aug 04 2013 Fedora Release Engineering - 1.3.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild * Tue Apr 9 2013 Toshio Kuratomi - 1.3.0-1 - Update to 1.3.0 upstream with python-3.3 fixes * Thu Feb 14 2013 Fedora Release Engineering - 1.2.1-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild * Wed Sep 12 2012 Toshio Kuratomi - 1.2.1-1 - New upsream 1.2.1 that just bumps the version properly * Mon Sep 10 2012 Toshio Kuratomi - 1.2.0-1 - Update to nose-1.2.0. - Two less python3 test failures than 1.1.2 * Sat Aug 4 2012 David Malcolm - 1.1.2-5 - rebuild for https://fedoraproject.org/wiki/Features/Python_3.3 - disable selftests that fail under 3.3 * Fri Aug 3 2012 David Malcolm - 1.1.2-4 - remove rhel logic from with_python3 conditional * Sat Jul 21 2012 Fedora Release Engineering - 1.1.2-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild * Sat Jan 14 2012 Fedora Release Engineering - 1.1.2-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild * Mon Aug 1 2011 Toshio Kuratomi - 1.1.2-1 - Upstream bugfix release * Wed Jul 27 2011 Toshio Kuratomi - 1.1.1-1 - Upstream bugfix release * Tue Feb 08 2011 Fedora Release Engineering - 1.0.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild * Sun Dec 26 2010 Toshio Kuratomi - 1.0.0-1 - Update to 1.0.0 - Create the docs subpackage for text docs even if we don't create the html docs. - Make python3 subpackage * Tue Dec 7 2010 Toshio Kuratomi - 0.11.4-2 - Fix FTBFS with newer coverage * Thu Oct 21 2010 Luke Macken - 0.11.4-1 - Update to 0.11.4 (#3630722) * Wed Jul 21 2010 David Malcolm - 0.11.3-5 - add support for building without docs, to avoid a circular build-time dependency between this and python-sphinx; disable docs subpackage for now - add (apparently) missing BR on python-coverage (appears to be needed for %%check) - cherrypick upstream compatibility fixes for 2.7 * Wed Jul 21 2010 David Malcolm - 0.11.3-4 - Rebuilt for https://fedoraproject.org/wiki/Features/Python_2.7/MassRebuild * Thu May 20 2010 Luke Macken - 0.11.3-3 - Update URL to http://code.google.com/p/python-nose/ - Align description to reflect that in setup.py - Create a docs subpackage containing HTML & reST documentation - Thanks to Gareth Armstrong at HP for the patch * Thu May 06 2010 Luke Macken - 0.11.3-2 - Don't hardcode the python version * Thu May 06 2010 Luke Macken - 0.11.3-1 - Update to 0.11.3 - Enable the self tests * Mon Oct 05 2009 Luke Macken - 0.11.1-2 - Include the new nosetests-2.6 script as well * Mon Oct 05 2009 Luke Macken - 0.11.1-1 - Update to 0.11.1 * Sun Jul 26 2009 Fedora Release Engineering - 0.10.4-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild * Thu Feb 26 2009 Fedora Release Engineering - 0.10.4-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild * Sat Nov 29 2008 Ignacio Vazquez-Abrams - 0.10.4-1 - Update to 0.10.4 to fix 2.6 issues * Sat Nov 29 2008 Ignacio Vazquez-Abrams - 0.10.3-2 - Rebuild for Python 2.6 * Sat Aug 02 2008 Luke Macken 0.10.3-1 - Update to 0.10.3 * Thu Feb 28 2008 Luke Macken 0.10.1-1 - Update to 0.10.1 * Mon Dec 3 2007 Luke Macken 0.10.0-2 - Add python-setuptools to Requires (Bug #408491) * Tue Nov 27 2007 Luke Macken 0.10.0-1 - 0.10.0 * Sun Sep 2 2007 Luke Macken 0.10.0-0.3.b1 - Update for python-setuptools changes in rawhide * Tue Aug 21 2007 Luke Macken 0.10.0-0.2.b1 - 0.10.0b1 - Update license tag to LGPLv2 * Wed Jun 20 2007 Luke Macken 0.10.0-0.1.a2 - 0.10.0a2 * Sat Jun 2 2007 Luke Macken 0.9.3-1 - Latest upstream release - Remove python-nose-0.9.2-mandir.patch * Sat Mar 3 2007 Luke Macken 0.9.2-1 - Add nosetests(1) manpage, and python-nose-0.9.2-mandir.patch to put it in the correct location. - 0.9.2 * Sat Dec 9 2006 Luke Macken 0.9.1-2 - Rebuild for python 2.5 * Fri Nov 24 2006 Luke Macken 0.9.1-1 - 0.9.1 * Fri Sep 8 2006 Luke Macken 0.9.0-1 - 0.9.0 * Wed Apr 19 2006 Ignacio Vazquez-Abrams 0.8.7.2-1 - Initial RPM release