Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F145136860
D46236.id156102.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
8 KB
Referenced Files
None
Subscribers
None
D46236.id156102.diff
View Options
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
Details
Attached
Mime Type
text/plain
Expires
Tue, Feb 17, 8:31 AM (10 h, 8 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
28808430
Default Alt Text
D46236.id156102.diff (8 KB)
Attached To
Mode
D46236: devel/py-setuptools: update to 81.0.0
Attached
Detach File
Event Timeline
Log In to Comment