summaryrefslogtreecommitdiffstats
path: root/python3-setuptools.spec
diff options
context:
space:
mode:
Diffstat (limited to 'python3-setuptools.spec')
-rw-r--r--python3-setuptools.spec156
1 files changed, 156 insertions, 0 deletions
diff --git a/python3-setuptools.spec b/python3-setuptools.spec
new file mode 100644
index 0000000..e42172a
--- /dev/null
+++ b/python3-setuptools.spec
@@ -0,0 +1,156 @@
+# This package is for EPEL only
+# Dependencies for check and wheel introduce circular dependencies
+# Set this to 0 after we've bootstrapped.
+%{!?_with_bootstrap: %global bootstrap 1}
+
+%if ! 0%{?bootstrap}
+%global with_check 1
+%global build_wheel 1
+%else
+%global with_check 0
+%global build_wheel 0
+%endif
+
+%global srcname setuptools
+%if 0%{?build_wheel}
+%global python3_wheelname %{srcname}-%{version}-py2.py3-none-any.whl
+%global python3_record %{python3_sitelib}/%{srcname}-%{version}.dist-info/RECORD
+%endif
+
+Name: python3-setuptools
+Version: 19.2
+Release: 3%{?dist}
+Summary: Easily build and distribute Python 3 packages
+
+# LIcensing is in flux, see https://bitbucket.org/pypa/setuptools/issues/132/missing-license
+License: (Python or ZPLv2.0) and ASL 2.0
+URL: https://pypi.python.org/pypi/%{srcname}
+Source0: https://pypi.python.org/packages/source/s/%{srcname}/%{srcname}-%{version}.tar.gz
+# PSFL
+Source1: https://hg.python.org/cpython/raw-file/tip/LICENSE
+# ZPL
+Source2: https://raw.githubusercontent.com/zopefoundation/Zope/master/LICENSE.txt
+# ASL 2.0
+Source3: http://www.apache.org/licenses/LICENSE-2.0
+
+BuildArch: noarch
+
+BuildRequires: python%{python3_pkgversion}-devel
+%if 0%{?with_check}
+BuildRequires: python%{python3_pkgversion}-pytest
+BuildRequires: python%{python3_pkgversion}-mock
+%endif # with_check
+%if 0%{?build_wheel}
+BuildRequires: python%{python3_pkgversion}-pip
+BuildRequires: python%{python3_pkgversion}-wheel
+%endif # build_wheel
+
+%description
+Setuptools is a collection of enhancements to the Python 3 distutils that allow
+you to more easily build and distribute Python 3 packages, especially ones that
+have dependencies on other packages.
+
+This package also contains the runtime components of setuptools, necessary to
+execute the software that requires pkg_resources.py.
+
+
+%package -n python%{python3_pkgversion}-setuptools
+Summary: Easily build and distribute Python %{python3_pkgversion} packages
+Group: Applications/System
+%{?python_provide:%python_provide python3-setuptools}
+
+%description -n python%{python3_pkgversion}-setuptools
+Setuptools is a collection of enhancements to the Python %{python3_pkgversion} distutils that allow
+you to more easily build and distribute Python %{python3_pkgversion} packages, especially ones that
+have dependencies on other packages.
+
+This package also contains the runtime components of setuptools, necessary to
+execute the software that requires pkg_resources.py.
+
+
+%prep
+%setup -q -n %{srcname}-%{version}
+
+# We can't remove .egg-info (but it doesn't matter, since it'll be rebuilt):
+# The problem is that to properly execute setuptools' setup.py,
+# it is needed for setuptools to be loaded as a Distribution
+# (with egg-info or .dist-info dir), it's not sufficient
+# to just have them on PYTHONPATH
+# Running "setup.py install" without having setuptools installed
+# as a distribution gives warnings such as
+# ... distutils/dist.py:267: UserWarning: Unknown distribution option: 'entry_points'
+# and doesn't create "easy_install" and .egg-info directory
+# Note: this is only a problem if bootstrapping wheel or building on RHEL,
+# otherwise setuptools are installed as dependency into buildroot
+
+# Strip shbang
+find setuptools -name \*.py | xargs sed -i -e '1 {/^#!\//d}'
+# Remove bundled exes
+rm -f setuptools/*.exe
+# These tests require internet connection
+rm setuptools/tests/test_integration.py
+
+
+%build
+%if 0%{?build_wheel}
+%{__python3} setup.py bdist_wheel
+%else
+%{__python3} setup.py build
+%endif
+
+
+%install
+%if 0%{?build_wheel}
+pip%{python3_version} install -I dist/%{python3_wheelname} --root %{buildroot} --strip-file-prefix %{buildroot}
+
+sed -i '/\/usr\/bin\/easy_install,/d' %{buildroot}%{python3_record}
+%else
+%{__python3} setup.py install --skip-build --root %{buildroot}
+%endif
+rm %{buildroot}%{_bindir}/easy_install
+
+rm -rf %{buildroot}%{python3_sitelib}/setuptools/tests
+%if 0%{?build_wheel}
+sed -i '/^setuptools\/tests\//d' %{buildroot}%{python3_record}
+%endif
+
+install -p -m 0644 %{SOURCE1} psfl.txt
+install -p -m 0644 %{SOURCE2} zpl.txt
+install -p -m 0644 %{SOURCE3} asl.txt
+find %{buildroot}%{python3_sitelib} -name '*.exe' | xargs rm -f
+
+# Don't ship these
+rm -r docs/{Makefile,conf.py,_*}
+
+
+%if 0%{?with_check}
+%check
+LANG=en_US.utf8 PYTHONPATH=$(pwd) py.test-%{python3_version}
+%endif
+
+
+%files -n python%{python3_pkgversion}-setuptools
+%license psfl.txt zpl.txt asl.txt
+%doc docs/*
+%{python3_sitelib}/*
+%{_bindir}/easy_install-3.*
+
+
+%changelog
+* Wed Dec 30 2015 Orion Poplawski <orion@cora.nwra.com> - 19.2-3
+- Cleanup docs
+- Add version info to summary and description
+
+* Wed Dec 30 2015 Orion Poplawski <orion@cora.nwra.com> - 19.2-2
+- Drop group tag
+- Add bootstrap conditional
+- Use specific pip version
+- Use %%license
+- Update license and license source
+- Strip unneeded shbangs
+
+* Tue Dec 29 2015 Orion Poplawski <orion@cora.nwra.com> - 19.2-1
+- Update to 19.2
+
+* Tue Dec 29 2015 Orion Poplawski <orion@cora.nwra.com> - 19.1.1-1
+- Initial EPEL package