diff --git a/.gitignore b/.gitignore index e69de29..c3f76fc 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1,2 @@ +/funcsigs-0.4.tar.gz +/funcsigs-1.0.2.tar.gz diff --git a/no-unittest2.patch b/no-unittest2.patch new file mode 100644 index 0000000..1a4448c --- /dev/null +++ b/no-unittest2.patch @@ -0,0 +1,88 @@ +diff -rU3 funcsigs-1.0.2.orig/setup.py funcsigs-1.0.2/setup.py +--- funcsigs-1.0.2.orig/setup.py 2016-04-26 00:01:13.000000000 +0200 ++++ funcsigs-1.0.2/setup.py 2019-09-26 17:15:43.693886370 +0200 +@@ -47,6 +47,5 @@ + 'Programming Language :: Python :: Implementation :: PyPy', + 'Topic :: Software Development :: Libraries :: Python Modules' + ], +- tests_require = ['unittest2'], +- test_suite = 'unittest2.collector', ++ test_suite = 'tests', + ) +diff -rU3 funcsigs-1.0.2.orig/tests/test_formatannotation.py funcsigs-1.0.2/tests/test_formatannotation.py +--- funcsigs-1.0.2.orig/tests/test_formatannotation.py 2016-04-05 23:32:14.000000000 +0200 ++++ funcsigs-1.0.2/tests/test_formatannotation.py 2019-09-26 16:49:30.174351893 +0200 +@@ -1,6 +1,6 @@ + import funcsigs + +-import unittest2 as unittest ++import unittest + + class TestFormatAnnotation(unittest.TestCase): + def test_string (self): +diff -rU3 funcsigs-1.0.2.orig/tests/test_funcsigs.py funcsigs-1.0.2/tests/test_funcsigs.py +--- funcsigs-1.0.2.orig/tests/test_funcsigs.py 2016-04-05 23:32:14.000000000 +0200 ++++ funcsigs-1.0.2/tests/test_funcsigs.py 2019-09-26 16:49:26.315366071 +0200 +@@ -1,4 +1,4 @@ +-import unittest2 as unittest ++import unittest + + import doctest + import sys +diff -rU3 funcsigs-1.0.2.orig/tests/test_inspect.py funcsigs-1.0.2/tests/test_inspect.py +--- funcsigs-1.0.2.orig/tests/test_inspect.py 2016-04-05 23:32:14.000000000 +0200 ++++ funcsigs-1.0.2/tests/test_inspect.py 2019-09-26 17:05:25.946939291 +0200 +@@ -3,13 +3,24 @@ + import collections + import functools + import sys ++import contextlib + +-import unittest2 as unittest ++import unittest + + import funcsigs as inspect + ++if not hasattr(unittest.TestCase, 'assertRaisesRegex'): ++ class TestCase(unittest.TestCase): ++ @contextlib.contextmanager ++ def assertRaisesRegex(self, error, message): ++ with self.assertRaises(error) as cm: ++ yield cm ++ self.assertRegexpMatches(str(cm.exception), message) ++else: ++ TestCase = unittest.TestCase + +-class TestSignatureObject(unittest.TestCase): ++ ++class TestSignatureObject(TestCase): + @staticmethod + def signature(func): + sig = inspect.signature(func) +@@ -647,7 +658,7 @@ + """) + + +-class TestParameterObject(unittest.TestCase): ++class TestParameterObject(TestCase): + + def test_signature_parameter_kinds(self): + P = inspect.Parameter +@@ -761,7 +772,7 @@ + p.kind = 123 + + +-class TestSignatureBind(unittest.TestCase): ++class TestSignatureBind(TestCase): + @staticmethod + def call(func, *args, **kwargs): + sig = inspect.signature(func) +@@ -975,7 +986,7 @@ + self.assertEqual((an_f, 10), partial_f(*ba.args, **ba.kwargs)) + + +-class TestBoundArguments(unittest.TestCase): ++class TestBoundArguments(TestCase): + + def test_signature_bound_arguments_unhashable(self): + def foo(a): pass diff --git a/python-funcsigs.spec b/python-funcsigs.spec new file mode 100644 index 0000000..16660b7 --- /dev/null +++ b/python-funcsigs.spec @@ -0,0 +1,165 @@ +%global pypi_name funcsigs + +# when bootstrapping Python 3, funcsigs needs to be rebuilt before sphinx +%bcond_without doc + +Name: python-%{pypi_name} +Version: 1.0.2 +Release: 22%{?dist} +Summary: Python function signatures from PEP362 for Python 2.6, 2.7 and 3.2+ + +License: ASL 2.0 +URL: https://github.com/testing-cabal/funcsigs? +Source0: https://pypi.io/packages/source/f/%{pypi_name}/%{pypi_name}-%{version}.tar.gz +Patch0: no-unittest2.patch + +BuildArch: noarch + +%description +funcsigs is a backport of the PEP 362 function signature features from +Python 3.3's inspect module. The backport is compatible with Python 2.6, 2.7 +as well as 3.2 and up. + + +%package -n python3-%{pypi_name} +Summary: Python function signatures from PEP362 for Python 2.6, 2.7 and 3.2+ +%{?python_provide:%python_provide python3-%{pypi_name}} + +BuildRequires: python3-devel +BuildRequires: python3-setuptools +%if %{with doc} +BuildRequires: python3-sphinx +%endif + +%description -n python3-%{pypi_name} +funcsigs is a backport of the PEP 362 function signature features from +Python 3.3's inspect module. The backport is compatible with Python 2.6, 2.7 +as well as 3.2 and up. + +%if %{with doc} +%package -n python-%{pypi_name}-doc +Summary: funcsigs documentation +%description -n python-%{pypi_name}-doc +Documentation for funcsigs +%endif + +%prep +%autosetup -p1 -n %{pypi_name}-%{version} +# Remove bundled egg-info +rm -rf %{pypi_name}.egg-info + +%if 0%{?rhel} && 0%{?rhel} == 7 +sed -i '/extras_require/,+3d' setup.py +%endif + +%build +%py3_build + +%if %{with doc} +# generate html docs +sphinx-build docs html +# remove the sphinx-build leftovers +rm -rf html/.{doctrees,buildinfo} +%endif + +%install +# Must do the subpackages' install first because the scripts in /usr/bin are +# overwritten with every setup.py install. +%py3_install + + +%check +%{__python3} -m unittest tests.test_formatannotation +%{__python3} -m unittest tests.test_funcsigs +%{__python3} -m unittest tests.test_inspect + +%files -n python3-%{pypi_name} +%doc README.rst +%license LICENSE +%{python3_sitelib}/%{pypi_name}/ +%{python3_sitelib}/%{pypi_name}-%{version}-py?.*.egg-info/ + +%if %{with doc} +%files -n python-%{pypi_name}-doc +%doc html +%license LICENSE +%endif + +%changelog +* Wed Jul 29 2020 Fedora Release Engineering - 1.0.2-22 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Sat May 23 2020 Miro Hrončok - 1.0.2-21 +- Rebuilt for Python 3.9 + +* Fri May 22 2020 Miro Hrončok - 1.0.2-20 +- Bootstrap for Python 3.9 + +* Thu Jan 30 2020 Fedora Release Engineering - 1.0.2-19 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Thu Jan 9 2020 Zbigniew Jędrzejewski-Szmek - 1.0.2-18 +- Remove build dependency on python3-unittest2 (#1789200) + +* Thu Nov 28 2019 Miro Hrončok - 1.0.2-17 +- Subpackage python2-funcsigs has been removed + See https://fedoraproject.org/wiki/Changes/Mass_Python_2_Package_Removal + +* Thu Sep 26 2019 Petr Viktorin - 1.0.2-16 +- Remove build dependency on python2-unittest2 + +* Fri Aug 16 2019 Miro Hrončok - 1.0.2-15 +- Rebuilt for Python 3.8 + +* Wed Aug 14 2019 Miro Hrončok - 1.0.2-14 +- Bootstrap for Python 3.8 + +* Fri Jul 26 2019 Fedora Release Engineering - 1.0.2-13 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Sat Feb 02 2019 Fedora Release Engineering - 1.0.2-12 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Sat Jul 14 2018 Fedora Release Engineering - 1.0.2-11 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Wed Jun 13 2018 Miro Hrončok - 1.0.2-10 +- Rebuilt for Python 3.7 + +* Mon Feb 12 2018 Iryna Shcherbina - 1.0.2-9 +- Update Python 2 dependency declarations to new packaging standards + (See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3) + +* Fri Feb 09 2018 Fedora Release Engineering - 1.0.2-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Fri Sep 29 2017 Troy Dawson - 1.0.2-7 +- Cleanup spec file conditionals + +* Thu Jul 27 2017 Fedora Release Engineering - 1.0.2-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Sat Feb 11 2017 Fedora Release Engineering - 1.0.2-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Tue Dec 13 2016 Stratakis Charalampos - 1.0.2-4 +- Enable tests + +* Fri Dec 09 2016 Charalampos Stratakis - 1.0.2-3 +- Rebuild for Python 3.6 +- Disable python3 tests for now + +* Tue Jul 19 2016 Fedora Release Engineering - 1.0.2-2 +- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages + +* Sat Jun 11 2016 Haïkel Guémar - 1.0.2-1 +- Upstream 1.0.2 (RHBZ#1341262) + +* Thu Feb 04 2016 Fedora Release Engineering - 0.4-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Fri Dec 4 2015 Haïkel Guémar - 0.4-2 +- Add license file in doc subpackage + +* Wed Dec 02 2015 Haïkel Guémar - 0.4-1 +- Initial package. diff --git a/sources b/sources new file mode 100644 index 0000000..dabf58b --- /dev/null +++ b/sources @@ -0,0 +1 @@ +7e583285b1fb8a76305d6d68f4ccc14e funcsigs-1.0.2.tar.gz