Created attachment 226719 [details] Patch file for creating the port Tested with poudriere on : 11.4 amd64, 12.2 amd64, 13.0 aarch64, 13.0amd64 Checked with portlint. I created this port as needed to update x11/kitty. Thanks,
Created attachment 226720 [details] Corrected URL
Thanks for submitting a new port Alexis. Some review items: - Upstream declares: install_requires=["sphinx>=2.0"], *_DEPENDS should match (3,1 doesnt match and looks odd) - Ask upstream to package a LICENSE file (and tests), so we can add LICENSE_FILE and test/qa support to the port. In the meantime add #LICENSE_FILE= Not packaged yet with sdist so its clear for our future selves. An alternative is to USE_GITHUB temporarily until they are packaged. Bonus points: QA against non-default Python version, and Python versions even upstream doesn't test against (python 3.10 at least), and cap USE_PYTHON=<version-spec> accordingly (or not). See Also: https://wiki.freebsd.org/Python/PortsPolicy
Created attachment 226843 [details] LICENSE and tests files from github I've opened a request upstream for LICENSE and tests on github In the meantime, these can be get with github.
I can work on this. This builds in {11.4, 12.2}{amd64, i386}, 13amd64 and 14-current amd64. x11/kitty which is blocked by this PR builds fine too and runs fine in 12.2 amd64. koobs@, how can I easily test with python3.9 and python3.10 as you suggested?
(In reply to Fernando Apesteguía from comment #4) Set/Override DEFAULT_VERSIONS=python= in poudriere make.conf either globally, or a zet (-z) specific make.conf filename like py39-make.conf where py39 is the -z set name to use
(In reply to Kubilay Kocak from comment #5) Thanks. Build tests with python3.9 were OK in the mentioned versions. For some reason, I can not test with python3.10 despite having BUILD_ALL_PYTHON_FLAVORS in make.conf as suggested by the framework.
(In reply to Fernando Apesteguía from comment #6) What issue/error/symptoms do you see when attempting to test again 3.10 ?
Note: BUILD_ALL_PYTHON_FLAVORS is poorly named, opposite to the implementation we needed (packaging infrastructure specific design), and not necessary to switch/change Python versions in poudriere. DEFAULT_VERSIONS=python=x.y should be all that's necessary. If that doesn't work, something is wrong with lang/python310 or framework support/code for that version that we should isolate.
(In reply to Kubilay Kocak from comment #8) I get many warnings like this: PYTHON_DEFAULT must be a version present in PYTHON2_DEFAULT or PYTHON3_DEFAULT, if you want more Python flavors, set BUILD_ALL_PYTHON_FLAVORS in your make.conf And the port seems to build for python 3.9: ... ===> License BSD3CLAUSE accepted by the user ===> py39-sphinxext-opengraph-0.4.2 depends on file: /usr/local/sbin/pkg - found ... ===> Deinstalling for py39-sphinxext-opengraph ===> Deinstalling py39-sphinxext-opengraph-0.4.2 Updating database digests format: .......... done Checking integrity... done (0 conflicting) Deinstallation has been requested for the following 1 packages (of 0 packages in the universe): Installed packages to be REMOVED: py39-sphinxext-opengraph: 0.4.2 Number of packages to be removed: 1 In poudriere's make.conf I have: DEFAULT_VERSIONS=python=3.10
Using "DEFAULT_VERSIONS=python=3.10" in "/usr/local/etc/poudriere.d/py310-make.conf" and adding "-z py310" to "poudriere testport", I can build this port. I have the same warnings as Fernando, though. There are no issue with python=3.9, except the warning. Fernando, if you can build with 3.10, would it be possible to close this PR ? This would unlock an upgrade for x11/kitty. Thanks !
(In reply to Alexis Praga from comment #10) I think koobs@ knows more about py ports than me, so I think it is wise to hear his opinion :-)
(In reply to Fernando Apesteguía from comment #9) Is there a warning/behaviour difference when testing 3.8 and 3.9, vs 3.9 and 3.10 ? My current feeling is that the warning is spurious and only emitted given some combination of (current) defaults in the framework (default_versions=python=x.y) and what version the port is tested with. The bottom line is: - BUILD_ALL_PYTHON_FLAVORS was created to that the package builders (via poudriere), could produce multiple python versions of a port in a single run - BUILD_ALL_PYTHON_FLAVORS was for use for python ports where multiple versions of packages were *required* to be build, such as setuptools, and CPython optional modules (tkinter, sqlite, etc) If this port successfully builds, packages and passes tests with all Python versions it supports (based on USES=python:<versions-spec>), then it can be landed.
(In reply to Kubilay Kocak from comment #12) Apart from the warning mentioned above I don't see any other differences. The port builds and packages fine at least in 3.8 and 3.9 and also 3.10 as reported by Alexis. I will commit this soon (for some valid value of "soon").
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/ports/commit/?id=1946f8224cbf10898d3fc0599e6e2ac6c2537c16 commit 1946f8224cbf10898d3fc0599e6e2ac6c2537c16 Author: Alexis Praga <alexis.praga@free.fr> AuthorDate: 2021-08-23 16:30:22 +0000 Commit: Fernando Apesteguía <fernape@FreeBSD.org> CommitDate: 2021-08-23 17:27:57 +0000 textproc/py-sphinxext-opengraph: new port Sphinx extension to generate OpenGraph metadata The Open Graph protocol enables any web page to become a rich object in a social graph This port is a dependency of the new version of x11/kitty (PR 257438) PR: 257436 Reported by: alexis.praga@free.fr Reviewed by: koobs@ textproc/Makefile | 1 + textproc/py-sphinxext-opengraph/Makefile (new) | 28 +++++++++++++++++++++++++ textproc/py-sphinxext-opengraph/distinfo (new) | 3 +++ textproc/py-sphinxext-opengraph/pkg-descr (new) | 6 ++++++ 4 files changed, 38 insertions(+)
Committed, Thanks!
Thanks Fernando