Created attachment 249229 [details] Update to 0.1.9 - Update to 0.1.9 portlint: ok. looks fine. testport: ok. 13amd64. unittest: ok. Ran 8 tests in 0.006s Looking at changes in 0.1.9 (dropped 3.7 and added 3.12) and consumers of this port devel/py-python-gitlab devel/py-qstylizer Both support python 3.8+.
I'm getting these errors on 15.0-CURRENT: ===> Configuring for py39-sphinxcontrib-autoprogram-0.1.9 /usr/local/lib/python3.9/site-packages/setuptools/dist.py:945: SetuptoolsDeprecationWarning: The namespace_packages parameter is deprecated. !! ******************************************************************************** Please replace its usage with implicit namespaces (PEP 420). See https://setuptools.pypa.io/en/latest/references/keywords.html#keyword-namespace-packages for details. ******************************************************************************** !! ep.load()(self, ep.name, value) running config ===> Building for py39-sphinxcontrib-autoprogram-0.1.9 /usr/local/lib/python3.9/site-packages/setuptools/dist.py:945: SetuptoolsDeprecationWarning: The namespace_packages parameter is deprecated. !! ******************************************************************************** Please replace its usage with implicit namespaces (PEP 420). See https://setuptools.pypa.io/en/latest/references/keywords.html#keyword-namespace-packages for details. ******************************************************************************** !! ep.load()(self, ep.name, value) running build_sphinx Running Sphinx v5.3.0 Extension error: Could not import extension sphinxcontrib.autoprogram (exception: No module named 'sphinxcontrib.autoprogram') *** Error code 1 Stop. make[1]: stopped in /usr/ports/textproc/py-sphinxcontrib-autoprogram *** Error code 1
Is this an older install of ports? While I get and saw the warning this just works on 13. dist.py:945 makes me think it's something that isn't python39-3.9.18_2? Can you attach the full testport output?
(In reply to Derek Schrock from comment #2) I think my problems stems from jumping ahead to setuptools 68.0.0 as found earlier in bug 270358. I could jump again and try 69.0.3 from the same PR.
(In reply to Trond Endrestøl from comment #3) Make that 69.2.0.
(In reply to Trond Endrestøl from comment #4) setuptools 69.2.0 gives the same error as 68.0.0 and 67.6.1. I reverted to 63.1.0_1 and only warnings appeared, no hard errors. I hope upstream will eventually keep up with newer setuptools. I only got involved in this PR because I wanted to try devel/spyder. I can wait.
Could you test with pep517 build instead of distutils? It builds ok but I didn't check how to build docs that way.
(In reply to Nuno Teixeira from comment #6) With setuptools 69.2.0, textproc/py-sphinxcontrib-autoprogram 0.1.9, and -USE_PYTHON= autoplist concurrent distutils +USE_PYTHON= autoplist concurrent pep517 for the latter port, gives: -------------------------------------------------------------------------------- -- Phase: stage -------------------------------------------------------------------------------- ===> Staging for py39-sphinxcontrib-autoprogram-0.1.9 ===> Generating temporary packing list (cd /construction/xports/textproc/py-sphinxcontrib-autoprogram/work-py39/sphinxcontrib-autoprogram-0.1.9/build/sphinx/html && /bin/sh -c '(/usr/bin/find -Ed $1 $3 | /usr/bin/cpio -dumpl $2 >/dev/null 2>&1) && /usr/bin/find -Ed $1 $3 \( -type d -exec /bin/sh -c '\''cd '\''$2'\'' && chmod 755 "$@"'\'' . {} + -o -type f -exec /bin/sh -c '\''cd '\''$2'\'' && chmod 0644 "$@"'\'' . {} + \)' COPYTREE_SHARE . /construction/xports/textproc/py-sphinxcontrib-autoprogram/work-py39/stage/usr/local/share/doc/py39-sphinxcontrib-autoprogram "! -name .buildinfo -and ! -name objects.inv") cd: /construction/xports/textproc/py-sphinxcontrib-autoprogram/work-py39/sphinxcontrib-autoprogram-0.1.9/build/sphinx/html: No such file or directory *** Error code 2 Stop. make: stopped in /xports/textproc/py-sphinxcontrib-autoprogram Note, I use Synth, not Poudriere.
(In reply to Trond Endrestøl from comment #7) That error comes from DOCS target: --- post-install-DOCS-on: @${MKDIR} ${STAGEDIR}${DOCSDIR} (cd ${WRKSRC}/build/sphinx/html && \ ${COPYTREE_SHARE} . ${STAGEDIR}${DOCSDIR} "! -name .buildinfo -and ! -name objects.inv") --- Build without DOCS or comment post-install-DOCS-on block just to test it. I still don't know how docs are builded with pep517.
(In reply to Nuno Teixeira from comment #8) I got errors on a second build run without distutils. py-setuptools is still at 69.2.0 and py-sphinxcontrib-autoprogram is still at 0.1.9. With DOCS off and -USE_PYTHON= autoplist concurrent distutils +USE_PYTHON= autoplist concurrent distutils pep517 I got this positive result: -------------------------------------------------------------------------------- -- Phase: stage -------------------------------------------------------------------------------- ===> Staging for py39-sphinxcontrib-autoprogram-0.1.9 ===> Generating temporary packing list /usr/local/lib/python3.9/site-packages/setuptools/dist.py:678: SetuptoolsDeprecationWarning: The namespace_packages parameter is deprecated. !! ******************************************************************************** Please replace its usage with implicit namespaces (PEP 420). See https://setuptools.pypa.io/en/latest/references/keywords.html#keyword-namespace-packages for details. ******************************************************************************** !! ep.load()(self, ep.name, value) running install /usr/local/lib/python3.9/site-packages/setuptools/_distutils/cmd.py:66: SetuptoolsDeprecationWarning: setup.py install is deprecated. !! ******************************************************************************** Please avoid running ``setup.py`` directly. Instead, use pypa/build, pypa/installer or other standards-based tools. See https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html for details. ******************************************************************************** !! self.initialize_options() running build running build_py running egg_info writing sphinxcontrib_autoprogram.egg-info/PKG-INFO writing dependency_links to sphinxcontrib_autoprogram.egg-info/dependency_links.txt writing namespace_packages to sphinxcontrib_autoprogram.egg-info/namespace_packages.txt writing requirements to sphinxcontrib_autoprogram.egg-info/requires.txt writing top-level names to sphinxcontrib_autoprogram.egg-info/top_level.txt reading manifest file 'sphinxcontrib_autoprogram.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' warning: no files found matching 'README' warning: no files found matching 'CHANGES.*' warning: manifest_maker: MANIFEST.in, line 4: unknown action 'tox.ini' adding license file 'LICENSE' writing manifest file 'sphinxcontrib_autoprogram.egg-info/SOURCES.txt' running install_lib Skipping installation of /construction/xports/textproc/py-sphinxcontrib-autoprogram/work-py39/stage/usr/local/lib/python3.9/site-packages/sphinxcontrib/__init__.py (namespace package) copying sphinxcontrib/autoprogram.py -> /construction/xports/textproc/py-sphinxcontrib-autoprogram/work-py39/stage/usr/local/lib/python3.9/site-packages/sphinxcontrib byte-compiling /construction/xports/textproc/py-sphinxcontrib-autoprogram/work-py39/stage/usr/local/lib/python3.9/site-packages/sphinxcontrib/autoprogram.py to autoprogram.cpython-39.pyc writing byte-compilation script '/tmp/tmp5ho6a2r5.py' /usr/local/bin/python3.9 /tmp/tmp5ho6a2r5.py removing /tmp/tmp5ho6a2r5.py running install_egg_info Copying sphinxcontrib_autoprogram.egg-info to /construction/xports/textproc/py-sphinxcontrib-autoprogram/work-py39/stage/usr/local/lib/python3.9/site-packages/sphinxcontrib_autoprogram-0.1.9-py3.9.egg-info Installing /construction/xports/textproc/py-sphinxcontrib-autoprogram/work-py39/stage/usr/local/lib/python3.9/site-packages/sphinxcontrib_autoprogram-0.1.9-py3.9-nspkg.pth running install_scripts writing list of installed files to '/construction/xports/textproc/py-sphinxcontrib-autoprogram/work-py39/.PLIST.pymodtmp' ===> Creating unique files: Move MAN files needing SUFFIX ===> Creating unique files: Move files needing SUFFIX ====> Compressing man pages (compress-man)
(In reply to Trond Endrestøl from comment #9) Just for kicks, DOCS is still off and -USE_PYTHON= autoplist concurrent distutils +USE_PYTHON= autoplist concurrent pep517 I got: -------------------------------------------------------------------------------- -- Phase: build -------------------------------------------------------------------------------- ===> Building for py39-sphinxcontrib-autoprogram-0.1.9 * Getting build dependencies for wheel... Traceback (most recent call last): File "/usr/local/lib/python3.9/site-packages/pyproject_hooks/_impl.py", line 321, in _call_hook raise BackendUnavailable(data.get('traceback', '')) pyproject_hooks._impl.BackendUnavailable: Traceback (most recent call last): File "/usr/local/lib/python3.9/site-packages/pyproject_hooks/_in_process/_in_process.py", line 77, in _build_backend obj = import_module(mod_path) File "/usr/local/lib/python3.9/importlib/__init__.py", line 127, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "<frozen importlib._bootstrap>", line 1030, in _gcd_import File "<frozen importlib._bootstrap>", line 1007, in _find_and_load File "<frozen importlib._bootstrap>", line 972, in _find_and_load_unlocked File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed File "<frozen importlib._bootstrap>", line 1030, in _gcd_import File "<frozen importlib._bootstrap>", line 1007, in _find_and_load File "<frozen importlib._bootstrap>", line 984, in _find_and_load_unlocked ModuleNotFoundError: No module named 'setuptools' ERROR Backend 'setuptools.build_meta:__legacy__' is not available. *** Error code 1 Stop. make: stopped in /xports/textproc/py-sphinxcontrib-autoprogram
(In reply to Trond Endrestøl from comment #10) Missing build depends for pep517: BUILD_DEPENDS= ${PY_SETUPTOOLS} \ ${PYTHON_PKGNAMEPREFIX}wheel>0:devel/py-wheel@${PY_FLAVOR}
(In reply to Nuno Teixeira from comment #11) That helped when DOCS is off and setuptools is at 69.2.0. When DOCS is on, we still get: cd: /construction/xports/textproc/py-sphinxcontrib-autoprogram/work-py39/sphinxcontrib-autoprogram-0.1.9/build/sphinx/html: No such file or directory *** Error code 2 Stop. make: stopped in /xports/textproc/py-sphinxcontrib-autoprogram during the stage phase.
Created attachment 249784 [details] Update to 0.1.9 with pep420 and pep517 This should be compatible with the current tree's setuptools and the future 69.2.0 port. This also future proofs some sphinx items by limiting the use of setup.py (build_sphinx and test). portlint: ok. looks fine. testport: ok. 13amd64. unittest: Ran 10 tests in 0.007s. Ran with/without DOCS enabled.
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/ports/commit/?id=e60672e6afd7afe1307109099ecc2e87f3264c75 commit e60672e6afd7afe1307109099ecc2e87f3264c75 Author: Derek Schrock <dereks@lifeofadishwasher.com> AuthorDate: 2024-04-07 03:50:56 +0000 Commit: Nuno Teixeira <eduardo@FreeBSD.org> CommitDate: 2024-04-07 08:04:38 +0000 textproc/py-sphinxcontrib-autoprogram: Update to 0.1.9 - Use pep517 - Add pep420 changes - Directly run tests via unittest - Directly builds docs via sphinx-build ChangeLog: https://github.com/sphinx-contrib/autoprogram/releases/tag/0.1.9 PR: 277749 textproc/py-sphinxcontrib-autoprogram/Makefile | 30 ++++++++++++++-------- textproc/py-sphinxcontrib-autoprogram/distinfo | 6 ++--- .../files/patch-setup.py (new) | 21 +++++++++++++++ 3 files changed, 44 insertions(+), 13 deletions(-)
Committed, thanks!