diff --git a/devel/py-setuptools/Makefile b/devel/py-setuptools/Makefile --- a/devel/py-setuptools/Makefile +++ b/devel/py-setuptools/Makefile @@ -1,14 +1,13 @@ PORTNAME= setuptools -PORTVERSION= 63.1.0 -PORTREVISION= 2 +DISTVERSION= 75.3.2 CATEGORIES= devel python MASTER_SITES= PYPI PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} DIST_SUBDIR= python -# note: before committing to this port, contact portmgr to arrange for an -# experimental ports run. Untested commits may be backed out at portmgr's -# discretion. +# 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://pypi.org/project/setuptools/ @@ -16,33 +15,49 @@ LICENSE= MIT LICENSE_FILE= ${WRKSRC}/LICENSE -USES= cpe python -USE_PYTHON= allflavors autoplist concurrent distutils +BUILD_DEPENDS= ${_CORE_DEPENDS} +RUN_DEPENDS= ${_CORE_DEPENDS} +USES= cpe python CPE_VENDOR= python +USE_PYTHON= allflavors autoplist concurrent pep517 pytest + +_CORE_DEPENDS= ${PYTHON_PKGNAMEPREFIX}packaging>=24: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.collections>0:devel/py-jaraco.collections@${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/,} -MAKE_ENV+= SETUPTOOLS_DISABLE_VERSIONED_EASY_INSTALL_SCRIPT=1 NO_ARCH= yes -PYDISTUTILS_SETUP= ${PYSETUP} - -PLIST_FILES= "@sample %%PYTHON_SITELIBDIR%%/easy-install.pth.dist %%PYTHON_SITELIBDIR%%/easy-install.pth" .include -.if ${FLAVOR} != ${FLAVORS:[1]} -SUB_FILES+= pkg-message -SUB_LIST+= PYTHON_VER=${PYTHON_VER} +.if ${PYTHON_REL} < 30900 +_CORE_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}importlib-resources>=5.10.2:devel/py-importlib-resources@${PY_FLAVOR} +.endif +.if ${PYTHON_REL} < 31000 +_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 - -# These create dependency loops in redports/poudriere, because setuptools -# is currently an explicit BUILD & RUN dependency in Uses/python.mk. -#TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pytest>0:devel/py-pytest@${PY_FLAVOR} -# pkg install -y py38-pytest py38-mock py38-pytest-fixture-config py38-pytest-virtualenv py38-paver - -post-install: - ${INSTALL_DATA} ${FILESDIR}/easy-install.pth.dist ${STAGEDIR}${PYTHON_SITELIBDIR}/ - -do-test: - cd ${WRKSRC} && ${PYTHON_CMD} -m pytest -v -rs .include diff --git a/devel/py-setuptools/distinfo b/devel/py-setuptools/distinfo --- a/devel/py-setuptools/distinfo +++ b/devel/py-setuptools/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1657634036 -SHA256 (python/setuptools-63.1.0.tar.gz) = 16923d366ced322712c71ccb97164d07472abeecd13f3a6c283f6d5d26722793 -SIZE (python/setuptools-63.1.0.tar.gz) = 2599380 +TIMESTAMP = 1742583941 +SHA256 (python/setuptools-75.3.2.tar.gz) = 3c1383e1038b68556a382c1e8ded8887cd20141b0eb5708a6c8d277de49364f5 +SIZE (python/setuptools-75.3.2.tar.gz) = 1354489 diff --git a/devel/py-setuptools/files/easy-install.pth.dist b/devel/py-setuptools/files/easy-install.pth.dist deleted file mode 100644 --- a/devel/py-setuptools/files/easy-install.pth.dist +++ /dev/null @@ -1,2 +0,0 @@ -import sys; sys.__plen = len(sys.path) -import sys; new=sys.path[sys.__plen:]; del sys.path[sys.__plen:]; p=getattr(sys,'__egginsert',0); sys.path[p:p]=new; sys.__egginsert = p+len(new) diff --git a/devel/py-setuptools/files/patch-setuptools_package__index.py b/devel/py-setuptools/files/patch-setuptools_package__index.py deleted file mode 100644 --- a/devel/py-setuptools/files/patch-setuptools_package__index.py +++ /dev/null @@ -1,11 +0,0 @@ ---- setuptools/package_index.py.orig 2022-07-04 02:25:25 UTC -+++ setuptools/package_index.py -@@ -197,7 +197,7 @@ def unique_values(func): - return wrapper - - --REL = re.compile(r"""<([^>]*\srel\s*=\s*['"]?([^'">]+)[^>]*)>""", re.I) -+REL = re.compile(r"""<([^>]*\srel\s{0,10}=\s{0,10}['"]?([^'" >]+)[^>]*)>""", re.I) - # this line is here to fix emacs' cruddy broken syntax highlighting - - diff --git a/devel/py-setuptools/files/pkg-message.in b/devel/py-setuptools/files/pkg-message.in deleted file mode 100644 --- a/devel/py-setuptools/files/pkg-message.in +++ /dev/null @@ -1,8 +0,0 @@ -[ -{ type: install - message: <