diff --git a/textproc/libxml2/Makefile b/textproc/libxml2/Makefile index b1be06d89e24..66f1b6b629af 100644 --- a/textproc/libxml2/Makefile +++ b/textproc/libxml2/Makefile @@ -1,64 +1,65 @@ PORTNAME?= libxml2 DISTVERSION= 2.15.2 +PORTREVISION= 1 CATEGORIES?= textproc gnome MASTER_SITES= GNOME DISTNAME= libxml2-${DISTVERSION} DIST_SUBDIR= gnome MAINTAINER= desktop@FreeBSD.org COMMENT?= XML parser library for GNOME WWW= http://xmlsoft.org/ LICENSE= MIT # Upstream recommends autotools on Unix-like systems USES+= cpe gmake iconv libtool localbase pathfix pkgconfig tar:xz CPE_VENDOR= xmlsoft USE_LDCONFIG= yes GNU_CONFIGURE= yes # Don't build with Python support unless requested CONFIGURE_ARGS+= --sysconfdir=${PREFIX}/share/ \ --${LIBXML2_SLAVE:Dwith:Uwithout}-python${LIBXML2_SLAVE:D=${PYTHON_CMD}:U} INSTALL_TARGET= install-strip TEST_TARGET= check OPTIONS_DEFINE= ICU MANPAGES READLINE STATIC THREAD_ALLOC OPTIONS_GROUP= LEGACY OPTIONS_GROUP_LEGACY= HTTP ZLIB OPTIONS_DEFAULT= HTTP READLINE STATIC ZLIB OPTIONS_SUB= yes HTTP_DESC= HTTP support LEGACY_DESC= Enable legacy API compatibility READLINE_DESC= History for xmllint THREAD_ALLOC_DESC= Per-thread memory (DEVELOPERS ONLY!) HTTP_CONFIGURE_WITH= http ICU_LIB_DEPENDS= libicuuc.so:devel/icu ICU_CONFIGURE_WITH= icu READLINE_LIB_DEPENDS= libreadline.so:devel/readline READLINE_CONFIGURE_WITH= history \ readline STATIC_CONFIGURE_ENABLE= static THREAD_ALLOC_CONFIGURE_WITH= thread-alloc ZLIB_CONFIGURE_WITH= zlib .include post-install: .if defined(LIBXML2_SLAVE) && ${LIBXML2_SLAVE} == "python" ${STRIP_CMD} ${STAGEDIR}${PYTHONPREFIX_LIBDIR}/site-packages/libxml2mod${PYTHON_SOABI}.so .endif # To (manually) generate man pages, during every update: # - install textproc/libxslt and textproc/docbook-xsl # - xml2-config.1 is already present # - in ${WRKSRC}/doc, run `xsltproc --nonet --novalid --param man.output.quietly 1 -o xmlcatalog.1 ${LOCALBASE}/share/xsl/docbook/manpages/docbook.xsl xmlcatalog.xml` # - repeat for xmllint.1 # - copy results into ${FILESDIR} # - ${INSTALL_MAN} into ${STAGEDIR} as below post-install-MANPAGES-on: ${INSTALL_MAN} ${FILESDIR}/*.1 ${STAGEDIR}${MANDIRS}/man1 .include diff --git a/textproc/libxml2/files/patch-catalog-memleak b/textproc/libxml2/files/patch-catalog-memleak new file mode 100644 index 000000000000..3f45fcc0e3c6 --- /dev/null +++ b/textproc/libxml2/files/patch-catalog-memleak @@ -0,0 +1,28 @@ +From fac4411aa65a2ebf936be50856ab14c148966e9d Mon Sep 17 00:00:00 2001 +From: "Jan Alexander Steffens (heftig)" +Date: Wed, 4 Mar 2026 19:08:16 +0100 +Subject: [PATCH] catalog: Free xmlCatalogResolveCache on cleanup + +Otherwise the `tstLastError.py` test will complain about a memory leak. + +Fixes: b706c5c5b7ce11d002a5b77ff938aa3693931c12 (Add xmlCatalogResolveCache) +Fixes: https://gitlab.gnome.org/GNOME/libxml2/-/issues/1069 +--- + catalog.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git catalog.c catalog.c +index 263268c08..ff97adedf 100644 +--- catalog.c ++++ catalog.c +@@ -3338,6 +3338,7 @@ xmlCatalogCleanup(void) { + if (xmlDebugCatalogs) + xmlCatalogPrintDebug( + "Catalogs cleanup\n"); ++ xmlResetCatalogResolveCache(); + if (xmlCatalogXMLFiles != NULL) + xmlHashFree(xmlCatalogXMLFiles, xmlFreeCatalogHashEntryList); + xmlCatalogXMLFiles = NULL; +-- +GitLab +