future package created
Signed-off-by: tuibuilder_pel7x64builder0 <tuibuilder@powerel.org>master
parent
52dc1610db
commit
18aea701fc
|
@ -0,0 +1,50 @@
|
|||
##Skipping tests due to connection failures on Fedora build-system
|
||||
##See https://github.com/PythonCharmers/python-future/issues/165
|
||||
|
||||
--- tests/test_future/test_standard_library.orig.py 2014-11-21 12:52:03.000000000 +0100
|
||||
+++ tests/test_future/test_standard_library.py 2015-09-02 11:37:36.808826777 +0200
|
||||
@@ -318,7 +318,7 @@
|
||||
import builtins
|
||||
self.assertTrue(hasattr(builtins, 'tuple'))
|
||||
|
||||
- # @unittest.skip("ssl support has been stripped out for now ...")
|
||||
+ @unittest.skip("ConnectionError: ('Connection aborted.', gaierror(-3, 'Temporary failure in name resolution'))...")
|
||||
def test_urllib_request_ssl_redirect(self):
|
||||
"""
|
||||
This site redirects to https://...
|
||||
@@ -332,6 +332,7 @@
|
||||
# pprint(r.read().decode('utf-8'))
|
||||
self.assertTrue(True)
|
||||
|
||||
+ @unittest.skip("ConnectionError: ('Connection aborted.', gaierror(-3, 'Temporary failure in name resolution'))...")
|
||||
def test_moves_urllib_request_http(self):
|
||||
"""
|
||||
This site (python-future.org) uses plain http (as of 2014-09-23).
|
||||
@@ -343,6 +343,7 @@
|
||||
data = r.read()
|
||||
self.assertTrue(b'</html>' in data)
|
||||
|
||||
+ @unittest.skip("ConnectionError: ('Connection aborted.', gaierror(-3, 'Temporary failure in name resolution'))...")
|
||||
def test_urllib_request_http(self):
|
||||
"""
|
||||
This site (python-future.org) uses plain http (as of 2014-09-23).
|
||||
|
||||
--- tests/test_future/test_requests.orig.py 2014-11-21 12:52:03.000000000 +0100
|
||||
+++ tests/test_future/test_requests.py 2015-09-02 11:39:01.509378296 +0200
|
||||
@@ -57,6 +57,7 @@
|
||||
This class tests whether the requests module conflicts with the
|
||||
standard library import hooks, as in issue #19.
|
||||
"""
|
||||
+ @unittest.skip("ConnectionError: ('Connection aborted.', gaierror(-3, 'Temporary failure in name resolution'))...")
|
||||
def test_remove_hooks_then_requests(self):
|
||||
code = """
|
||||
from future import standard_library
|
||||
@@ -79,6 +80,7 @@
|
||||
self.assertTrue(True)
|
||||
|
||||
|
||||
+ @unittest.skip("ConnectionError: ('Connection aborted.', gaierror(-3, 'Temporary failure in name resolution'))...")
|
||||
def test_requests_cm(self):
|
||||
"""
|
||||
Tests whether requests can be used importing standard_library modules
|
||||
|
|
@ -0,0 +1,246 @@
|
|||
%{!?python2_shortver: %global python2_shortver %(%{__python2} -c 'import sys; print(str(sys.version_info.major) + "." + str(sys.version_info.minor))')}
|
||||
%{!?python3_shortver: %global python3_shortver %(%{__python3} -c 'import sys; print(str(sys.version_info.major) + "." + str(sys.version_info.minor))')}
|
||||
%{!?__python2: %global __python2 /usr/bin/python2}
|
||||
%{!?python2_sitelib: %global python2_sitelib %(%{__python2} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")}
|
||||
%{!?python2_sitearch: %global python2_sitearch %(%{__python2} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(1))")}
|
||||
%{!?python3_shortver: %global python3_shortver %(%{__python3} -c 'import sys; print(str(sys.version_info.major) + "." + str(sys.version_info.minor))')}
|
||||
|
||||
Name: future
|
||||
Summary: Easy, clean, reliable Python 2/3 compatibility
|
||||
Version: 0.16.0
|
||||
Release: 6%{?dist}
|
||||
License: MIT
|
||||
Group: Applications/Engineering
|
||||
URL: http://python-future.org/
|
||||
Source0: https://github.com/PythonCharmers/python-future/archive/v%{version}.tar.gz#/python-future-%{version}.tar.gz
|
||||
BuildArch: noarch
|
||||
##https://github.com/PythonCharmers/python-future/issues/165
|
||||
Patch0: %{name}-skip_tests_with_connection_errors.patch
|
||||
BuildRequires: python2-devel
|
||||
BuildRequires: python-setuptools
|
||||
BuildRequires: numpy
|
||||
BuildRequires: python-requests
|
||||
BuildRequires: pytest
|
||||
|
||||
%description
|
||||
%{name} is the missing compatibility layer between Python 2 and
|
||||
Python 3. It allows you to use a single, clean Python 3.x-compatible
|
||||
codebase to support both Python 2 and Python 3 with minimal overhead.
|
||||
|
||||
It provides ``future`` and ``past`` packages with backports and forward
|
||||
ports of features from Python 3 and 2. It also comes with ``futurize`` and
|
||||
``pasteurize``, customized 2to3-based scripts that helps you to convert
|
||||
either Py2 or Py3 code easily to support both Python 2 and 3 in a single
|
||||
clean Py3-style codebase, module by module.
|
||||
|
||||
%package -n python2-%{name}
|
||||
Summary: Easy, clean, reliable Python 2/3 compatibility
|
||||
%{?python_provide:%python_provide python2-%{name}}
|
||||
Provides: future = 0:%{version}-%{release}
|
||||
%description -n python2-%{name}
|
||||
Python2 %{name} is the missing compatibility layer between Python 2 and
|
||||
Python 3. It allows you to use a single, clean Python 3.x-compatible
|
||||
codebase to support both Python 2 and Python 3 with minimal overhead.
|
||||
|
||||
It provides ``future`` and ``past`` packages with backports and forward
|
||||
ports of features from Python 3 and 2. It also comes with ``futurize`` and
|
||||
``pasteurize``, customized 2to3-based scripts that helps you to convert
|
||||
either Py2 or Py3 code easily to support both Python 2 and 3 in a single
|
||||
clean Py3-style codebase, module by module.
|
||||
|
||||
%package -n python%{python3_pkgversion}-%{name}
|
||||
Summary: Easy, clean, reliable Python 2/3 compatibility
|
||||
%{?python_provide:%python_provide python%{python3_pkgversion}-%{name}}
|
||||
BuildRequires: python%{python3_pkgversion}-devel
|
||||
BuildRequires: python%{python3_pkgversion}-setuptools
|
||||
BuildRequires: python%{python3_pkgversion}-numpy
|
||||
BuildRequires: python%{python3_pkgversion}-requests
|
||||
BuildRequires: python%{python3_pkgversion}-pytest
|
||||
|
||||
%description -n python%{python3_pkgversion}-%{name}
|
||||
Python3-%{name} is the missing compatibility layer between Python 2 and
|
||||
Python 3. It allows you to use a single, clean Python 3.x-compatible
|
||||
codebase to support both Python 2 and Python 3 with minimal overhead.
|
||||
|
||||
It provides ``future`` and ``past`` packages with backports and forward
|
||||
ports of features from Python 3 and 2. It also comes with ``futurize`` and
|
||||
``pasteurize``, customized 2to3-based scripts that helps you to convert
|
||||
either Py2 or Py3 code easily to support both Python 2 and 3 in a single
|
||||
clean Py3-style codebase, module by module.
|
||||
|
||||
%prep
|
||||
%setup -qc
|
||||
|
||||
mv python-future-%{version} python2
|
||||
pushd python2
|
||||
find -name '*.py' | xargs sed -i '1s|^#!python|#!%{__python2}|'
|
||||
%patch0 -p0
|
||||
popd
|
||||
|
||||
cp -a python2 python3
|
||||
find python3 -name '*.py' | xargs sed -i '1s|^#!python|#!%{__python3}|'
|
||||
|
||||
%build
|
||||
pushd python2
|
||||
CFLAGS="%{optflags}" %{__python2} setup.py build --executable="%{__python2} -s"
|
||||
popd
|
||||
|
||||
pushd python3
|
||||
CFLAGS="%{optflags}" %{__python3} setup.py build --executable="%{__python3} -s"
|
||||
popd
|
||||
|
||||
%install
|
||||
|
||||
pushd python3
|
||||
CFLAGS="%{optflags}" %{__python3} setup.py install -O1 --skip-build --root $RPM_BUILD_ROOT
|
||||
mv $RPM_BUILD_ROOT%{_bindir}/futurize $RPM_BUILD_ROOT%{_bindir}/python%{python3_pkgversion}-futurize
|
||||
mv $RPM_BUILD_ROOT%{_bindir}/pasteurize $RPM_BUILD_ROOT%{_bindir}/python%{python3_pkgversion}-pasteurize
|
||||
sed -i -e '/^#!\//, 1d' $RPM_BUILD_ROOT%{python3_sitelib}/future/backports/test/pystone.py
|
||||
|
||||
for i in futurize-3 futurize-%{?python3_shortver}; do
|
||||
touch $i
|
||||
install -p $i $RPM_BUILD_ROOT%{_bindir}
|
||||
ln -sf %{_bindir}/python%{python3_pkgversion}-futurize $RPM_BUILD_ROOT%{_bindir}/$i
|
||||
done
|
||||
for i in pasteurize-3 pasteurize-%{?python3_shortver}; do
|
||||
touch $i
|
||||
install -p $i $RPM_BUILD_ROOT%{_bindir}
|
||||
ln -sf %{_bindir}/python%{python3_pkgversion}-pasteurize $RPM_BUILD_ROOT%{_bindir}/$i
|
||||
done
|
||||
popd
|
||||
|
||||
pushd python2
|
||||
CFLAGS="%{optflags}" %{__python2} setup.py install -O1 --skip-build --root $RPM_BUILD_ROOT
|
||||
cp -p $RPM_BUILD_ROOT%{_bindir}/futurize $RPM_BUILD_ROOT%{_bindir}/python%{python2_version}-futurize
|
||||
cp -p $RPM_BUILD_ROOT%{_bindir}/pasteurize $RPM_BUILD_ROOT%{_bindir}/python%{python2_version}-pasteurize
|
||||
|
||||
for i in futurize futurize-2 futurize-%{python2_version}; do
|
||||
touch $i
|
||||
install -p $i $RPM_BUILD_ROOT%{_bindir}
|
||||
ln -sf %{_bindir}/python%{python2_version}-futurize $RPM_BUILD_ROOT%{_bindir}/$i
|
||||
done
|
||||
for i in pasteurize pasteurize-2 pasteurize-%{python2_version}; do
|
||||
touch $i
|
||||
install -p $i $RPM_BUILD_ROOT%{_bindir}
|
||||
ln -sf %{_bindir}/python%{python2_version}-pasteurize $RPM_BUILD_ROOT%{_bindir}/$i
|
||||
done
|
||||
sed -i -e '/^#!\//, 1d' $RPM_BUILD_ROOT%{python2_sitelib}/future/backports/test/pystone.py
|
||||
popd
|
||||
|
||||
##This packages ships PEM certificates in future/backports/test directory
|
||||
##It's for testing purpose, i guess. Ignore them.
|
||||
%check
|
||||
pushd python2
|
||||
PYTHONPATH=$PWD/build/lib py.test -v
|
||||
popd
|
||||
|
||||
pushd python3
|
||||
PYTHONPATH=$PWD/build/lib py.test-%{python3_pkgversion} -v
|
||||
popd
|
||||
|
||||
%files -n python2-%{name}
|
||||
%{!?_licensedir:%global license %doc}
|
||||
%doc python2/README.rst
|
||||
%license python2/LICENSE.txt
|
||||
%{_bindir}/futurize
|
||||
%{_bindir}/futurize-2*
|
||||
%{_bindir}/pasteurize
|
||||
%{_bindir}/pasteurize-2*
|
||||
%{_bindir}/python%{python2_version}-futurize
|
||||
%{_bindir}/python%{python2_version}-pasteurize
|
||||
%{python2_sitelib}/future/
|
||||
%{python2_sitelib}/past/
|
||||
%{python2_sitelib}/libfuturize/
|
||||
%{python2_sitelib}/libpasteurize/
|
||||
%{python2_sitelib}/tkinter/
|
||||
%{python2_sitelib}/_dummy_thread/
|
||||
%{python2_sitelib}/_markupbase/
|
||||
%{python2_sitelib}/_thread/
|
||||
%{python2_sitelib}/builtins/
|
||||
%{python2_sitelib}/copyreg/
|
||||
%{python2_sitelib}/html/
|
||||
%{python2_sitelib}/http/
|
||||
%{python2_sitelib}/queue/
|
||||
%{python2_sitelib}/reprlib/
|
||||
%{python2_sitelib}/socketserver/
|
||||
%{python2_sitelib}/winreg/
|
||||
%{python2_sitelib}/xmlrpc/
|
||||
%{python2_sitelib}/*.egg-info
|
||||
|
||||
%files -n python%{python3_pkgversion}-%{name}
|
||||
%{!?_licensedir:%global license %doc}
|
||||
%license python3/LICENSE.txt
|
||||
%doc python3/README.rst
|
||||
%{_bindir}/futurize-3
|
||||
%{_bindir}/futurize-%{?python3_shortver}
|
||||
%{_bindir}/pasteurize-3
|
||||
%{_bindir}/pasteurize-%{?python3_shortver}
|
||||
%{_bindir}/python%{python3_pkgversion}-futurize
|
||||
%{_bindir}/python%{python3_pkgversion}-pasteurize
|
||||
%{python3_sitelib}/future/
|
||||
%{python3_sitelib}/past/
|
||||
%{python3_sitelib}/libfuturize/
|
||||
%{python3_sitelib}/libpasteurize/
|
||||
%{python3_sitelib}/*.egg-info
|
||||
|
||||
%changelog
|
||||
* Fri Dec 15 2017 Antonio Trande <sagitterATfedoraproject.org> - 0.16.0-6
|
||||
- Python3 built on epel7
|
||||
|
||||
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.16.0-5
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
|
||||
|
||||
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.16.0-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
|
||||
|
||||
* Mon Dec 19 2016 Miro Hrončok <mhroncok@redhat.com> - 0.16.0-3
|
||||
- Rebuild for Python 3.6
|
||||
|
||||
* Tue Dec 13 2016 Antonio Trande <sagitterATfedoraproject.org> - 0.16.0-2
|
||||
- BR Python2 dependencies unversioned on epel6
|
||||
|
||||
* Tue Dec 13 2016 Antonio Trande <sagitterATfedoraproject.org> - 0.16.0-1
|
||||
- Update to 0.16.0
|
||||
|
||||
* Wed Aug 17 2016 Antonio Trande <sagitterATfedoraproject.org> - 0.15.2-10
|
||||
- Rebuild for Python 3.5.2
|
||||
|
||||
* Tue Jul 19 2016 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.15.2-9
|
||||
- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages
|
||||
|
||||
* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 0.15.2-8
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
|
||||
|
||||
* Fri Jan 29 2016 Antonio Trande <sagitterATfedoraproject.org> - 0.15.2-7
|
||||
- Renamed Python2 package
|
||||
|
||||
* Thu Dec 10 2015 Antonio Trande <sagitterATfedoraproject.org> - 0.15.2-6
|
||||
- SPEC file adapted to recent guidelines for Python
|
||||
|
||||
* Fri Nov 13 2015 Antonio Trande <sagitter@fedoraproject.org> 0.15.2-5
|
||||
- Rebuild
|
||||
|
||||
* Fri Nov 13 2015 Antonio Trande <sagitter@fedoraproject.org> 0.15.2-4
|
||||
- Python3 tests temporarily disabled with Python35
|
||||
|
||||
* Tue Nov 10 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org>
|
||||
- 0.15.2-3 - Rebuilt for https://fedoraproject.org/wiki/Changes/python3.5
|
||||
|
||||
* Mon Sep 14 2015 Antonio Trande <sagitter@fedoraproject.org> 0.15.2-2
|
||||
- Patch0 updated
|
||||
|
||||
* Fri Sep 11 2015 Antonio Trande <sagitter@fedoraproject.org> 0.15.2-1
|
||||
- Update to 0.15.2
|
||||
|
||||
* Wed Sep 02 2015 Antonio Trande <sagitter@fedoraproject.org> 0.15.0-4
|
||||
- Added patch to exclude failed tests (patch0)
|
||||
|
||||
* Wed Aug 26 2015 Antonio Trande <sagitter@fedoraproject.org> 0.15.0-3
|
||||
- Added python-provides macro
|
||||
|
||||
* Thu Jul 30 2015 Antonio Trande <sagitter@fedoraproject.org> 0.15.0-2
|
||||
- Fixed Python3 packaging on Fedora
|
||||
- Removed configparser backport (patch1)
|
||||
|
||||
* Tue Jul 28 2015 Antonio Trande <sagitter@fedoraproject.org> 0.15.0-1
|
||||
- Initial build
|
Loading…
Reference in New Issue