Scenario: - FreeBSD 12.4 latest - ports latest - Upgrading ports using portmaster Result: - On i386, py-dnspython cannot be built anymore because it has a new dependency py-poetry which ultimately requires py-maturin for which i386 is an excluded architecture. - This ultimately means that KDE cannot be upgraded anymore because it requires samba, and that requires py-dnspython. Expected result: - It should be possible to upgrade the KDE ports on i386. -- Martin
net/samba413 & net/samba416 depend on dns/py-dnspython by default as well. If you turn off certain options, that dependency goes away, but you lose features as well. The dependency chain (now that dnspython uses devel/py-poetry to build) is: dns/py-dnspython >> devel/py-poetry >> devel/py-jsonschema >> devel/py-jsonschema-specifications >> devel/py-referencing >> devel/py-rpds-py >> devel/py-maturin I have not checked to see if we could revert the change to use py-poetry temporarily. devel/py-maturin has: NOT_FOR_ARCHS= armv6 armv7 i386 mips powerpc It has had that since it was added to the ports tree (Nov 2020). Presumably the architecture restriction is still accurate now. If so, given how long this has had this restriction, it may not be likely to be resolved soon. Perhaps the title could be changed to reflect that this is a wider scope than just i386. devel/py-maturin maintainer (kai@) CC'd for comment on the status of alternate architectures for maturin. I think maturin has gotten support for some of these architectures, but there's also OS dependencies. For example, ppc 32 bit was added last year (https://github.com/PyO3/maturin/pull/1026), but that might just be for linux - more work may be needed for freebsd. This may be related: https://github.com/PyO3/maturin/issues/1002 (zig support needed). It's likely that more projects will grow a dependency on py-poetry, so this may become a wider problem as that sort of change occurs in the ports tree. At a glance, it does not seem easy to cut that dependency chain as a workaround. Perhaps there could be a replacement of the dependency on py-rpds-py which would remove the maturin / rust dependency.
Fixed by commit 402358477e65aec282d4191d4788b79b2a3a3128. -- Martin
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/ports/commit/?id=f74de16438cc844916b8227bddac10d8a989b19b commit f74de16438cc844916b8227bddac10d8a989b19b Author: Kai Knoblich <kai@FreeBSD.org> AuthorDate: 2023-08-10 08:23:02 +0000 Commit: Kai Knoblich <kai@FreeBSD.org> CommitDate: 2023-08-10 08:23:02 +0000 devel/py-maturin: Update to 1.2.0 * Switch to PEP517 build framework and remove workarounds for distutils which are no longer required. * Remove restriction for 32-bit architectures as the generation of 32-bit Python wheels is now possible for FreeBSD. [1] Changelogs since 0.13.2: https://github.com/PyO3/maturin/blob/v1.2.0/Changelog.md PR: 272570, 272620 [1] Reported by: Miroslav Lachman, John Hein [1] MFH: No (feature release and breaking changes) devel/py-maturin/Makefile | 505 ++++++----- devel/py-maturin/distinfo | 932 ++++++++++----------- ...l => patch-cargo-crates_xwin-0.2.14_Cargo.toml} | 6 +- 3 files changed, 702 insertions(+), 741 deletions(-)