aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Andree <mandree@FreeBSD.org>2026-01-02 15:10:37 +0000
committerMatthias Andree <mandree@FreeBSD.org>2026-01-26 21:47:50 +0000
commit099bd713e09ebdd02d73fde770c50706f980404f (patch)
treee5846020d8ba14de210dcfd909de7d1d368beb4f
parentb563103835737401894fa746690cfa6ea9ba120d (diff)
textproc/libxml2*: update to 2.15.1, split -core
libxml2 now requires xsltproc from libxslt to build, yet libxslt depends on libxml2, so we need to break a dependency cycle. documentation needed to be split out to a separate port. libxml2 has therefore been split into two ports, * libxml2 builds the documentation (unless disabled), * library and executables in libxml2-core. Pull in one contributor patch suggested by the former libxml2 maintainer to address one downstream security issue in recent libxslt versions. This should address arrowd@'s hint that installing libxml2 should provide a full-featured package. While here, deprecate libxml2-python according to upstream plans, we have very few users in the ports tree, and expire end of 2026Q1. PR: 291316
-rw-r--r--Mk/Uses/gnome.mk6
-rw-r--r--UPDATING12
-rw-r--r--textproc/Makefile1
-rw-r--r--textproc/libxml2-core/Makefile67
-rw-r--r--textproc/libxml2-core/distinfo3
-rw-r--r--textproc/libxml2-core/files/patch-xpath.c130
-rw-r--r--textproc/libxml2-core/pkg-descr4
-rw-r--r--textproc/libxml2-core/pkg-plist55
-rw-r--r--textproc/libxml2-python/Makefile39
-rw-r--r--textproc/libxml2/Makefile92
-rw-r--r--textproc/libxml2/distinfo3
-rw-r--r--textproc/libxml2/pkg-descr5
-rw-r--r--textproc/libxml2/pkg-plist117
13 files changed, 348 insertions, 186 deletions
diff --git a/Mk/Uses/gnome.mk b/Mk/Uses/gnome.mk
index 59d070c747f8..f162916c47e1 100644
--- a/Mk/Uses/gnome.mk
+++ b/Mk/Uses/gnome.mk
@@ -204,9 +204,9 @@ libidl_USE_GNOME_IMPL= glib20
libglade2_LIB_DEPENDS= libglade-2.0.so:devel/libglade2
libglade2_USE_GNOME_IMPL=libxml2 gtk20
-libxml2_BUILD_DEPENDS= xml2-config:textproc/libxml2
-libxml2_LIB_DEPENDS= libxml2.so:textproc/libxml2
-libxml2_RUN_DEPENDS= xml2-config:textproc/libxml2
+libxml2_BUILD_DEPENDS= xml2-config:textproc/libxml2-core
+libxml2_LIB_DEPENDS= libxml2.so:textproc/libxml2-core
+libxml2_RUN_DEPENDS= libxml2>=0:textproc/libxml2
libxslt_BUILD_DEPENDS= xsltproc:textproc/libxslt
libxslt_LIB_DEPENDS= libxslt.so:textproc/libxslt
diff --git a/UPDATING b/UPDATING
index 5436434bf7a8..bbc032854c7d 100644
--- a/UPDATING
+++ b/UPDATING
@@ -5,6 +5,18 @@ they are unavoidable.
You should get into the habit of checking this file for changes each time
you update your ports collection, before attempting any port upgrades.
+20260126:
+ AFFECTS: users of textproc/libxml2
+ AUTHOR: mandree@FreeBSD.org
+
+ The libxml2 port has been split in two, to avoid a new circular dependency
+ through libxslt when building the documentation. The libxml2-core port
+ now contains the library and libxml2 the documentation.
+ This should be mostly automatically handled by the framework;
+ if installing libxml2-core now causes trouble in ports,
+ build libxml2-core, then pkg delete -f libxml2, then install
+ libxml2-core, and then proceed with your updates.
+
20260125:
AFFECTS: users of dns/ddclient
AUTHOR: mjl@luckie.org.nz
diff --git a/textproc/Makefile b/textproc/Makefile
index aa0076e919f3..71d589134798 100644
--- a/textproc/Makefile
+++ b/textproc/Makefile
@@ -431,6 +431,7 @@
SUBDIR += libxml++26
SUBDIR += libxml++30
SUBDIR += libxml2
+ SUBDIR += libxml2-core
SUBDIR += libxml2-python
SUBDIR += libxmlb
SUBDIR += libxmlbird
diff --git a/textproc/libxml2-core/Makefile b/textproc/libxml2-core/Makefile
new file mode 100644
index 000000000000..fa92ce1c6945
--- /dev/null
+++ b/textproc/libxml2-core/Makefile
@@ -0,0 +1,67 @@
+PORTNAME?= libxml2
+DISTVERSION= 2.15.1
+CATEGORIES?= textproc gnome
+MASTER_SITES= GNOME
+PKGNAMESUFFIX?= -core
+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/
+
+PATCH_STRIP= -p1
+
+INSTALL_TARGET= install-strip
+TEST_TARGET= check
+
+OPTIONS_DEFINE= DOCS ICU PYTHON READLINE STATIC THREAD_ALLOC
+OPTIONS_GROUP= LEGACY
+OPTIONS_GROUP_LEGACY= HTTP ZLIB
+OPTIONS_DEFAULT= HTTP READLINE STATIC ZLIB
+OPTIONS_SUB= yes
+# note: no DOCS - built by ../libxml2 instead, to
+# avoid a circular dependency. libxml2 2.15.0 requires
+# xsltproc (provided by libxslt, which depends on libxml2)
+OPTIONS_EXCLUDE?= DOCS PYTHON
+
+HTTP_DESC= HTTP support
+LEGACY_DESC= Enable legacy API compatibility
+READLINE_DESC= History for xmllint
+THREAD_ALLOC_DESC= Per-thread memory (DEVELOPERS ONLY!)
+
+DOCS_BUILD_DEPENDS= doxygen:devel/doxygen
+DOCS_CONFIGURE_WITH= docs
+HTTP_CONFIGURE_WITH= http
+ICU_LIB_DEPENDS= libicuuc.so:devel/icu
+ICU_CONFIGURE_WITH= icu
+PYTHON_CONFIGURE_WITH= python=${PYTHON_CMD}
+PYTHON_BUILD_DEPENDS= doxygen:devel/doxygen
+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 <bsd.port.options.mk>
+
+.if empty(PORT_OPTIONS:MDOCS)
+CONFIGURE_ARGS+= --without-docs
+.endif
+
+.if empty(PORT_OPTIONS:MPYTHON)
+CONFIGURE_ARGS+= --without-python
+.endif
+
+.include <bsd.port.mk>
diff --git a/textproc/libxml2-core/distinfo b/textproc/libxml2-core/distinfo
new file mode 100644
index 000000000000..95248fd9047b
--- /dev/null
+++ b/textproc/libxml2-core/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1767355197
+SHA256 (gnome/libxml2-2.15.1.tar.xz) = c008bac08fd5c7b4a87f7b8a71f283fa581d80d80ff8d2efd3b26224c39bc54c
+SIZE (gnome/libxml2-2.15.1.tar.xz) = 2004588
diff --git a/textproc/libxml2-core/files/patch-xpath.c b/textproc/libxml2-core/files/patch-xpath.c
new file mode 100644
index 000000000000..fbc161d8d1d2
--- /dev/null
+++ b/textproc/libxml2-core/files/patch-xpath.c
@@ -0,0 +1,130 @@
+From 0e50b31902cdb1eb242eb361c123e9e033b2af87 Mon Sep 17 00:00:00 2001
+From: Daniel Garcia Moreno <daniel.garcia@suse.com>
+Date: Wed, 8 Oct 2025 09:18:51 +0200
+Subject: [PATCH] Ignore next/prev of documents when traversing XPath
+
+See https://gitlab.gnome.org/GNOME/libxml2/-/issues/996
+---
+ xpath.c | 66 ++++++++++++++++++++++++++++++++++++++++++---------------
+ 1 file changed, 49 insertions(+), 17 deletions(-)
+
+diff --git a/xpath.c b/xpath.c
+index b8e197cc9..442ce02f8 100644
+--- a/xpath.c
++++ b/xpath.c
+@@ -6558,12 +6558,18 @@ xmlNode *
+ xmlXPathNextFollowingSibling(xmlXPathParserContext *ctxt, xmlNode *cur) {
+ if ((ctxt == NULL) || (ctxt->context == NULL)) return(NULL);
+ if ((ctxt->context->node->type == XML_ATTRIBUTE_NODE) ||
+- (ctxt->context->node->type == XML_NAMESPACE_DECL))
+- return(NULL);
++ (ctxt->context->node->type == XML_NAMESPACE_DECL))
++ return(NULL);
++
+ if (cur == (xmlNodePtr) ctxt->context->doc)
+ return(NULL);
++
+ if (cur == NULL)
+- return(ctxt->context->node->next);
++ cur = ctxt->context->node;
++
++ if (cur->type == XML_DOCUMENT_NODE)
++ return(NULL);
++
+ return(cur->next);
+ }
+
+@@ -6581,17 +6587,23 @@ xmlNode *
+ xmlXPathNextPrecedingSibling(xmlXPathParserContext *ctxt, xmlNode *cur) {
+ if ((ctxt == NULL) || (ctxt->context == NULL)) return(NULL);
+ if ((ctxt->context->node->type == XML_ATTRIBUTE_NODE) ||
+- (ctxt->context->node->type == XML_NAMESPACE_DECL))
+- return(NULL);
++ (ctxt->context->node->type == XML_NAMESPACE_DECL))
++ return(NULL);
++
+ if (cur == (xmlNodePtr) ctxt->context->doc)
+ return(NULL);
+- if (cur == NULL)
+- return(ctxt->context->node->prev);
+- if ((cur->prev != NULL) && (cur->prev->type == XML_DTD_NODE)) {
+- cur = cur->prev;
+- if (cur == NULL)
+- return(ctxt->context->node->prev);
++
++ if (cur == NULL) {
++ cur = ctxt->context->node;
++ } else if ((cur->prev != NULL) && (cur->prev->type == XML_DTD_NODE)) {
++ cur = cur->prev;
++ if (cur == NULL)
++ cur = ctxt->context->node;
+ }
++
++ if (cur->type == XML_DOCUMENT_NODE)
++ return(NULL);
++
+ return(cur->prev);
+ }
+
+@@ -6626,14 +6638,27 @@ xmlXPathNextFollowing(xmlXPathParserContext *ctxt, xmlNode *cur) {
+ cur = (xmlNodePtr) ns->next;
+ }
+ }
+- if (cur == NULL) return(NULL) ; /* ERROR */
+- if (cur->next != NULL) return(cur->next) ;
++
++ /* ERROR */
++ if (cur == NULL)
++ return(NULL);
++
++ if (cur->type == XML_DOCUMENT_NODE)
++ return(NULL);
++
++ if (cur->next != NULL)
++ return(cur->next);
++
+ do {
+ cur = cur->parent;
+- if (cur == NULL) break;
+- if (cur == (xmlNodePtr) ctxt->context->doc) return(NULL);
+- if (cur->next != NULL) return(cur->next);
++ if (cur == NULL)
++ break;
++ if (cur == (xmlNodePtr) ctxt->context->doc)
++ return(NULL);
++ if (cur->next != NULL && cur->type != XML_DOCUMENT_NODE)
++ return(cur->next);
+ } while (cur != NULL);
++
+ return(cur);
+ }
+
+@@ -6746,10 +6771,13 @@ xmlXPathNextPrecedingInternal(xmlXPathParserContextPtr ctxt,
+ }
+ ctxt->ancestor = cur->parent;
+ }
+- if (cur->type == XML_NAMESPACE_DECL)
++
++ if (cur->type == XML_NAMESPACE_DECL || cur->type == XML_DOCUMENT_NODE)
+ return(NULL);
++
+ if ((cur->prev != NULL) && (cur->prev->type == XML_DTD_NODE))
+ cur = cur->prev;
++
+ while (cur->prev == NULL) {
+ cur = cur->parent;
+ if (cur == NULL)
+@@ -6760,6 +6788,10 @@ xmlXPathNextPrecedingInternal(xmlXPathParserContextPtr ctxt,
+ return (cur);
+ ctxt->ancestor = cur->parent;
+ }
++
++ if (cur->type == XML_DOCUMENT_NODE)
++ return(NULL);
++
+ cur = cur->prev;
+ while (cur->last != NULL)
+ cur = cur->last;
+--
+GitLab
+
diff --git a/textproc/libxml2-core/pkg-descr b/textproc/libxml2-core/pkg-descr
new file mode 100644
index 000000000000..1c027bb7aa2c
--- /dev/null
+++ b/textproc/libxml2-core/pkg-descr
@@ -0,0 +1,4 @@
+Libxml2 is the XML C parser and toolkit developed for the Gnome project (but
+usable outside of the Gnome platform). XML itself is a metalanguage to design
+markup languages, i.e. text language where semantic and structure are added to
+the content using extra "markup" information enclosed between angle brackets.
diff --git a/textproc/libxml2-core/pkg-plist b/textproc/libxml2-core/pkg-plist
new file mode 100644
index 000000000000..4cc3400bdb51
--- /dev/null
+++ b/textproc/libxml2-core/pkg-plist
@@ -0,0 +1,55 @@
+bin/xml2-config
+bin/xmlcatalog
+bin/xmllint
+include/libxml2/libxml/HTMLparser.h
+include/libxml2/libxml/HTMLtree.h
+include/libxml2/libxml/SAX.h
+include/libxml2/libxml/SAX2.h
+include/libxml2/libxml/c14n.h
+include/libxml2/libxml/catalog.h
+include/libxml2/libxml/chvalid.h
+include/libxml2/libxml/debugXML.h
+include/libxml2/libxml/dict.h
+include/libxml2/libxml/encoding.h
+include/libxml2/libxml/entities.h
+include/libxml2/libxml/globals.h
+include/libxml2/libxml/hash.h
+include/libxml2/libxml/list.h
+include/libxml2/libxml/nanoftp.h
+include/libxml2/libxml/nanohttp.h
+include/libxml2/libxml/parser.h
+include/libxml2/libxml/parserInternals.h
+include/libxml2/libxml/pattern.h
+include/libxml2/libxml/relaxng.h
+include/libxml2/libxml/schemasInternals.h
+include/libxml2/libxml/schematron.h
+include/libxml2/libxml/threads.h
+include/libxml2/libxml/tree.h
+include/libxml2/libxml/uri.h
+include/libxml2/libxml/valid.h
+include/libxml2/libxml/xinclude.h
+include/libxml2/libxml/xlink.h
+include/libxml2/libxml/xmlIO.h
+include/libxml2/libxml/xmlautomata.h
+include/libxml2/libxml/xmlerror.h
+include/libxml2/libxml/xmlexports.h
+include/libxml2/libxml/xmlmemory.h
+include/libxml2/libxml/xmlmodule.h
+include/libxml2/libxml/xmlreader.h
+include/libxml2/libxml/xmlregexp.h
+include/libxml2/libxml/xmlsave.h
+include/libxml2/libxml/xmlschemas.h
+include/libxml2/libxml/xmlschemastypes.h
+include/libxml2/libxml/xmlstring.h
+include/libxml2/libxml/xmlunicode.h
+include/libxml2/libxml/xmlversion.h
+include/libxml2/libxml/xmlwriter.h
+include/libxml2/libxml/xpath.h
+include/libxml2/libxml/xpathInternals.h
+include/libxml2/libxml/xpointer.h
+lib/cmake/libxml2/libxml2-config.cmake
+%%STATIC%%lib/libxml2.a
+lib/libxml2.so
+lib/libxml2.so.16
+lib/libxml2.so.16.1.1
+libdata/pkgconfig/libxml-2.0.pc
diff --git a/textproc/libxml2-python/Makefile b/textproc/libxml2-python/Makefile
index 9a6133ac7414..822014e32f08 100644
--- a/textproc/libxml2-python/Makefile
+++ b/textproc/libxml2-python/Makefile
@@ -2,31 +2,50 @@ PORTNAME= libxml2-python
PORTREVISION= 0
CATEGORIES= textproc gnome python
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
+PKGNAMESUFFIX= # blank, to override the one in the master port
COMMENT= Python interface for XML parser library for GNOME
-MASTERDIR= ${.CURDIR}/../libxml2
+DEPRECATED= Using these bindings is discouraged by upstream, see https://gitlab.gnome.org/GNOME/libxml2/-/issues/891 and https://gitlab.gnome.org/GNOME/libxml2/-/issues/924
+EXPIRATION_DATE=2026-03-31
+
+# doxygen already listed in libxml2-core/Makefile
BUILD_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}setuptools>0:devel/py-setuptools@${PY_FLAVOR}
+RUN_DEPENDS= libxml2=${PORTVERSION}:textproc/libxml2 # docs
-USES+= gettext-runtime gnome python shebangfix
-USE_GNOME= libxml2
+USES+= gnome localbase python shebangfix
+USE_GNOME= libxml2 # pulls in libxml2-core
USE_PYTHON= autoplist distutils # generator.py not found in PEP-517 environment
SHEBANG_GLOB= *.py*
-OPTIONS_EXCLUDE= ${OPTIONS_DEFINE} ${OPTIONS_GROUP_LEGACY}
+# work around Makefile not reliably defining doxygen --without-docs but --with-python
+MAKE_ARGS+= DOXYGEN=${LOCALBASE}/bin/doxygen
-# Tell master port we're a slave port
-LIBXML2_SLAVE= python
-# Grab pkg-descr from slave port
-DESCR= ${.CURDIR}/pkg-descr
+# CPPFLAGS addition required so that this port can build with an older libxml2 installed
+CPPFLAGS+= -I${WRKSRC}/include
+
+DOCSDIR= ${PREFIX}/share/doc/libxml2-python
+EXAMPLESDIR= ${PREFIX}/share/examples/libxml2-python
+MASTERDIR= ${.CURDIR}/../libxml2-core
BUILD_WRKSRC= ${WRKSRC}/python
INSTALL_WRKSRC= ${BUILD_WRKSRC}
+TEST_WRKSRC= ${BUILD_WRKSRC}
+
+# Grab pkg-descr from slave port
+DESCR= ${.CURDIR}/pkg-descr
# Don't append pkg-plist from master port
PLIST=
-DOCSDIR= ${PREFIX}/share/doc/libxml2-python
-EXAMPLESDIR= ${PREFIX}/share/examples/libxml2-python
+OPTIONS_EXCLUDE= ${OPTIONS_DEFINE:NPYTHON} ${OPTIONS_GROUP_LEGACY}
+OPTIONS_SLAVE= PYTHON
+
+pre-build:
+ ( cd ${WRKSRC} && ${DO_MAKE_BUILD} libxml2.la && \
+ cd ${WRKSRC}/doc && ${DO_MAKE_BUILD} )
+
+post-install:
+ ${STRIP_CMD} ${STAGEDIR}${PYTHON_LIBDIR}/site-packages/libxml2mod${PYTHON_SOABI}.so
.include "${MASTERDIR}/Makefile"
diff --git a/textproc/libxml2/Makefile b/textproc/libxml2/Makefile
index 7273d2fce028..dda5d8e6cdca 100644
--- a/textproc/libxml2/Makefile
+++ b/textproc/libxml2/Makefile
@@ -1,67 +1,55 @@
-PORTNAME?= libxml2
-DISTVERSION= 2.14.6
-CATEGORIES?= textproc gnome
-MASTER_SITES= GNOME
-DISTNAME= libxml2-${DISTVERSION}
-DIST_SUBDIR= gnome
+PORTNAME= libxml2
+PORTREVISION= 0
+CATEGORIES= textproc gnome python
+PKGNAMESUFFIX=
-MAINTAINER= desktop@FreeBSD.org
-COMMENT?= XML parser library for GNOME
-WWW= http://xmlsoft.org/
+COMMENT= Documentation package for XML parser library for GNOME
-LICENSE= MIT
+BUILD_DEPENDS= docbook-xsl>=0:textproc/docbook-xsl \
+ libxml2-core=${PORTVERSION}:textproc/libxml2-core \
+ xsltproc:textproc/libxslt
+# not an actual dependency but required to keep the many
+# other ports that declare a depends on textproc/libxml2 building
+LIB_DEPENDS= libxml2.so:textproc/libxml2-core
-# 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/ \
- --with-lzma=/usr \
- --${LIBXML2_SLAVE:Dwith:Uwithout}-python${LIBXML2_SLAVE:D=${PYTHON_CMD}:U}
+USES= shebangfix
-INSTALL_TARGET= install-strip
-TEST_TARGET= check
+DOCSDIR= ${PREFIX}/share/doc/libxml2-docs
+EXAMPLESDIR= ${PREFIX}/share/examples/libxml2-docs
+FILESDIR= ${.CURDIR}/files
+MASTERDIR= ${.CURDIR}/../libxml2-core
-OPTIONS_DEFINE= DOCS ICU READLINE STATIC THREAD_ALLOC
-OPTIONS_GROUP= LEGACY
-OPTIONS_GROUP_LEGACY= HTTP LZMA ZLIB
-OPTIONS_DEFAULT= HTTP LZMA READLINE STATIC ZLIB
-OPTIONS_SUB= yes
+NO_ARCH= yes
-HTTP_DESC= HTTP support
-LEGACY_DESC= Enable legacy API compatibility
-READLINE_DESC= History for xmllint
-THREAD_ALLOC_DESC= Per-thread memory (DEVELOPERS ONLY!)
+BUILD_WRKSRC= ${WRKSRC}/doc
+INSTALL_WRKSRC= ${BUILD_WRKSRC}
+TEST_WRKSRC= ${BUILD_WRKSRC}
-HTTP_CONFIGURE_WITH= http
-ICU_LIB_DEPENDS= libicuuc.so:devel/icu
-ICU_CONFIGURE_WITH= icu
-LZMA_CONFIGURE_WITH= lzma
-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
+DESCR= ${.CURDIR}/pkg-descr
+PLIST= ${.CURDIR}/pkg-plist
+PORTDOCS= *
-post-patch:
- @${REINPLACE_CMD} -e \
- 's|/etc/xml/catalog|${LOCALBASE}/share/xml/catalog|g; \
- s|/etc/sgml/catalog|${LOCALBASE}/share/sgml/catalog|g' \
- ${WRKSRC}/doc/xmllint.1
+OPTIONS_EXCLUDE= ${OPTIONS_DEFINE:NDOCS} ${OPTIONS_GROUP_LEGACY}
+OPTIONS_SLAVE= DOCS
+
+pre-everything::
+ @if ${PKG_INFO} -e ${PORTNAME} && \
+ test "<" = $$(${PKG_VERSION} -t $$(${PKG_QUERY} %v $$(${PKG_INFO} -q -O ${PORTNAME})) 2.15) ; then \
+ ${ECHO_CMD} "=== libxml2 < 2.15 detected, you must deinstall first ===" ; \
+ ${ECHO_CMD} "=== because you cannot install libxml2-core otherwise ===" ; \
+ ${ECHO_CMD} "=== In case of more trouble, try make clean-depends. ===" ; \
+ exit 1; \
+ fi
post-install:
-.if !defined(LIBXML2_SLAVE)
# Documentation should be in DOCSDIR
- @${MV} ${STAGEDIR}${PREFIX}/share/gtk-doc/html/libxml2 \
+ ${MKDIR} ${STAGEDIR}${DOCSDIR}/devhelp
+ ${MV} ${STAGEDIR}${PREFIX}/share/doc/libxml2/html/ \
${STAGEDIR}${DOCSDIR}/devhelp
- @${RM} -r ${STAGEDIR}${PREFIX}/share/gtk-doc
+ ${RM} -rv ${STAGEDIR}${PREFIX}/share/gtk-doc
+ ${MV} ${STAGEDIR}${PREFIX}/share/doc/libxml2 \
+ ${STAGEDIR}${DOCSDIR}
# Install remaining documentation that's not connected to autotools
${INSTALL_MAN} ${WRKSRC}/doc/*.html ${STAGEDIR}${DOCSDIR}
-.else
- ${STRIP_CMD} ${STAGEDIR}${PYTHON_LIBDIR}/site-packages/libxml2mod${PYTHON_SOABI}.so
-.endif
-.include <bsd.port.mk>
+.include "${MASTERDIR}/Makefile"
diff --git a/textproc/libxml2/distinfo b/textproc/libxml2/distinfo
deleted file mode 100644
index 59444a4c3340..000000000000
--- a/textproc/libxml2/distinfo
+++ /dev/null
@@ -1,3 +0,0 @@
-TIMESTAMP = 1759693474
-SHA256 (gnome/libxml2-2.14.6.tar.xz) = 7ce458a0affeb83f0b55f1f4f9e0e55735dbfc1a9de124ee86fb4a66b597203a
-SIZE (gnome/libxml2-2.14.6.tar.xz) = 2327580
diff --git a/textproc/libxml2/pkg-descr b/textproc/libxml2/pkg-descr
index 1c027bb7aa2c..fe83bd8e42d7 100644
--- a/textproc/libxml2/pkg-descr
+++ b/textproc/libxml2/pkg-descr
@@ -1,4 +1 @@
-Libxml2 is the XML C parser and toolkit developed for the Gnome project (but
-usable outside of the Gnome platform). XML itself is a metalanguage to design
-markup languages, i.e. text language where semantic and structure are added to
-the content using extra "markup" information enclosed between angle brackets.
+Documentation package for XML parser library for GNOME
diff --git a/textproc/libxml2/pkg-plist b/textproc/libxml2/pkg-plist
index 81916b7a2cf3..8b50b6b9a3f8 100644
--- a/textproc/libxml2/pkg-plist
+++ b/textproc/libxml2/pkg-plist
@@ -1,114 +1,3 @@
-bin/xml2-config
-bin/xmlcatalog
-bin/xmllint
-include/libxml2/libxml/HTMLparser.h
-include/libxml2/libxml/HTMLtree.h
-include/libxml2/libxml/SAX.h
-include/libxml2/libxml/SAX2.h
-include/libxml2/libxml/c14n.h
-include/libxml2/libxml/catalog.h
-include/libxml2/libxml/chvalid.h
-include/libxml2/libxml/debugXML.h
-include/libxml2/libxml/dict.h
-include/libxml2/libxml/encoding.h
-include/libxml2/libxml/entities.h
-include/libxml2/libxml/globals.h
-include/libxml2/libxml/hash.h
-include/libxml2/libxml/list.h
-include/libxml2/libxml/nanoftp.h
-include/libxml2/libxml/nanohttp.h
-include/libxml2/libxml/parser.h
-include/libxml2/libxml/parserInternals.h
-include/libxml2/libxml/pattern.h
-include/libxml2/libxml/relaxng.h
-include/libxml2/libxml/schemasInternals.h
-include/libxml2/libxml/schematron.h
-include/libxml2/libxml/threads.h
-include/libxml2/libxml/tree.h
-include/libxml2/libxml/uri.h
-include/libxml2/libxml/valid.h
-include/libxml2/libxml/xinclude.h
-include/libxml2/libxml/xlink.h
-include/libxml2/libxml/xmlIO.h
-include/libxml2/libxml/xmlautomata.h
-include/libxml2/libxml/xmlerror.h
-include/libxml2/libxml/xmlexports.h
-include/libxml2/libxml/xmlmemory.h
-include/libxml2/libxml/xmlmodule.h
-include/libxml2/libxml/xmlreader.h
-include/libxml2/libxml/xmlregexp.h
-include/libxml2/libxml/xmlsave.h
-include/libxml2/libxml/xmlschemas.h
-include/libxml2/libxml/xmlschemastypes.h
-include/libxml2/libxml/xmlstring.h
-include/libxml2/libxml/xmlunicode.h
-include/libxml2/libxml/xmlversion.h
-include/libxml2/libxml/xmlwriter.h
-include/libxml2/libxml/xpath.h
-include/libxml2/libxml/xpathInternals.h
-include/libxml2/libxml/xpointer.h
-lib/cmake/libxml2/libxml2-config.cmake
-%%STATIC%%lib/libxml2.a
-lib/libxml2.so
-lib/libxml2.so.16
-lib/libxml2.so.16.0.6
-libdata/pkgconfig/libxml-2.0.pc
-%%PORTDOCS%%%%DOCSDIR%%/devhelp/general.html
-%%PORTDOCS%%%%DOCSDIR%%/devhelp/home.png
-%%PORTDOCS%%%%DOCSDIR%%/devhelp/index.html
-%%PORTDOCS%%%%DOCSDIR%%/devhelp/left.png
-%%PORTDOCS%%%%DOCSDIR%%/devhelp/libxml2-HTMLparser.html
-%%PORTDOCS%%%%DOCSDIR%%/devhelp/libxml2-HTMLtree.html
-%%PORTDOCS%%%%DOCSDIR%%/devhelp/libxml2-SAX.html
-%%PORTDOCS%%%%DOCSDIR%%/devhelp/libxml2-SAX2.html
-%%PORTDOCS%%%%DOCSDIR%%/devhelp/libxml2-c14n.html
-%%PORTDOCS%%%%DOCSDIR%%/devhelp/libxml2-catalog.html
-%%PORTDOCS%%%%DOCSDIR%%/devhelp/libxml2-chvalid.html
-%%PORTDOCS%%%%DOCSDIR%%/devhelp/libxml2-debugXML.html
-%%PORTDOCS%%%%DOCSDIR%%/devhelp/libxml2-dict.html
-%%PORTDOCS%%%%DOCSDIR%%/devhelp/libxml2-encoding.html
-%%PORTDOCS%%%%DOCSDIR%%/devhelp/libxml2-entities.html
-%%PORTDOCS%%%%DOCSDIR%%/devhelp/libxml2-globals.html
-%%PORTDOCS%%%%DOCSDIR%%/devhelp/libxml2-hash.html
-%%PORTDOCS%%%%DOCSDIR%%/devhelp/libxml2-list.html
-%%PORTDOCS%%%%DOCSDIR%%/devhelp/libxml2-nanoftp.html
-%%PORTDOCS%%%%DOCSDIR%%/devhelp/libxml2-nanohttp.html
-%%PORTDOCS%%%%DOCSDIR%%/devhelp/libxml2-parser.html
-%%PORTDOCS%%%%DOCSDIR%%/devhelp/libxml2-parserInternals.html
-%%PORTDOCS%%%%DOCSDIR%%/devhelp/libxml2-pattern.html
-%%PORTDOCS%%%%DOCSDIR%%/devhelp/libxml2-relaxng.html
-%%PORTDOCS%%%%DOCSDIR%%/devhelp/libxml2-schemasInternals.html
-%%PORTDOCS%%%%DOCSDIR%%/devhelp/libxml2-schematron.html
-%%PORTDOCS%%%%DOCSDIR%%/devhelp/libxml2-threads.html
-%%PORTDOCS%%%%DOCSDIR%%/devhelp/libxml2-tree.html
-%%PORTDOCS%%%%DOCSDIR%%/devhelp/libxml2-uri.html
-%%PORTDOCS%%%%DOCSDIR%%/devhelp/libxml2-valid.html
-%%PORTDOCS%%%%DOCSDIR%%/devhelp/libxml2-xinclude.html
-%%PORTDOCS%%%%DOCSDIR%%/devhelp/libxml2-xlink.html
-%%PORTDOCS%%%%DOCSDIR%%/devhelp/libxml2-xmlIO.html
-%%PORTDOCS%%%%DOCSDIR%%/devhelp/libxml2-xmlautomata.html
-%%PORTDOCS%%%%DOCSDIR%%/devhelp/libxml2-xmlerror.html
-%%PORTDOCS%%%%DOCSDIR%%/devhelp/libxml2-xmlexports.html
-%%PORTDOCS%%%%DOCSDIR%%/devhelp/libxml2-xmlmemory.html
-%%PORTDOCS%%%%DOCSDIR%%/devhelp/libxml2-xmlmodule.html
-%%PORTDOCS%%%%DOCSDIR%%/devhelp/libxml2-xmlreader.html
-%%PORTDOCS%%%%DOCSDIR%%/devhelp/libxml2-xmlregexp.html
-%%PORTDOCS%%%%DOCSDIR%%/devhelp/libxml2-xmlsave.html
-%%PORTDOCS%%%%DOCSDIR%%/devhelp/libxml2-xmlschemas.html
-%%PORTDOCS%%%%DOCSDIR%%/devhelp/libxml2-xmlschemastypes.html
-%%PORTDOCS%%%%DOCSDIR%%/devhelp/libxml2-xmlstring.html
-%%PORTDOCS%%%%DOCSDIR%%/devhelp/libxml2-xmlunicode.html
-%%PORTDOCS%%%%DOCSDIR%%/devhelp/libxml2-xmlversion.html
-%%PORTDOCS%%%%DOCSDIR%%/devhelp/libxml2-xmlwriter.html
-%%PORTDOCS%%%%DOCSDIR%%/devhelp/libxml2-xpath.html
-%%PORTDOCS%%%%DOCSDIR%%/devhelp/libxml2-xpathInternals.html
-%%PORTDOCS%%%%DOCSDIR%%/devhelp/libxml2-xpointer.html
-%%PORTDOCS%%%%DOCSDIR%%/devhelp/libxml2.devhelp2
-%%PORTDOCS%%%%DOCSDIR%%/devhelp/right.png
-%%PORTDOCS%%%%DOCSDIR%%/devhelp/style.css
-%%PORTDOCS%%%%DOCSDIR%%/devhelp/up.png
-%%PORTDOCS%%%%DOCSDIR%%/xmlcatalog.html
-%%PORTDOCS%%%%DOCSDIR%%/xmllint.html
-share/man/man1/xml2-config.1.gz
-share/man/man1/xmlcatalog.1.gz
-share/man/man1/xmllint.1.gz
+%%PORTDOCS%%share/man/man1/xml2-config.1.gz
+%%PORTDOCS%%share/man/man1/xmlcatalog.1.gz
+%%PORTDOCS%%share/man/man1/xmllint.1.gz