diff --git a/textproc/py-sphinx/Makefile b/textproc/py-sphinx/Makefile index 52318ed04723..7a5663106ab2 100644 --- a/textproc/py-sphinx/Makefile +++ b/textproc/py-sphinx/Makefile @@ -1,5 +1,5 @@ PORTNAME= sphinx -PORTVERSION= 4.5.0 +PORTVERSION= 5.3.0 PORTEPOCH= 1 CATEGORIES= textproc python MASTER_SITES= CHEESESHOP @@ -17,21 +17,23 @@ WWW= https://www.sphinx-doc.org/ LICENSE= BSD2CLAUSE LICENSE_FILE= ${WRKSRC}/LICENSE +BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}flit>=0:devel/py-flit@${PY_FLAVOR} \ + pyproject-build:devel/py-build@${PY_FLAVOR} RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}sphinxcontrib-applehelp>=0:textproc/py-sphinxcontrib-applehelp@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}sphinxcontrib-devhelp>=0:textproc/py-sphinxcontrib-devhelp@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}sphinxcontrib-jsmath>=0:textproc/py-sphinxcontrib-jsmath@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}sphinxcontrib-htmlhelp>=2.0.0:textproc/py-sphinxcontrib-htmlhelp@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}sphinxcontrib-serializinghtml>=1.1.5:textproc/py-sphinxcontrib-serializinghtml@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}sphinxcontrib-qthelp>=0:textproc/py-sphinxcontrib-qthelp@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}Jinja2>=2.3:devel/py-Jinja2@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}pygments>=2.0:textproc/py-pygments@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}docutils>=0.14<0.18,1:textproc/py-docutils@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}snowballstemmer>=1.1:textproc/py-snowballstemmer@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}Babel>=1.3:devel/py-babel@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}Jinja2>=3.0:devel/py-Jinja2@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pygments>=2.12:textproc/py-pygments@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}docutils>=0.14,1<0.20,1:textproc/py-docutils@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}snowballstemmer>=2.0:textproc/py-snowballstemmer@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}Babel>=2.9:devel/py-babel@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}alabaster>=0.7<0.8:textproc/py-alabaster@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}imagesize>=0:graphics/py-imagesize@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}imagesize>=1.3:graphics/py-imagesize@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}requests>=2.5.0:www/py-requests@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}packaging>=0:devel/py-packaging@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}packaging>=21.0:devel/py-packaging@${PY_FLAVOR} \ ${LOCALBASE}/share/certs/ca-root-nss.crt:security/ca_root_nss TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pytest4-cov>=0:devel/py-pytest4-cov@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}html5lib>=0:www/py-html5lib@${PY_FLAVOR} \ @@ -46,6 +48,16 @@ NO_ARCH= yes # Upstream archive contains files with UTF-8 names (#246618) EXTRACT_CMD= ${SETENV} LC_ALL=en_US.UTF-8 /usr/bin/bsdtar +PYDISTUTILS_SETUP= -c "import setuptools; setuptools.setup()" + +CONFIGURE_ENV+= FLIT_NO_NETWORK=true + +CONFIGURE_WRKSRC= ${WRKDIR}/_build +BUILD_WRKSRC= ${CONFIGURE_WRKSRC} +INSTALL_WRKSRC= ${CONFIGURE_WRKSRC} +TEST_WRKSRC= ${CONFIGURE_WRKSRC} +PYBUILD_OUTDIR= ${WRKDIR}/_pybuild + .include .if ${PYTHON_REL} < 31000 @@ -58,4 +70,20 @@ PYTEST_BROKEN_TESTS= test_latex_images \ test_defaults_json \ test_anchors_ignored +post-patch: + ${REINPLACE_CMD} 's@%%VERSION%%@${PORTVERSION}@' ${WRKSRC}/pyproject.toml + +## prepare sources, using flit via pybuild +pre-configure: + @(cd ${WRKSRC}; ${SETENV} ${CONFIGURE_ENV} pyproject-build --wheel --outdir ${PYBUILD_OUTDIR} --no-isolation) + @(unzip -d ${CONFIGURE_WRKSRC} ${PYBUILD_OUTDIR}/${PYDISTUTILS_PKGNAME}-${PORTVERSION}-py${PYTHON_MAJOR_VER}-*.whl) + +## ensure all sphinx resources are installed +post-install: + @(cd ${INSTALL_WRKSRC}; ${COPYTREE_SHARE} . ${STAGEDIR}${PYTHON_SITELIBDIR}) + @(cd ${INSTALL_WRKSRC}; _TMPF=$$(${MKTEMP} ${WRKDIR}/.plist_tmp.XXXXXX); \ + cat ${_PYTHONPKGLIST} > $${_TMPF}; \ + find . -type f | sed 's@./@${PYTHON_SITELIBDIR}/@' >> $${_TMPF}; \ + ${SORT} < $${_TMPF} | uniq > ${_PYTHONPKGLIST}) + .include diff --git a/textproc/py-sphinx/distinfo b/textproc/py-sphinx/distinfo index 2e9e4229f431..b2ca93b4f3dc 100644 --- a/textproc/py-sphinx/distinfo +++ b/textproc/py-sphinx/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1654533273 -SHA256 (python/Sphinx-4.5.0.tar.gz) = 7bf8ca9637a4ee15af412d1a1d9689fec70523a68ca9bb9127c2f3eeb344e2e6 -SIZE (python/Sphinx-4.5.0.tar.gz) = 6698212 +TIMESTAMP = 1669461063 +SHA256 (python/Sphinx-5.3.0.tar.gz) = 51026de0a9ff9fc13c05d74913ad66047e104f56a129ff73e174eb5c3ee794b5 +SIZE (python/Sphinx-5.3.0.tar.gz) = 6811365 diff --git a/textproc/py-sphinx/files/patch-pyproject.toml b/textproc/py-sphinx/files/patch-pyproject.toml new file mode 100644 index 000000000000..6f319278cdef --- /dev/null +++ b/textproc/py-sphinx/files/patch-pyproject.toml @@ -0,0 +1,11 @@ +--- pyproject.toml.orig 2022-10-16 09:53:52 UTC ++++ pyproject.toml +@@ -75,7 +75,7 @@ dependencies = [ + "importlib-metadata>=4.8; python_version < '3.10'", + "colorama>=0.4.5; sys_platform == 'win32'", + ] +-dynamic = ["version"] ++version = "%%VERSION%%" + + [project.optional-dependencies] + docs = [