diff --git a/39a70cce.patch b/39a70cce.patch new file mode 100644 index 0000000..ed49176 --- /dev/null +++ b/39a70cce.patch @@ -0,0 +1,51 @@ +From 39a70cce69d9b08cc4d02b225114d556d5b59ada Mon Sep 17 00:00:00 2001 +From: Hugo van Kemenade +Date: Wed, 19 Aug 2020 22:37:34 +0300 +Subject: [PATCH] Remove dependency on six to make package lighter (#331) + +--- + packaging/requirements.py | 8 +++++++- + setup.py | 2 +- + 2 files changed, 8 insertions(+), 2 deletions(-) + +diff --git a/packaging/requirements.py b/packaging/requirements.py +index 91f81ed..2226e98 100644 +--- a/packaging/requirements.py ++++ b/packaging/requirements.py +@@ -5,16 +5,22 @@ + + import string + import re ++import sys + + from pyparsing import stringStart, stringEnd, originalTextFor, ParseException + from pyparsing import ZeroOrMore, Word, Optional, Regex, Combine + from pyparsing import Literal as L # noqa +-from six.moves.urllib import parse as urlparse + + from ._typing import TYPE_CHECKING + from .markers import MARKER_EXPR, Marker + from .specifiers import LegacySpecifier, Specifier, SpecifierSet + ++if sys.version_info[0] >= 3: ++ from urllib import parse as urlparse # pragma: no cover ++else: # pragma: no cover ++ import urlparse ++ ++ + if TYPE_CHECKING: # pragma: no cover + from typing import List + +diff --git a/setup.py b/setup.py +index f533a7d..a14d926 100644 +--- a/setup.py ++++ b/setup.py +@@ -49,7 +49,7 @@ + author=about["__author__"], + author_email=about["__email__"], + python_requires=">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", +- install_requires=["pyparsing>=2.0.2", "six"], # Needed to avoid issue #91 ++ install_requires=["pyparsing>=2.0.2"], # Needed to avoid issue #91 + classifiers=[ + "Development Status :: 5 - Production/Stable", + "Intended Audience :: Developers", diff --git a/python-packaging.spec b/python-packaging.spec index 2ddbbc5..d6aa532 100644 --- a/python-packaging.spec +++ b/python-packaging.spec @@ -1,57 +1,62 @@ %global pypi_name packaging -# Specify --without wheel to prevent building the wheel -%bcond_without wheel - # Specify --without docs to prevent the dependency loop on python-sphinx %bcond_without docs # Specify --without tests to prevent the dependency loop on python-pytest %bcond_without tests -%global python_wheelname %{pypi_name}-%{version}-py2.py3-none-any.whl - Name: python-%{pypi_name} Version: 20.4 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Core utilities for Python packages License: BSD or ASL 2.0 URL: https://github.com/pypa/packaging -Source0: https://files.pythonhosted.org/packages/source/p/%{pypi_name}/%{pypi_name}-%{version}.tar.gz +Source0: %{pypi_source} BuildArch: noarch -BuildRequires: python%{python3_pkgversion}-setuptools +# Remove dependency on six to make package lighter, backported from upstream +Patch1: %{url}/commit/39a70cce.patch + BuildRequires: python%{python3_pkgversion}-devel -BuildRequires: python%{python3_pkgversion}-pyparsing -BuildRequires: python%{python3_pkgversion}-six +BuildRequires: pyproject-rpm-macros + +# We specify dependencies to build the wheel manually to avoid circular +# dependency on self. +# We also don't use the python3dist() form, in case packaging is ever used +# in the provides generator. +BuildRequires: python%{python3_pkgversion}-setuptools +BuildRequires: python%{python3_pkgversion}-pip +BuildRequires: python%{python3_pkgversion}-wheel + +# Upstream uses nox for testing, we specify the test deps manually as well. %if %{with tests} BuildRequires: python%{python3_pkgversion}-pytest BuildRequires: python%{python3_pkgversion}-pretend +BuildRequires: python%{python3_pkgversion}-pyparsing %endif %if %{with docs} BuildRequires: python%{python3_pkgversion}-sphinx +BuildRequires: python%{python3_pkgversion}-pyparsing %endif -%if %{with wheel} -BuildRequires: python%{python3_pkgversion}-pip -BuildRequires: python%{python3_pkgversion}-wheel -%endif -%description +%global _description %{expand: python-packaging provides core utilities for Python packages like utilities for -dealing with versions, specifiers, markers etc. +dealing with versions, specifiers, markers etc.} + +%description %_description + %package -n python%{python3_pkgversion}-%{pypi_name} Summary: %{summary} -%{?python_provide:%python_provide python%{python3_pkgversion}-%{pypi_name}} -Requires: python%{python3_pkgversion}-pyparsing -Requires: python%{python3_pkgversion}-six +# This is kept for compatibility with Fedora < 33 only: +%py_provides python%{python3_pkgversion}-%{pypi_name} + +%description -n python%{python3_pkgversion}-%{pypi_name} %_description -%description -n python%{python3_pkgversion}-%{pypi_name} -python3-packaging provides core utilities for Python packages like utilities for -dealing with versions, specifiers, markers etc. %if %{with docs} %package -n python-%{pypi_name}-doc @@ -61,17 +66,13 @@ Summary: python-packaging documentation Documentation for python-packaging %endif + %prep -%autosetup -n %{pypi_name}-%{version} -# Remove bundled egg-info -rm -rf %{pypi_name}.egg-info +%autosetup -p1 -n %{pypi_name}-%{version} + %build -%if %{with wheel} -%py3_build_wheel -%else -%py3_build -%endif +%pyproject_wheel %if %{with docs} # generate html docs @@ -82,27 +83,22 @@ rm -rf html/.{doctrees,buildinfo} rm -rf html/_static/fonts/ %endif + %install -%if %{with wheel} -%py3_install_wheel %{python_wheelname} -%else -%py3_install -%endif +%pyproject_install +%pyproject_save_files %{pypi_name} + %if %{with tests} %check -# Ignore test_linux_platforms_manylinux* tests because they seems to be arch-dependant -# GH: https://github.com/pypa/packaging/issues/254 -%{__python3} -m pytest -k \ -'not test_linux_platforms_manylinux1 and not test_linux_platforms_manylinux2010 and not test_linux_platforms_manylinux2014' \ -tests/ +%pytest %endif -%files -n python%{python3_pkgversion}-%{pypi_name} + +%files -n python%{python3_pkgversion}-%{pypi_name} -f %{pyproject_files} %license LICENSE LICENSE.APACHE LICENSE.BSD %doc README.rst CHANGELOG.rst CONTRIBUTING.rst -%{python3_sitelib}/%{pypi_name}/ -%{python3_sitelib}/%{pypi_name}-*-info/ + %if %{with docs} %files -n python-%{pypi_name}-doc @@ -110,7 +106,11 @@ tests/ %license LICENSE LICENSE.APACHE LICENSE.BSD %endif + %changelog +* Fri Oct 02 2020 Miro HronĨok - 20.4-3 +- Drop the dependency on six to make the package lighter + * Wed Jul 29 2020 Fedora Release Engineering - 20.4-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild