Created attachment 232198 [details] exp-run patch Hi The attached patch combines https://reviews.freebsd.org/D34338 and https://reviews.freebsd.org/D34384 and I'd like to request exp-run (discussed with tcberner) Thanks in advance!
Some new failures logs: http://gohan05.nyi.freebsd.org/data/130amd64-default-foo/2022-03-02_19h53m21s/logs/errors/icecast-2.4.4,1.log http://gohan05.nyi.freebsd.org/data/130amd64-default-foo/2022-03-02_19h53m21s/logs/errors/icecast-kh-2.4.0.k15.log http://gohan05.nyi.freebsd.org/data/130amd64-default-foo/2022-03-02_19h53m21s/logs/errors/calibre-5.37.0.log http://gohan05.nyi.freebsd.org/data/130amd64-default-foo/2022-03-02_19h53m21s/logs/errors/libvirt-8.0.0.log http://gohan05.nyi.freebsd.org/data/130amd64-default-foo/2022-03-02_19h53m21s/logs/errors/tclxml-3.3_1.log http://gohan05.nyi.freebsd.org/data/130amd64-default-foo/2022-03-02_19h53m21s/logs/errors/dvdauthor-0.7.2.20190419_1.log http://gohan05.nyi.freebsd.org/data/130amd64-default-foo/2022-03-02_19h53m21s/logs/errors/yaz-5.31.1.log http://gohan05.nyi.freebsd.org/data/130amd64-default-foo/2022-03-02_19h53m21s/logs/errors/votca-2022.log http://gohan05.nyi.freebsd.org/data/130amd64-default-foo/2022-03-02_19h53m21s/logs/errors/translate-toolkit-3.5.3.log
@Daniel, you need to continue shipping libxml.m4 and libxslt.m4 from the respective ports. These are include files for some autotools (just like .h are include files for C users of your library). In particular, installing libxml.m4 fixes the dvdauthor build (which still has issues around not listing libicu dependencies properly). Other ports might be jammed by libxslt.m4 missing.
(In reply to Matthias Andree from comment #2) dvdauthor can likely be fixed by taking https://github.com/ldo/dvdauthor/commit/45705ece5ec5d7d6b9ab3e7a68194796a398e855
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/ports/commit/?id=b521617606a43e62d9003db36d35f2afc5ab1085 commit b521617606a43e62d9003db36d35f2afc5ab1085 Author: Daniel Engberg <diizzy@FreeBSD.org> AuthorDate: 2022-03-08 13:29:45 +0000 Commit: Daniel Engberg <diizzy@FreeBSD.org> CommitDate: 2022-03-08 13:33:33 +0000 multimedia/dvdauthor: Update to latest upstream commit as of 20220308 This makes dvdauthor use pkg-config to detect libxml2 PR: 262288 Differential Revision: https://reviews.freebsd.org/D34338 multimedia/dvdauthor/Makefile | 5 ++--- multimedia/dvdauthor/distinfo | 6 +++--- 2 files changed, 5 insertions(+), 6 deletions(-)
audio/icecast-kh (mark broken and deprecate?) and devel/tclxml still needs fixing
TL;DR: see last paragraph of this comment. (In reply to Tobias C. Berner from comment #3) I see that the dvdauthor upstream has fixed that detection, so for dvdauthor we are set now. That out of the way, PLEASE STOP - WE ARE GOING IN THE WRONG DIRECTION. The switch to cmake, as a coincidencidental regression, stops installing the libxml2.m4 or libxslt.m4 files. However these .m4 files need to be installed verbatim alongside the C headers and other bindings all the time because they are not part of the package's build tool or build configuration, but they are part of the output file set. They are part of libxslt's or libxml2's SDK if you wish to word it that way, or the respective -devel packages on Linux distros. As seen, lots of users depend on them and libxml2 changing its build tool has no command over what the libxml2/libxslt downstream dependencies are doing, and harms future porting of new ports that would use libxml2 or libxslt. We have no command over fourth party packages and should not encumber ourselves with such NEEDLESS changes. I understand that some people steer clear of autotools because they don't understand autotools or the resulting packages configure and build somewhat slower than needed, but really the proper fix is to fix the packaging regression and install the libxml2.m4 or libxslt.m4 file, respectively. The -exp run has flagged a fault in the libxml2/libxslt packaging, not a fault in the packages using libxml2/libxslt. The fix is at most a three-line fix per requisite (worst case is post-install: ${INSTALL_DATA} + one line in pkg-plist)? TL;DR: Please reinstate the libxml.m4 and libxslt.m4 ports into the respective packages, revert the autotools-breakage related changes to dependee ports that use libxml2 or libxslt, and re-do the exp run with libxml.m4 and libxslt.m4 installed. Thanks.
(In reply to Matthias Andree from comment #6) change ports -> files here: TL;DR: Please reinstate the libxml.m4 and libxslt.m4 (ports) FILES into the respective packages, revert the autotools-breakage related changes to dependee ports that use libxml2 or libxslt, and re-do the exp run with libxml.m4 and libxslt.m4 installed.
To be fair, Linux distros are also moving away from the issues we're fixing which is mainly using pkgconfig instead of scripts relying on libxml2-config and/or libxslt-config and doing odd assumptions (which is what's causing breakage in the first place) and this is only a handful of ports which many aren't even packaging anymore or at all.
To add a strong vote, and with a note that I pity sunk cost, I STRONGLY OBJECT to switching libxml2 to a build system that is "mainly for Windows" while Autotools are intended for POSIX systems such as the BSDs. Source: https://gitlab.gnome.org/GNOME/libxml2/-/blob/a075d256fd9ff15590b86d981b75a50ead124fca/README.md#build-instructions Please either fix the cmake build such that it provides the same features including libxml.m4 that the Autotools build would render, and stop shoving pkg-config down other ports. pkg-config fails miserably in some BSD configurations, not the least of which is our lack of an openssl.pc in the base system. It is also very hard to reliably choose LOCALBASE for pkg-config IME.
Meeting minutes, ad-hoc discussion on IRC #bsdports with diizzy, tcberner, vishwin, myself, around 2022-03-08T20:00Z and concluded that the libxml.m4 and libxslt.m4 files are going to be re-added to the ports/packages.
Created attachment 232326 [details] diff between outputs of old and new libxml2+libxslt ports, respectively, without doc/ Please carefully review the libxslt configuration changes, they seem to be breaking those ports using either pkg-config to look for libxslt paths, and ports using xslt-config (for instance audio/icecast-kh). After you've fixed libxslt, you can probably kill a lot of pkg-config related patches to dependees.
I am not sure if we should add the version into the path of lib/cmake/libxml2/libxml2-config.cmake and move it to lib/cmake/libxml2-2.9.13/libxml2-config-version.cmake either. This looks fishy since a port that wants to include some libxml2-config from its cmake files (CMakeLists.txt for instance), may not find it easily.
Created attachment 232403 [details] exp-run patch v2 Please re-run using this patch, it should fix all issues found
New failure log on 12.2 amd64: http://package18.nyi.freebsd.org/data/122amd64-default-foo/2022-03-13_08h58m27s/logs/tclxml-3.3_1.log
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/ports/commit/?id=3f8a4349680cd01439ce8846f8addc55723ff7de commit 3f8a4349680cd01439ce8846f8addc55723ff7de Author: Matthias Andree <mandree@FreeBSD.org> AuthorDate: 2022-03-19 19:20:14 +0000 Commit: Daniel Engberg <diizzy@FreeBSD.org> CommitDate: 2022-03-19 19:49:06 +0000 devel/tclxml: Prepare for libxml2 update The build passes CC arguments to LD. Convert to using CC for linking. Add missing library dependencies that get picked up automatically, to ensure a consistent build as a port (outside poudriere). Sort Makefile to canonical portlint/portclippy ordering. * This patch was submitted privately and I'd like to thank Matthias for guidance and fixing remaining issues * PR: 262288 Reported by: antoine (via exp-run) Approved by: portmgr (blanket) devel/tclxml/Makefile | 19 +++++++++++-------- devel/tclxml/files/patch-configure (new) | 20 ++++++++++++++++++++ 2 files changed, 31 insertions(+), 8 deletions(-)
All fallouts have been fixed, is it good to go?
(In reply to Daniel Engberg from comment #16) If you tested tclxml then this is fine.
Daniel, do we have an idea of how many of the "prepare-for-libx*" patches are now unnecessary because the .m4 has been added and the pkg-config red herring is no longer required? Let us try to avoid all the fourth-party patching.
(In reply to commit-hook from comment #15) Note that the nature of the fix to tclxml suggests that the fix is required independently. Most ports that might somehow acquire a "-pthread" option (FreeBSD specific) do not support linking with LD but require the CC driver instead. tclxml was one such port (I did not check whether the original tclxml required the fix, but if so, consider it a robustness change for other potential LDFLAGS issues).
(In reply to Matthias Andree from comment #18) No additional ports were patched with additional patches, all fixes (2) were either version bump or adjustment of port Makefile
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/ports/commit/?id=a13ec21cd733f67a9fc0dc00ab45268bdc236246 commit a13ec21cd733f67a9fc0dc00ab45268bdc236246 Author: Daniel Engberg <diizzy@FreeBSD.org> AuthorDate: 2022-03-25 16:51:30 +0000 Commit: Daniel Engberg <diizzy@FreeBSD.org> CommitDate: 2022-03-25 17:14:39 +0000 textproc/libxml2: Update to 2.9.13 and migrate to CMake Depend on ICU and (lib)readline to follow other distros Changelog: https://gitlab.gnome.org/GNOME/libxml2/-/tags/v2.9.13 I'd like to thank both tcberner and mandree for reviewing, suggesting improvements and helping out in general. I'd also like thank antoine for doing exp-runs. PR: 262288 Reviewed by: tcberner, mandree Approved by: desktop (tcberner) Differential Revision: https://reviews.freebsd.org/D34338 Exp-run by: antoine textproc/libxml2/Makefile | 83 +++--- textproc/libxml2/distinfo | 6 +- textproc/libxml2/files/LICENSE.TRIO (gone) | 12 - textproc/libxml2/files/extra-patch-docs (new) | 11 + textproc/libxml2/files/patch-CMakeLists.txt (new) | 29 ++ textproc/libxml2/files/patch-Makefile.in (gone) | 47 ---- textproc/libxml2/files/patch-config.h.in (gone) | 11 - textproc/libxml2/files/patch-configure (gone) | 11 - ...85b1792e37b131e7a51af98a37f92472e8de5f3f (gone) | 211 --------------- ...-b66ce0bba83febe2f4d119097a0391f5d886c3b4 (new) | 86 ++++++ ...13ad8736d294536da4cbcd70a96b0a2fbf47070c (gone) | 46 ---- ...3e1aad4fe584747fd7d17cc7b2863a78e2d21a77 (gone) | 31 --- ...92d9ab4c28842a09ca2b76d3ff2f933e01b6cd6f (gone) | 43 --- .../patch-libxml-2.0-uninstalled.pc.in (gone) | 9 - textproc/libxml2/files/patch-libxml-2.0.pc.in | 10 +- .../libxml2/files/patch-python_Makefile.in (gone) | 20 -- .../files/patch-python_tests_Makefile.in (gone) | 11 - textproc/libxml2/files/patch-xml2Conf.sh.in (gone) | 15 -- textproc/libxml2/pkg-plist | 296 ++++++++++++++++++++- textproc/py-libxml2/Makefile | 42 +-- 20 files changed, 482 insertions(+), 548 deletions(-)
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/ports/commit/?id=8c8cb32a53d3fd85f39dcb75c331d63a8d4219b8 commit 8c8cb32a53d3fd85f39dcb75c331d63a8d4219b8 Author: Daniel Engberg <diizzy@FreeBSD.org> AuthorDate: 2022-03-25 17:09:55 +0000 Commit: Daniel Engberg <diizzy@FreeBSD.org> CommitDate: 2022-03-25 17:14:39 +0000 textproc/libxslt: Update to 1.1.35 and migrate to CMake Changelog: https://gitlab.gnome.org/GNOME/libxslt/-/releases#v1.1.35 I'd like to thank both tcberner and mandree for reviewing, suggesting improvements and helping out in general. I'd also like thank antoine for doing exp-runs. PR: 262288 Reviewed by: tcberner, mandree Approved by: desktop (tcberner) Differential Revision: https://reviews.freebsd.org/D34384 Exp-run by: antoine textproc/libxslt/Makefile | 43 +- textproc/libxslt/distinfo | 6 +- textproc/libxslt/files/extra-patch-docs (new) | 11 + textproc/libxslt/files/patch-CMakeLists.txt (new) | 20 + ...9ae2f94df1721e002941b40665efb762aefcea1a (gone) | 37 - ...824657768aea2cce9c23e72ba8085cb5e44350c7 (gone) | 42 - ...77c26bad0433541f486b1e7ced44ca9979376908 (gone) | 70 -- textproc/libxslt/files/patch-man-xsltproc (gone) | 921 --------------------- .../libxslt/files/patch-python__Makefile.in (gone) | 22 - .../files/patch-python__tests__Makefile.in (gone) | 11 - textproc/libxslt/pkg-descr | 2 +- textproc/libxslt/pkg-plist | 182 +++- 12 files changed, 234 insertions(+), 1133 deletions(-)