Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 30 Mar 2022 15:26:12 +0000
From:      bugzilla-noreply@freebsd.org
To:        desktop@FreeBSD.org
Subject:   maintainer-feedback requested: [Bug 262940] textproc/libxml2 and textproc/py-libxml2: Revert back to GNU Autotools due to some curl dependencies?
Message-ID:  <bug-262940-39348-2EHV4Qde3h@https.bugs.freebsd.org/bugzilla/>
In-Reply-To: <bug-262940-39348@https.bugs.freebsd.org/bugzilla/>
References:  <bug-262940-39348@https.bugs.freebsd.org/bugzilla/>

next in thread | previous in thread | raw e-mail | index | archive | help
Bugzilla Automation <bugzilla@FreeBSD.org> has asked freebsd-desktop (Team)
<desktop@FreeBSD.org> for maintainer-feedback:
Bug 262940: textproc/libxml2 and textproc/py-libxml2: Revert back to GNU
Autotools due to some curl dependencies?
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D262940



--- Description ---
Unfortunately the change to CMake causes circular dependency for some non
default options in (lib)curl that I missed during testing.

Examples :
textproc/libxslt depends on --> textproc/libxml2
textproc/libxml2 depends on --> devel/cmake (currently)
devel/cmake depends on --> ftp/curl

Circular issues I found looking at it closer:
(lib)psl option in curl depends on libxslt
gnutls option in curl depends on (lib)unbound via DANE option (non default
option), (lib)unbound depends on protobuf-c via DNSTRAP option (non default
option) which depends on cmake
gnutls also depends on trousers via TPM option (default), trousers depends =
on
tpm-emulator which depends on cmake

Based on the information above I used repology to look at others distros an=
d it
looks like this:
Alpine Linux --> no libpsl (hardset), openssl (no option to change crypto l=
ib)
Arch Linux --> libpsl (by default), openssl (no option to change crypto lib)
Debian --> libpsl (by default), gnutls flavour (offers gnutls with dane
support, no tpm support (hardset)), builds unbound with protobuf support
Fedora --> libpsl (full package only), openssl (no option to change crypto =
lib)
Gentoo --> no libpsl (hardset), gnutls flavour (offers gnutls with dane
support, no tpm support (hardset)), builds unbound with protobuf support
OpenBSD --> no libpsl (hardset), open/libretls (no option to change crypto =
lib)
OpenSUSE --> libpsl (by default), openssl and nss flavours

One option would be to at least for now disable those two conflicting optio=
ns
if its acceptable to limit some functionality (which is up to the maintaine=
r to
decide in the end imo).=20

While it might not add much to the decision making upstream have expressed =
some
struggles with Autotools such as here
https://gitlab.gnome.org/GNOME/libxslt/-/issues/36#note_765202 although wan=
ts
to keep it as preferred option for Unix
https://gitlab.gnome.org/GNOME/libxml2/-/issues/360 . However upstream is a=
lso
willing to accept patches to improve both build systems (I have submitted f=
ew
simple ones).

Meanwhile I've tried to clean up the port to the best of my ability but I'd
appreciate a review or two if we device to go back.

Sorry but the issues caused by this change but as they say, you learn from =
your
mistakes.

Compile tested on FreeBSD 13.0-STABLE #2 stable/13-n248607-93a95ebbf7c (amd=
64)
(make, make check-plist)
Poudriere testport OK 12.2-RELEASE (amd64)
Poudriere testport OK 13.0-RELEASE (i386)
This also includes py-libxml2

Tested ports (consumers):
devel/glib20
devel/libnotify
dns/libpsl
graphics/wayland
irc/bitlbee
mail/neomutt
security/libsecret
security/p11-kit
textproc/xmlto
audio/icecast
devel/tclxml
net/yaz
devel/libaravis



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-262940-39348-2EHV4Qde3h>