Created attachment 251428 [details] Patch for libxml2 This will be a "Meta" PR, at least libxslt will also be needed to updated at the same time. Compile tested on FreeBSD 14.0-RELEASE (amd64) (make, make check-plist, make test) Compile tested on FreeBSD 14.1-RELEASE (aarch64) (make, make check-plist, make test) Poudriere testport OK 13.2-RELEASE (amd64) Poudriere testport OK 14.0-RELEASE (amd64) Tested with all listed consumers (including ones for py-libxml2) on freshports.org on 13.2-RELEASE (amd64) using Poudriere: https://pdr2.bofh.network/build.html?mastername=132-diizzy&build=2024-06-12_15h36m18s
I have a patch for libxslt ready which I'll submit soon, for now we can work on the fallout of ports that are already known (see link to pdr2).
Comment on attachment 251428 [details] Patch for libxml2 This needs the legacy option exposed and enabled by default, amongst other things. Will reduce the fallout somewhat. Also note that meson is now available. Upstream still indirectly recommends autotools for Unix-like systems, especially as evidenced by their CI.
It would be great if we could do without legacy as we're essentially just pushing work in front of us for a later date by using it. Ports that have ~dead/inactive upstream and no users in tree textproc/diffmark - Abandonware (should be marked as unfetchable at least) also removes... textproc/p5-XML-DifferenceMarkup textproc/liblingoteach - Abandonware (last activity ~20 years ago) also removes... misc/lingoteach devel/libiqxmlrpc - ~ Abandonware, upstream requests patches textproc/libcroco - Needs patch, deprecated/dead and already removed in other repos such as Debian and Fedora Compatibility: databases/spatialite - Probably needs the http functionality in libxml2 enabled to keep if the libxml module is enabled There are also a few compatibility patches recently added to upstream libxml2 repo: https://gitlab.gnome.org/GNOME/libxml2/-/commit/599ceaffad97faff9e77a3237d319f18cdc2984a https://gitlab.gnome.org/GNOME/libxml2/-/commit/bd208d5fe110999b17ef88d45648e2a248dc964e Even without these (for now) we can try to prepare as much as possible. General note, Most of the fallout is from 2.12.X which we didn't import due the amount of work required to migrate to 2.11.X.
No, I've actually had 2.12 in my own WIP tree this entire time, but yes even with legacy exposed and enabled by default some downstream stuff had to give. This is one of those ports where you cannot only account for ports consumers. Further, it's not so much work for us, but the consumers' upstream projects need time and effort to migrate from the legacy APIs. Legacy stays.
Updated list regarding http functionality, databases/spatialite - Probably needs the http functionality in libxml2 enabled to keep the libxml module is enabled cad/openvsp - Probably depends on the http functionality in libxml2
Created attachment 251475 [details] Patch for libxml2 v2 Enable http module as some ports requires this functionality such as databases/spatialite and cad/openvsp
Created attachment 251491 [details] Patch for libxml2 v3 Backport upstream commits: 95939d6ea3718c458620eeda850add549cd07e99 7c3151903da31efb7a42f3e27857f9f7df6f88e1 b61a960bf6dba639b310646300a1fc21ef473afc References: https://gitlab.gnome.org/GNOME/libxml2/-/commit/95939d6ea3718c458620eeda850add549cd07e99 https://gitlab.gnome.org/GNOME/libxml2/-/commit/7c3151903da31efb7a42f3e27857f9f7df6f88e1 https://gitlab.gnome.org/GNOME/libxml2/-/commit/b61a960bf6dba639b310646300a1fc21ef473afc
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/ports/commit/?id=14ef9b0ef00043e34cd1f0f9611667503ebe1006 commit 14ef9b0ef00043e34cd1f0f9611667503ebe1006 Author: Daniel Engberg <diizzy@FreeBSD.org> AuthorDate: 2024-06-16 16:16:18 +0000 Commit: Daniel Engberg <diizzy@FreeBSD.org> CommitDate: 2024-06-16 16:35:52 +0000 textproc/p5-XML-DifferenceMarkup: Deprecate and set expiration date to 2024-07-16 Depends on deprecated port textproc/diffmark PR: 279705 Approved by: portmgr (blanket) textproc/p5-XML-DifferenceMarkup/Makefile | 3 +++ 1 file changed, 3 insertions(+)
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/ports/commit/?id=e1a4636af2dc1f4e3b002b6458371ee3fa558155 commit e1a4636af2dc1f4e3b002b6458371ee3fa558155 Author: Daniel Engberg <diizzy@FreeBSD.org> AuthorDate: 2024-06-16 16:26:12 +0000 Commit: Daniel Engberg <diizzy@FreeBSD.org> CommitDate: 2024-06-16 16:35:53 +0000 devel/libiqxmlrpc: Deprecate and set expiration date to 2024-07-16 Fails to build with libxml2 2.13.0 PR: 279705 devel/libiqxmlrpc/Makefile | 3 +++ 1 file changed, 3 insertions(+)
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/ports/commit/?id=86be50192c1a97237c9923dc878cae46e2f6a3f2 commit 86be50192c1a97237c9923dc878cae46e2f6a3f2 Author: Daniel Engberg <diizzy@FreeBSD.org> AuthorDate: 2024-06-16 16:20:58 +0000 Commit: Daniel Engberg <diizzy@FreeBSD.org> CommitDate: 2024-06-16 16:35:52 +0000 textproc/liblingoteach: Deprecate and set expiration date to 2024-07-16 Abandonware, last activity 18+ years ago and fails to build with libxml2 2.13.0 PR: 279705 textproc/liblingoteach/Makefile | 3 +++ 1 file changed, 3 insertions(+)
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/ports/commit/?id=0fea4d9fc1398edf126dd255c5490c32af6f2c58 commit 0fea4d9fc1398edf126dd255c5490c32af6f2c58 Author: Daniel Engberg <diizzy@FreeBSD.org> AuthorDate: 2024-06-16 16:23:11 +0000 Commit: Daniel Engberg <diizzy@FreeBSD.org> CommitDate: 2024-06-16 16:35:52 +0000 misc/lingoteach: Deprecate and set expiration date to 2024-07-16 Depends on deprecated port textproc/liblingoteach PR: 279705 misc/lingoteach/Makefile | 3 +++ 1 file changed, 3 insertions(+)
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/ports/commit/?id=20ee0c7068c50c85dabfb99e1d3a86ada9fdab32 commit 20ee0c7068c50c85dabfb99e1d3a86ada9fdab32 Author: Daniel Engberg <diizzy@FreeBSD.org> AuthorDate: 2024-06-16 16:13:14 +0000 Commit: Daniel Engberg <diizzy@FreeBSD.org> CommitDate: 2024-06-16 16:35:52 +0000 textproc/diffmark: Deprecate and set expiration date to 2024-07-16 Deprecate as port fails to build with libxml2 2.13.0 and upstream is gone PR: 279705 textproc/diffmark/Makefile | 4 ++++ 1 file changed, 4 insertions(+)
Comment on attachment 251491 [details] Patch for libxml2 v3 Backports are fine otherwise
Created attachment 251599 [details] Patch for libxml2 v4 Update to 2.13.1 Remove deprecated MEM_DEBUG option New mini-exp run can be found here: https://pdr2.bofh.network/build.html?mastername=140-diizzy&build=libxml2-2131
Created attachment 251644 [details] Patch for libxml2 v5 Backport upstream patches aaa24ca6be56d1573357c88ac82a1542f832576d, 7759765c6c3fcd0735fe7caeb83f1be0f2da7775 and MR 266 References: https://gitlab.gnome.org/GNOME/libxml2/-/commit/aaa24ca6be56d1573357c88ac82a1542f832576d https://gitlab.gnome.org/GNOME/libxml2/-/commit/7759765c6c3fcd0735fe7caeb83f1be0f2da7775 https://gitlab.gnome.org/GNOME/libxml2/-/merge_requests/266
Created attachment 251885 [details] Patch for libxml2 v6
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/ports/commit/?id=8e35b11ca62acfd1e1cb81506c64f3ad773521d9 commit 8e35b11ca62acfd1e1cb81506c64f3ad773521d9 Author: Daniel Engberg <diizzy@FreeBSD.org> AuthorDate: 2024-07-06 11:40:15 +0000 Commit: Daniel Engberg <diizzy@FreeBSD.org> CommitDate: 2024-07-06 12:02:09 +0000 games/manaplus: Deprecate and set expiration date to 2024-08-06 Fails to build with libxml2 2.13.2, unmaintained for years and very little activity upstream for the past 2 years PR: 279705 games/manaplus/Makefile | 3 +++ 1 file changed, 3 insertions(+)
New run here: https://pdr2.bofh.network/build.html?mastername=140-diizzy&build=libxml2-2132-libxslt-1142-run1 PRs applied: 279705, 279741, 279976 and 279956 Ignore tclxml, that's my fault
Created attachment 252032 [details] v7 Back to autotools. LEGACY option added and enabled by default, resurrect STATIC, both for the benefit of consumers not in the tree. LEGACY implies http, lzma and zlib, which can be exposed as separate options. Rename the python child port to textproc/libxml2-python, as the Python package name is "libxml2-python" (and not "libxml2"). Currently has USE_PYTHON=distutils despite a pyproject.toml existing (USE_PYTHON=pep517) but need to slightly modify python.mk to allow the parent port's do-configure to run (setup.py is generated).
Created attachment 252033 [details] Patch for libxml2 v7 Backport upstream patches dd5adf54c9a2edd452ff828277d85b1d18431d75, e30cb632e734394ddbd7bd62b57cee3586424352 and bf43e8a888cbee75e13622fea8a722b9d166c437 References: https://gitlab.gnome.org/GNOME/libxml2/-/commit/dd5adf54c9a2edd452ff828277d85b1d18431d75 https://gitlab.gnome.org/GNOME/libxml2/-/commit/e30cb632e734394ddbd7bd62b57cee3586424352 https://gitlab.gnome.org/GNOME/libxml2/-/commit/bf43e8a888cbee75e13622fea8a722b9d166c437
Created attachment 252189 [details] Patch for libxml2 v8 Backport upstream patches 8699ba234b5a1328f0f30ca739b8f1dbc90ccf5e, a0330b53c8034bb79220e403e8d4ad8c23ef088f and ed8b4264f65b1ced1e3b13967dd1cf90102cfa40 References: https://gitlab.gnome.org/GNOME/libxml2/-/commit/8699ba234b5a1328f0f30ca739b8f1dbc90ccf5e https://gitlab.gnome.org/GNOME/libxml2/-/commit/a0330b53c8034bb79220e403e8d4ad8c23ef088f https://gitlab.gnome.org/GNOME/libxml2/-/commit/ed8b4264f65b1ced1e3b13967dd1cf90102cfa40
Created attachment 252261 [details] Patch for libxml2 v9 Update to 2.13.3
Created attachment 253697 [details] Patch for libxml2 v10
Created attachment 255146 [details] Patch for libxml2 v11