On 2026/10/28 02:41, Kirill A. Korinsky wrote:
> I'd like to drop ports-gcc from build dependency of libxml.
> Why? To use it as dependency of gcc which is required for cobol.
>
> To do it, I need to switch libxml to autotools instead of meson.
Something is strange here because libxml was still using autoconf when
it was switched to ports-gcc to fix build. (Perhaps libxml required a
newer C standard at one point and then switched back, this does seem
unlikely though. Also I would think that if libxml does currently build
with base-gcc, we can't really expect it to keep doing so, and we don't
have bulk build machines using base-gcc any more to alert us to this
happening).
> Here a diff which was tested on my hppa VM.
>
> It builds, and it doesn't need gcc.
>
> Not sure about lib bump, I increased it to be on safe side.
>
> Ok?
I'd really like to avoid adding more dependencies to the build of gcc
as used by the majority of the ports tree (i.e. for those ports using it
for C, C++, Fortran).
If supporting other languages in GCC adds new dependencies can those
langs be knocked out via a bootstrap flavour for the usual ports builds?
(this also helps avoid bottlenecks if they add much additional build time).
> Index: Makefile
> ===================================================================
> RCS file: /cvs/ports/textproc/libxml/Makefile,v
> diff -u -p -r1.248 Makefile
> --- Makefile 5 Sep 2026 09:20:10 -0000 1.248
> +++ Makefile 28 Oct 2026 01:38:07 -0000
> @@ -1,10 +1,11 @@
> COMMENT= XML parsing library
>
> GNOME_VERSION= 2.15.4
> +REVISION= 0
> GNOME_PROJECT= libxml2
> PKGNAME= libxml-${GNOME_VERSION}
>
> -SHARED_LIBS += xml2 22.1 # 16.1.4
> +SHARED_LIBS += xml2 23.0 # 16.1.4
>
> CATEGORIES= textproc
>
> @@ -13,28 +14,27 @@ MAINTAINER= Antoine Jacoutot <ajacoutot
> # BSD-like
> PERMIT_PACKAGE= Yes
>
> -COMPILER= base-clang ports-gcc
> -COMPILER_LANGS= c
> -
> -MODULES= devel/meson \
> - x11/gnome
> +MODULES= x11/gnome
>
> LIB_DEPENDS= converters/libiconv
>
> WANTLIB += c iconv m z
>
> -CONFIGURE_ARGS= -Dlegacy=enabled
> +# Use autoconf to avoid ports-gcc
> +CONFIGURE_STYLE= gnu
> +
> +CONFIGURE_ARGS= --with-legacy
>
> # XXX circular dependency: xsltproc (textproc/libxslt) -> textproc/libxml
> -CONFIGURE_ARGS += -Ddocs=disabled
> +CONFIGURE_ARGS += --without-docs
>
> # Python bindings are planned to be removed in the 2.16 release;
> # circular dependency: libxml -> doxygen -> git -> xmlto -> libxml
> -CONFIGURE_ARGS += -Dpython=disabled
> +CONFIGURE_ARGS += --without-python
>
> # XXX needs libhistory
> -CONFIGURE_ARGS += -Dhistory=disabled
> -CONFIGURE_ARGS += -Dreadline=disabled
> +CONFIGURE_ARGS += --without-history
> +CONFIGURE_ARGS += --without-readline
>
> DEBUG_PACKAGES= ${BUILD_PACKAGES}
>
> Index: pkg/PLIST
> ===================================================================
> RCS file: /cvs/ports/textproc/libxml/pkg/PLIST,v
> diff -u -p -r1.45 PLIST
> --- pkg/PLIST 17 Apr 2026 07:00:08 -0000 1.45
> +++ pkg/PLIST 28 Oct 2026 01:38:07 -0000
> @@ -56,6 +56,8 @@ include/libxml2/libxml/xpointer.h
> lib/cmake/
> lib/cmake/libxml2/
> lib/cmake/libxml2/libxml2-config.cmake
> +@static-lib lib/libxml2.a
> +lib/libxml2.la
> @lib lib/libxml2.so.${LIBxml2_VERSION}
> lib/pkgconfig/libxml-2.0.pc
> share/libxml2/
>
>
> --
> wbr, Kirill
>