Page MenuHomeFreeBSD

D46236.id156102.diff
No OneTemporary

D46236.id156102.diff

diff --git a/devel/py-setuptools/Makefile b/devel/py-setuptools/Makefile
--- a/devel/py-setuptools/Makefile
+++ b/devel/py-setuptools/Makefile
@@ -1,38 +1,59 @@
PORTNAME= setuptools
-PORTVERSION= 63.1.0
-PORTREVISION= 3
+DISTVERSION= 80.9.0
CATEGORIES= devel python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
DIST_SUBDIR= python
-PATCH_SITES= https://github.com/pypa/${PORTNAME}/commit/
-PATCHFILES= 6653e747c3815b140156249205397ef3719581ee.patch:-p1
-
# note: before committing a new major version, contact portmgr to
# arrange for an experimental ports run. Untested commits may be
# backed out.
MAINTAINER= python@FreeBSD.org
COMMENT= Python packages installer
-WWW= https://github.com/pypa/setuptools \
- https://pypi.org/project/setuptools/
+WWW= https://setuptools.pypa.io/
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE
-BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}wheel044<0.46.0:devel/py-wheel044@${PY_FLAVOR}
+BUILD_DEPENDS= ${_CORE_DEPENDS}
+RUN_DEPENDS= ${_CORE_DEPENDS}
USES= cpe python
-USE_PYTHON= allflavors autoplist concurrent pep517 # pytest to return later
-
CPE_VENDOR= python
+USE_PYTHON= allflavors autoplist concurrent pep517 pytest
+
+_CORE_DEPENDS= ${PYTHON_PKGNAMEPREFIX}packaging>=24.2:devel/py-packaging@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}more-itertools>=8.8:devel/py-more-itertools@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}wheel>=0.43.0:devel/py-wheel@${PY_FLAVOR}
+
+# circular dependencies
+#_CORE_DEPENDS= ${PYTHON_PKGNAMEPREFIX}jaraco.text>=3.7:devel/py-jaraco.text@${PY_FLAVOR} \
+# ${PYTHON_PKGNAMEPREFIX}platformdirs>=4.2.2:devel/py-platformdirs@${PY_FLAVOR} \
+# ${PYTHON_PKGNAMEPREFIX}jaraco.functools>=4:devel/py-jaraco.functools@${PY_FLAVOR} \
+# ${PYTHON_PKGNAMEPREFIX}ruff>=0.7.0:devel/py-ruff@${PY_FLAVOR}
+
+# in devel/py-jaraco.text dependency chain via devel/py-inflect
+_CORE_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}typing-extensions>0:devel/py-typing-extensions@${PY_FLAVOR}
+
+# remove vendored packages of those already installed via pkg(8)
+_DIST_EXCLUDES= packaging* \
+ more_itertools* \
+ wheel* \
+ importlib_metadata* \
+ tomli* \
+ typing_extensions* \
+ zipp*
+EXTRACT_AFTER_ARGS= ${_DIST_EXCLUDES:S,^,--exclude setuptools/_vendor/,}
NO_ARCH= yes
.include <bsd.port.pre.mk>
.if ${PYTHON_REL} < 31000
-EXTRA_PATCHES+= ${PATCHDIR}/py39
+_CORE_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}importlib-metadata>=6:devel/py-importlib-metadata@${PY_FLAVOR}
+.endif
+.if ${PYTHON_REL} < 31100
+_CORE_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}tomli>=2.0.1:textproc/py-tomli@${PY_FLAVOR}
.endif
.include <bsd.port.post.mk>
diff --git a/devel/py-setuptools/distinfo b/devel/py-setuptools/distinfo
--- a/devel/py-setuptools/distinfo
+++ b/devel/py-setuptools/distinfo
@@ -1,5 +1,3 @@
-TIMESTAMP = 1744292398
-SHA256 (python/setuptools-63.1.0.tar.gz) = 16923d366ced322712c71ccb97164d07472abeecd13f3a6c283f6d5d26722793
-SIZE (python/setuptools-63.1.0.tar.gz) = 2599380
-SHA256 (python/6653e747c3815b140156249205397ef3719581ee.patch) = fbdb0cdeee1d38829b73cadd95445815c9b5566b7e803b8bd39586f6d4afe077
-SIZE (python/6653e747c3815b140156249205397ef3719581ee.patch) = 1262
+TIMESTAMP = 1748364380
+SHA256 (python/setuptools-80.9.0.tar.gz) = f36b47402ecde768dbfafc46e8e4207b4360c654f1f3bb84475f0a28628fb19c
+SIZE (python/setuptools-80.9.0.tar.gz) = 1319958
diff --git a/devel/py-setuptools/files/py39/patch-setuptools___vendor_importlib__metadata_____init____.py b/devel/py-setuptools/files/py39/patch-setuptools___vendor_importlib__metadata_____init____.py
deleted file mode 100644
--- a/devel/py-setuptools/files/py39/patch-setuptools___vendor_importlib__metadata_____init____.py
+++ /dev/null
@@ -1,41 +0,0 @@
---- setuptools/_vendor/importlib_metadata/__init__.py.orig 2022-07-04 02:25:25 UTC
-+++ setuptools/_vendor/importlib_metadata/__init__.py
-@@ -14,7 +14,7 @@ import collections
- import posixpath
- import collections
-
--from . import _adapters, _meta
-+from . import _adapters, _meta, _py39compat
- from ._collections import FreezableDefaultDict, Pair
- from ._compat import (
- NullFinder,
-@@ -180,6 +180,10 @@ class EntryPoint(DeprecatedTuple):
- following the attr, and following any extras.
- """
-
-+ name: str
-+ value: str
-+ group: str
-+
- dist: Optional['Distribution'] = None
-
- def __init__(self, name, value, group):
-@@ -350,7 +354,8 @@ class EntryPoints(DeprecatedList):
- Select entry points from self that match the
- given parameters (typically group and/or name).
- """
-- return EntryPoints(ep for ep in self if ep.matches(**params))
-+ candidates = (_py39compat.ep_matches(ep, **params) for ep in self)
-+ return EntryPoints(ep for ep, predicate in candidates if predicate)
-
- @property
- def names(self):
-@@ -991,7 +996,7 @@ def entry_points(**params) -> Union[EntryPoints, Selec
-
- :return: EntryPoints or SelectableGroups for all installed packages.
- """
-- norm_name = operator.attrgetter('_normalized_name')
-+ norm_name = _py39compat.normalized_name
- unique = functools.partial(unique_everseen, key=norm_name)
- eps = itertools.chain.from_iterable(
- dist.entry_points for dist in unique(distributions())
diff --git a/devel/py-setuptools/files/py39/patch-setuptools___vendor_importlib__metadata___py39compat.py b/devel/py-setuptools/files/py39/patch-setuptools___vendor_importlib__metadata___py39compat.py
deleted file mode 100644
--- a/devel/py-setuptools/files/py39/patch-setuptools___vendor_importlib__metadata___py39compat.py
+++ /dev/null
@@ -1,51 +0,0 @@
---- setuptools/_vendor/importlib_metadata/_py39compat.py.orig 2025-04-10 14:12:41 UTC
-+++ setuptools/_vendor/importlib_metadata/_py39compat.py
-@@ -0,0 +1,48 @@
-+"""
-+Compatibility layer with Python 3.8/3.9
-+"""
-+from typing import TYPE_CHECKING, Any, Optional, Tuple
-+
-+if TYPE_CHECKING: # pragma: no cover
-+ # Prevent circular imports on runtime.
-+ from . import Distribution, EntryPoint
-+else:
-+ Distribution = EntryPoint = Any
-+
-+
-+def normalized_name(dist: Distribution) -> Optional[str]:
-+ """
-+ Honor name normalization for distributions that don't provide ``_normalized_name``.
-+ """
-+ try:
-+ return dist._normalized_name
-+ except AttributeError:
-+ from . import Prepared # -> delay to prevent circular imports.
-+
-+ return Prepared.normalize(getattr(dist, "name", None) or dist.metadata['Name'])
-+
-+
-+def ep_matches(ep: EntryPoint, **params) -> Tuple[EntryPoint, bool]:
-+ """
-+ Workaround for ``EntryPoint`` objects without the ``matches`` method.
-+ For the sake of convenience, a tuple is returned containing not only the
-+ boolean value corresponding to the predicate evalutation, but also a compatible
-+ ``EntryPoint`` object that can be safely used at a later stage.
-+
-+ For example, the following sequences of expressions should be compatible:
-+
-+ # Sequence 1: using the compatibility layer
-+ candidates = (_py39compat.ep_matches(ep, **params) for ep in entry_points)
-+ [ep for ep, predicate in candidates if predicate]
-+
-+ # Sequence 2: using Python 3.9+
-+ [ep for ep in entry_points if ep.matches(**params)]
-+ """
-+ try:
-+ return ep, ep.matches(**params)
-+ except AttributeError:
-+ from . import EntryPoint # -> delay to prevent circular imports.
-+
-+ # Reconstruct the EntryPoint object to make sure it is compatible.
-+ _ep = EntryPoint(ep.name, ep.value, ep.group)
-+ return _ep, _ep.matches(**params)
diff --git a/devel/py-setuptools/files/py39/patch-setuptools_dist.py b/devel/py-setuptools/files/py39/patch-setuptools_dist.py
deleted file mode 100644
--- a/devel/py-setuptools/files/py39/patch-setuptools_dist.py
+++ /dev/null
@@ -1,14 +0,0 @@
---- setuptools/dist.py.orig 2022-07-04 02:25:25 UTC
-+++ setuptools/dist.py
-@@ -777,8 +777,9 @@ class Distribution(_Distribution):
-
- def _setuptools_commands(self):
- try:
-- return metadata.distribution('setuptools').entry_points.names
-- except metadata.PackageNotFoundError:
-+ dist = pkg_resources.get_distribution('setuptools')
-+ return list(dist.get_entry_map('distutils.commands'))
-+ except pkg_resources.DistributionNotFound:
- # during bootstrapping, distribution doesn't exist
- return []
-

File Metadata

Mime Type
text/plain
Expires
Tue, Feb 17, 8:31 AM (10 h, 7 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
28808430
Default Alt Text
D46236.id156102.diff (8 KB)

Event Timeline