Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F135999426
D34338.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
46 KB
Referenced Files
None
Subscribers
None
D34338.diff
View Options
diff --git a/textproc/libxml2/Makefile b/textproc/libxml2/Makefile
--- a/textproc/libxml2/Makefile
+++ b/textproc/libxml2/Makefile
@@ -1,81 +1,60 @@
# Created by: Yukihiro Nakai <Nakai@technologist.com>
PORTNAME= libxml2
-DISTVERSION= 2.9.12
+DISTVERSION= 2.9.13
PORTREVISION?= 0
CATEGORIES?= textproc gnome
-MASTER_SITES= http://xmlsoft.org/sources/
+MASTER_SITES= GNOME/sources/${PORTNAME}/${DISTVERSION:R}/
DIST_SUBDIR= gnome2
-MAINTAINER?= desktop@FreeBSD.org
+MAINTAINER= desktop@FreeBSD.org
COMMENT?= XML parser library for GNOME
-LICENSE= MIT TRIO
-LICENSE_COMB= multi
-LICENSE_NAME_TRIO= Trio License
-LICENSE_FILE_MIT= ${WRKSRC}/COPYING
-LICENSE_FILE_TRIO= ${FILESDIR}/LICENSE.TRIO
-LICENSE_PERMS_TRIO= dist-mirror dist-sell pkg-mirror pkg-sell auto-accept
+LICENSE= MIT
+
+USES+= cmake cpe iconv localbase:ldflags pkgconfig tar:xz
-USES+= compiler cpe iconv libtool pathfix pkgconfig shebangfix
-GNU_CONFIGURE= yes
CPE_VENDOR= xmlsoft
-SHEBANG_FILES= *.py */*.py */*/*.py
USE_LDCONFIG= yes
-INSTALL_TARGET= install-strip
-TEST_TARGET= check
-
-CONFIGURE_ARGS?=--with-iconv=${ICONV_PREFIX} \
- --with-html-dir=${PREFIX}/share/doc \
- --with-html-subdir=${PORTNAME} \
- --without-icu \
- --with-lzma=/usr \
- --without-python
-
PLIST_SUB+= LIBVERSION=${DISTVERSION}
-.if !defined(MASTERDIR)
+# Don't build with Python support unless requested
+CMAKE_${LIBXML2_SLAVE:DON:UOFF}=LIBXML2_WITH_PYTHON
-OPTIONS_DEFINE= MEM_DEBUG SCHEMA THREAD_ALLOC THREADS VALIDATION \
- XMLLINT_HIST
-OPTIONS_DEFAULT= SCHEMA VALIDATION THREADS
+OPTIONS_DEFINE= DOCS ICU MEM_DEBUG READLINE TEST THREAD_ALLOC
+OPTIONS_DEFAULT= ICU READLINE
+OPTIONS_SUB= yes
MEM_DEBUG_DESC= Memory debugging (DEVELOPERS ONLY!)
-SCHEMA_DESC= XML schema support
THREAD_ALLOC_DESC= Per-thread memory (DEVELOPERS ONLY!)
-VALIDATION_DESC= Validation support
-XMLLINT_HIST_DESC= History for xmllint
-
-MEM_DEBUG_CONFIGURE_WITH= mem-debug
-SCHEMA_CONFIGURE_WITH= schemas
-THREAD_ALLOC_CONFIGURE_WITH= thread-alloc
-THREADS_CONFIGURE_WITH= threads
-VALIDATION_CONFIGURE_OFF= --without-valid
-XMLLINT_HIST_CONFIGURE_WITH= history
-
-.endif # !defined(MASTERDIR)
-
-.if !defined(MASTERDIR)
-post-install:
- @${RM} -r ${STAGEDIR}${PREFIX}/share/gtk-doc
-.endif
-
-.include <bsd.port.pre.mk>
+READLINE_DESC= History for xmllint
+
+DOCS_EXTRA_PATCHES_OFF= ${PATCHDIR}/extra-patch-docs
+ICU_LIB_DEPENDS= libicudata.so:devel/icu
+ICU_CMAKE_BOOL= LIBXML2_WITH_ICU
+MEM_DEBUG_CAKE_BOOL= LIBXML2_WITH_MEM_DEBUG
+READLINE_LIB_DEPENDS= libreadline.so:devel/readline
+READLINE_CMAKE_OFF= -DHAVE_LIBHISTORY=false -DHAVE_LIBREADLINE=false
+THREAD_ALLOC_CMAKE_BOOL=LIBXML2_WITH_THREAD_ALLOC
+TEST_CMAKE_BOOL= LIBXML2_WITH_TESTS
+TEST_TEST_TARGET= test
post-patch:
-.for d in . doc doc/devhelp doc/examples
- @${REINPLACE_CMD} -e '/^install-data-am:/ s|install-data-local||' \
- ${WRKSRC}/${d}/Makefile.in
-.endfor
.for f in catalog.c xmlcatalog.c xmllint.c doc/xmllint.1
@${REINPLACE_CMD} -e \
's|/etc/xml/catalog|${LOCALBASE}/share/xml/catalog|g; \
s|/etc/sgml/catalog|${LOCALBASE}/share/sgml/catalog|g' \
${WRKSRC}/${f}
.endfor
-.if ${CHOSEN_COMPILER_TYPE} == gcc
- @${REINPLACE_CMD} -e 's/ -Wno-array-bounds//' ${WRKSRC}/configure
+
+.if !defined(LIBXML2_SLAVE)
+post-install:
+ ${RM} ${STAGEDIR}${DOCSDIR}/xmlcatalog.1
+ ${RM} ${STAGEDIR}${DOCSDIR}/xmllint.1.bak
+ ${RM} ${STAGEDIR}${DOCSDIR}/xmllint.1
+ ${RLN} ${STAGEDIR}${PREFIX}/lib/libxml2.so.${DISTVERSION} ${STAGEDIR}${PREFIX}/lib/libxml2.so.2
+ ${INSTALL_DATA} ${WRKSRC}/libxml.m4 ${STAGEDIR}${PREFIX}/share/aclocal/libxml.m4
.endif
-.include <bsd.port.post.mk>
+.include <bsd.port.mk>
diff --git a/textproc/libxml2/distinfo b/textproc/libxml2/distinfo
--- a/textproc/libxml2/distinfo
+++ b/textproc/libxml2/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1622963062
-SHA256 (gnome2/libxml2-2.9.12.tar.gz) = c8d6681e38c56f172892c85ddc0852e1fd4b53b4209e7f4ebf17f7e2eae71d92
-SIZE (gnome2/libxml2-2.9.12.tar.gz) = 5681632
+TIMESTAMP = 1645459375
+SHA256 (gnome2/libxml2-2.9.13.tar.xz) = 276130602d12fe484ecc03447ee5e759d0465558fbc9d6bd144e3745306ebf0e
+SIZE (gnome2/libxml2-2.9.13.tar.xz) = 3243336
diff --git a/textproc/libxml2/files/LICENSE.TRIO b/textproc/libxml2/files/LICENSE.TRIO
deleted file mode 100644
--- a/textproc/libxml2/files/LICENSE.TRIO
+++ /dev/null
@@ -1,12 +0,0 @@
-(Following sentences are from trio.c of libxml2-2.9.4.tar.gz.)
-
-Copyright (C) 1998 Bjorn Reese and Daniel Stenberg.
-
-Permission to use, copy, modify, and distribute this software for any
-purpose with or without fee is hereby granted, provided that the above
-copyright notice and this permission notice appear in all copies.
-
-THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
-WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
-MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE AUTHORS AND
-CONTRIBUTORS ACCEPT NO RESPONSIBILITY IN ANY CONCEIVABLE MANNER.
diff --git a/textproc/libxml2/files/extra-patch-docs b/textproc/libxml2/files/extra-patch-docs
new file mode 100644
--- /dev/null
+++ b/textproc/libxml2/files/extra-patch-docs
@@ -0,0 +1,11 @@
+--- CMakeLists.txt.orig 2022-02-22 00:19:24 UTC
++++ CMakeLists.txt
+@@ -650,7 +650,7 @@ endif()
+ install(FILES libxml.3 DESTINATION ${CMAKE_INSTALL_MANDIR}/man3 COMPONENT documentation)
+ install(FILES doc/xmlcatalog.1 DESTINATION ${CMAKE_INSTALL_MANDIR}/man1 COMPONENT documentation)
+ install(FILES doc/xmllint.1 DESTINATION ${CMAKE_INSTALL_MANDIR}/man1 COMPONENT documentation)
+-install(DIRECTORY doc/ DESTINATION ${CMAKE_INSTALL_DATADIR}/doc/libxml2 COMPONENT documentation PATTERN Makefile.* EXCLUDE)
++#install(DIRECTORY doc/ DESTINATION ${CMAKE_INSTALL_DATADIR}/doc/libxml2 COMPONENT documentation PATTERN Makefile.* EXCLUDE)
+
+ configure_package_config_file(
+ libxml2-config.cmake.cmake.in libxml2-config.cmake
diff --git a/textproc/libxml2/files/patch-CMakeLists.txt b/textproc/libxml2/files/patch-CMakeLists.txt
new file mode 100644
--- /dev/null
+++ b/textproc/libxml2/files/patch-CMakeLists.txt
@@ -0,0 +1,29 @@
+--- CMakeLists.txt.orig 2022-02-19 16:23:47 UTC
++++ CMakeLists.txt
+@@ -691,7 +691,7 @@ if(LIBXML2_WITH_PYTHON)
+ configure_file(python/setup.py.in setup.py @ONLY)
+ endif()
+
+-set(XML_INCLUDEDIR "-I\${includedir}/libxml2")
++set(XML_INCLUDEDIR "-I\${includedir}/libxml2 -I\${includedir}")
+ set(XML_LIBDIR "-L\${libdir}")
+ set(XML_LIBS "-lxml2")
+ set(XML_PRIVATE_LIBS "${Z_LIBS} ${LZMA_LIBS} ${THREAD_LIBS} ${ICONV_LIBS} ${ICU_LIBS} ${M_LIBS}")
+@@ -699,14 +699,14 @@ set(XML_PRIVATE_LIBS "${Z_LIBS} ${LZMA_LIBS} ${THREAD_
+ file(RELATIVE_PATH PACKAGE_RELATIVE_PATH "${CMAKE_INSTALL_FULL_LIBDIR}/pkgconfig" "${CMAKE_INSTALL_PREFIX}")
+ string(REGEX REPLACE "/$" "" PACKAGE_RELATIVE_PATH "${PACKAGE_RELATIVE_PATH}")
+
+-set(prefix "\${pcfiledir}/${PACKAGE_RELATIVE_PATH}")
++set(prefix ${CMAKE_INSTALL_PREFIX})
+ set(exec_prefix "\${prefix}")
+ set(libdir "\${prefix}/${CMAKE_INSTALL_LIBDIR}")
+ set(includedir "\${prefix}/${CMAKE_INSTALL_INCLUDEDIR}")
+ configure_file(libxml-2.0.pc.in libxml-2.0.pc @ONLY)
+-install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libxml-2.0.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig COMPONENT development)
++install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libxml-2.0.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}data/pkgconfig COMPONENT development)
+
+-set(prefix "\$(cd \"\$(dirname \"\$0\")\"; pwd -P)/..")
++set(prefix ${CMAKE_INSTALL_PREFIX})
+ configure_file(xml2-config.in xml2-config @ONLY)
+ install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/xml2-config DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT development)
+
diff --git a/textproc/libxml2/files/patch-Makefile.in b/textproc/libxml2/files/patch-Makefile.in
deleted file mode 100644
--- a/textproc/libxml2/files/patch-Makefile.in
+++ /dev/null
@@ -1,47 +0,0 @@
---- Makefile.in.orig 2021-06-09 19:53:33 UTC
-+++ Makefile.in
-@@ -760,7 +760,7 @@ man_MANS = xml2-config.1 libxml.3
- m4datadir = $(datadir)/aclocal
- m4data_DATA = libxml.m4
- runtest_SOURCES = runtest.c
--runtest_LDFLAGS =
-+runtest_LDFLAGS = -pthread
- runtest_DEPENDENCIES = $(DEPS)
- runtest_LDADD = $(BASE_THREAD_LIBS) $(RDL_LIBS) $(LDADDS)
- testrecurse_SOURCES = testrecurse.c
-@@ -808,7 +808,7 @@ testC14N_LDFLAGS =
- testC14N_DEPENDENCIES = $(DEPS)
- testC14N_LDADD = $(LDADDS)
- testThreads_SOURCES = testThreads.c
--testThreads_LDFLAGS =
-+testThreads_LDFLAGS = -pthread
- testThreads_DEPENDENCIES = $(DEPS)
- testThreads_LDADD = $(BASE_THREAD_LIBS) $(LDADDS)
- testURI_SOURCES = testURI.c
-@@ -1285,7 +1285,7 @@ am--depfiles: $(am__depfiles_remade)
- @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
-
- .c.lo:
--@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -fPIC -DPIC -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@@ -1774,7 +1774,7 @@ check-am: all-am
- $(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS)
- check: $(BUILT_SOURCES)
- $(MAKE) $(AM_MAKEFLAGS) check-recursive
--all-am: Makefile $(PROGRAMS) $(LTLIBRARIES) $(SCRIPTS) $(MANS) $(DATA) \
-+all-am: Makefile $(LTLIBRARIES) $(SCRIPTS) $(MANS) $(DATA) \
- config.h
- install-binPROGRAMS: install-libLTLIBRARIES
-
-@@ -1911,7 +1911,7 @@ info: info-recursive
-
- info-am:
-
--install-data-am: install-cmakeDATA install-data-local \
-+install-data-am: install-cmakeDATA \
- install-m4dataDATA install-man install-pkgconfigDATA
-
- install-dvi: install-dvi-recursive
diff --git a/textproc/libxml2/files/patch-config.h.in b/textproc/libxml2/files/patch-config.h.in
deleted file mode 100644
--- a/textproc/libxml2/files/patch-config.h.in
+++ /dev/null
@@ -1,11 +0,0 @@
---- config.h.in.orig 2018-03-05 15:54:17 UTC
-+++ config.h.in
-@@ -1,5 +1,8 @@
- /* config.h.in. Generated from configure.ac by autoheader. */
-
-+/* XXX */
-+#define HAVE_VFSCANF
-+
- /* Type cast for the gethostbyname() argument */
- #undef GETHOSTBYNAME_ARG_CAST
-
diff --git a/textproc/libxml2/files/patch-configure b/textproc/libxml2/files/patch-configure
deleted file mode 100644
--- a/textproc/libxml2/files/patch-configure
+++ /dev/null
@@ -1,11 +0,0 @@
---- configure.orig 2019-10-30 19:14:22 UTC
-+++ configure
-@@ -15525,6 +15525,8 @@ fi
- fi
- fi
- ;;
-+ *freebsd*) THREAD_LIBS=""
-+ ;;
- esac
- if test "$WITH_THREADS" = "1" ; then
- THREAD_CFLAGS="$THREAD_CFLAGS -D_REENTRANT"
diff --git a/textproc/libxml2/files/patch-git-01-85b1792e37b131e7a51af98a37f92472e8de5f3f b/textproc/libxml2/files/patch-git-01-85b1792e37b131e7a51af98a37f92472e8de5f3f
deleted file mode 100644
--- a/textproc/libxml2/files/patch-git-01-85b1792e37b131e7a51af98a37f92472e8de5f3f
+++ /dev/null
@@ -1,211 +0,0 @@
-From 85b1792e37b131e7a51af98a37f92472e8de5f3f Mon Sep 17 00:00:00 2001
-From: Nick Wellnhofer <wellnhofer@aevum.de>
-Date: Tue, 18 May 2021 20:08:28 +0200
-Subject: [PATCH] Work around lxml API abuse
-
-Make xmlNodeDumpOutput and htmlNodeDumpFormatOutput work with corrupted
-parent pointers. This used to work with the old recursive code but the
-non-recursive rewrite required parent pointers to be set correctly.
-
-Unfortunately, lxml relies on the old behavior and passes subtrees with
-a corrupted structure. Fall back to a recursive function call if an
-invalid parent pointer is detected.
-
-Fixes #255.
----
- HTMLtree.c | 46 ++++++++++++++++++++++++++++------------------
- xmlsave.c | 31 +++++++++++++++++++++----------
- 2 files changed, 49 insertions(+), 28 deletions(-)
-
-diff --git a/HTMLtree.c b/HTMLtree.c
-index 24434d45..bdd639c7 100644
---- HTMLtree.c
-+++ HTMLtree.c
-@@ -744,7 +744,7 @@ void
- htmlNodeDumpFormatOutput(xmlOutputBufferPtr buf, xmlDocPtr doc,
- xmlNodePtr cur, const char *encoding ATTRIBUTE_UNUSED,
- int format) {
-- xmlNodePtr root;
-+ xmlNodePtr root, parent;
- xmlAttrPtr attr;
- const htmlElemDesc * info;
-
-@@ -755,6 +755,7 @@ htmlNodeDumpFormatOutput(xmlOutputBufferPtr buf, xmlDocPtr doc,
- }
-
- root = cur;
-+ parent = cur->parent;
- while (1) {
- switch (cur->type) {
- case XML_HTML_DOCUMENT_NODE:
-@@ -762,13 +763,25 @@ htmlNodeDumpFormatOutput(xmlOutputBufferPtr buf, xmlDocPtr doc,
- if (((xmlDocPtr) cur)->intSubset != NULL) {
- htmlDtdDumpOutput(buf, (xmlDocPtr) cur, NULL);
- }
-- if (cur->children != NULL) {
-+ /* Always validate cur->parent when descending. */
-+ if ((cur->parent == parent) && (cur->children != NULL)) {
-+ parent = cur;
- cur = cur->children;
- continue;
- }
- break;
-
- case XML_ELEMENT_NODE:
-+ /*
-+ * Some users like lxml are known to pass nodes with a corrupted
-+ * tree structure. Fall back to a recursive call to handle this
-+ * case.
-+ */
-+ if ((cur->parent != parent) && (cur->children != NULL)) {
-+ htmlNodeDumpFormatOutput(buf, doc, cur, encoding, format);
-+ break;
-+ }
-+
- /*
- * Get specific HTML info for that node.
- */
-@@ -817,6 +830,7 @@ htmlNodeDumpFormatOutput(xmlOutputBufferPtr buf, xmlDocPtr doc,
- (cur->name != NULL) &&
- (cur->name[0] != 'p')) /* p, pre, param */
- xmlOutputBufferWriteString(buf, "\n");
-+ parent = cur;
- cur = cur->children;
- continue;
- }
-@@ -825,9 +839,9 @@ htmlNodeDumpFormatOutput(xmlOutputBufferPtr buf, xmlDocPtr doc,
- (info != NULL) && (!info->isinline)) {
- if ((cur->next->type != HTML_TEXT_NODE) &&
- (cur->next->type != HTML_ENTITY_REF_NODE) &&
-- (cur->parent != NULL) &&
-- (cur->parent->name != NULL) &&
-- (cur->parent->name[0] != 'p')) /* p, pre, param */
-+ (parent != NULL) &&
-+ (parent->name != NULL) &&
-+ (parent->name[0] != 'p')) /* p, pre, param */
- xmlOutputBufferWriteString(buf, "\n");
- }
-
-@@ -842,9 +856,9 @@ htmlNodeDumpFormatOutput(xmlOutputBufferPtr buf, xmlDocPtr doc,
- break;
- if (((cur->name == (const xmlChar *)xmlStringText) ||
- (cur->name != (const xmlChar *)xmlStringTextNoenc)) &&
-- ((cur->parent == NULL) ||
-- ((xmlStrcasecmp(cur->parent->name, BAD_CAST "script")) &&
-- (xmlStrcasecmp(cur->parent->name, BAD_CAST "style"))))) {
-+ ((parent == NULL) ||
-+ ((xmlStrcasecmp(parent->name, BAD_CAST "script")) &&
-+ (xmlStrcasecmp(parent->name, BAD_CAST "style"))))) {
- xmlChar *buffer;
-
- buffer = xmlEncodeEntitiesReentrant(doc, cur->content);
-@@ -902,13 +916,9 @@ htmlNodeDumpFormatOutput(xmlOutputBufferPtr buf, xmlDocPtr doc,
- break;
- }
-
-- /*
-- * The parent should never be NULL here but we want to handle
-- * corrupted documents gracefully.
-- */
-- if (cur->parent == NULL)
-- return;
-- cur = cur->parent;
-+ cur = parent;
-+ /* cur->parent was validated when descending. */
-+ parent = cur->parent;
-
- if ((cur->type == XML_HTML_DOCUMENT_NODE) ||
- (cur->type == XML_DOCUMENT_NODE)) {
-@@ -939,9 +949,9 @@ htmlNodeDumpFormatOutput(xmlOutputBufferPtr buf, xmlDocPtr doc,
- (cur->next != NULL)) {
- if ((cur->next->type != HTML_TEXT_NODE) &&
- (cur->next->type != HTML_ENTITY_REF_NODE) &&
-- (cur->parent != NULL) &&
-- (cur->parent->name != NULL) &&
-- (cur->parent->name[0] != 'p')) /* p, pre, param */
-+ (parent != NULL) &&
-+ (parent->name != NULL) &&
-+ (parent->name[0] != 'p')) /* p, pre, param */
- xmlOutputBufferWriteString(buf, "\n");
- }
- }
-diff --git a/xmlsave.c b/xmlsave.c
-index 61a40459..aedbd5e7 100644
---- xmlsave.c
-+++ xmlsave.c
-@@ -847,7 +847,7 @@ htmlNodeDumpOutputInternal(xmlSaveCtxtPtr ctxt, xmlNodePtr cur) {
- static void
- xmlNodeDumpOutputInternal(xmlSaveCtxtPtr ctxt, xmlNodePtr cur) {
- int format = ctxt->format;
-- xmlNodePtr tmp, root, unformattedNode = NULL;
-+ xmlNodePtr tmp, root, unformattedNode = NULL, parent;
- xmlAttrPtr attr;
- xmlChar *start, *end;
- xmlOutputBufferPtr buf;
-@@ -856,6 +856,7 @@ xmlNodeDumpOutputInternal(xmlSaveCtxtPtr ctxt, xmlNodePtr cur) {
- buf = ctxt->buf;
-
- root = cur;
-+ parent = cur->parent;
- while (1) {
- switch (cur->type) {
- case XML_DOCUMENT_NODE:
-@@ -868,7 +869,9 @@ xmlNodeDumpOutputInternal(xmlSaveCtxtPtr ctxt, xmlNodePtr cur) {
- break;
-
- case XML_DOCUMENT_FRAG_NODE:
-- if (cur->children != NULL) {
-+ /* Always validate cur->parent when descending. */
-+ if ((cur->parent == parent) && (cur->children != NULL)) {
-+ parent = cur;
- cur = cur->children;
- continue;
- }
-@@ -887,7 +890,18 @@ xmlNodeDumpOutputInternal(xmlSaveCtxtPtr ctxt, xmlNodePtr cur) {
- break;
-
- case XML_ELEMENT_NODE:
-- if ((cur != root) && (ctxt->format == 1) && (xmlIndentTreeOutput))
-+ /*
-+ * Some users like lxml are known to pass nodes with a corrupted
-+ * tree structure. Fall back to a recursive call to handle this
-+ * case.
-+ */
-+ if ((cur->parent != parent) && (cur->children != NULL)) {
-+ xmlNodeDumpOutputInternal(ctxt, cur);
-+ break;
-+ }
-+
-+ if ((ctxt->level > 0) && (ctxt->format == 1) &&
-+ (xmlIndentTreeOutput))
- xmlOutputBufferWrite(buf, ctxt->indent_size *
- (ctxt->level > ctxt->indent_nr ?
- ctxt->indent_nr : ctxt->level),
-@@ -942,6 +956,7 @@ xmlNodeDumpOutputInternal(xmlSaveCtxtPtr ctxt, xmlNodePtr cur) {
- xmlOutputBufferWrite(buf, 1, ">");
- if (ctxt->format == 1) xmlOutputBufferWrite(buf, 1, "\n");
- if (ctxt->level >= 0) ctxt->level++;
-+ parent = cur;
- cur = cur->children;
- continue;
- }
-@@ -1058,13 +1073,9 @@ xmlNodeDumpOutputInternal(xmlSaveCtxtPtr ctxt, xmlNodePtr cur) {
- break;
- }
-
-- /*
-- * The parent should never be NULL here but we want to handle
-- * corrupted documents gracefully.
-- */
-- if (cur->parent == NULL)
-- return;
-- cur = cur->parent;
-+ cur = parent;
-+ /* cur->parent was validated when descending. */
-+ parent = cur->parent;
-
- if (cur->type == XML_ELEMENT_NODE) {
- if (ctxt->level > 0) ctxt->level--;
---
-GitLab
-
diff --git a/textproc/libxml2/files/patch-git-01-b66ce0bba83febe2f4d119097a0391f5d886c3b4 b/textproc/libxml2/files/patch-git-01-b66ce0bba83febe2f4d119097a0391f5d886c3b4
new file mode 100644
--- /dev/null
+++ b/textproc/libxml2/files/patch-git-01-b66ce0bba83febe2f4d119097a0391f5d886c3b4
@@ -0,0 +1,86 @@
+From b66ce0bba83febe2f4d119097a0391f5d886c3b4 Mon Sep 17 00:00:00 2001
+From: Nick Wellnhofer <wellnhofer@aevum.de>
+Date: Tue, 1 Mar 2022 12:39:02 +0100
+Subject: [PATCH] Don't include ICU headers in public headers
+
+There's no need to make these implementation details public.
+---
+ configure.ac | 2 --
+ encoding.c | 14 ++++++++++++++
+ include/libxml/encoding.h | 21 +++------------------
+ 3 files changed, 17 insertions(+), 20 deletions(-)
+
+diff --git a/encoding.c b/encoding.c
+index 0847934a..bfa5a304 100644
+--- encoding.c
++++ encoding.c
+@@ -48,6 +48,20 @@
+ #include "buf.h"
+ #include "enc.h"
+
++#ifdef LIBXML_ICU_ENABLED
++#include <unicode/ucnv.h>
++/* Size of pivot buffer, same as icu/source/common/ucnv.cpp CHUNK_SIZE */
++#define ICU_PIVOT_BUF_SIZE 1024
++typedef struct _uconv_t uconv_t;
++struct _uconv_t {
++ UConverter *uconv; /* for conversion between an encoding and UTF-16 */
++ UConverter *utf8; /* for conversion between UTF-8 and UTF-16 */
++ UChar pivot_buf[ICU_PIVOT_BUF_SIZE];
++ UChar *pivot_source;
++ UChar *pivot_target;
++};
++#endif
++
+ static xmlCharEncodingHandlerPtr xmlUTF16LEHandler = NULL;
+ static xmlCharEncodingHandlerPtr xmlUTF16BEHandler = NULL;
+
+diff --git a/include/libxml/encoding.h b/include/libxml/encoding.h
+index c875af6f..77f137f4 100644
+--- include/libxml/encoding.h
++++ include/libxml/encoding.h
+@@ -27,9 +27,7 @@
+ #ifdef LIBXML_ICONV_ENABLED
+ #include <iconv.h>
+ #endif
+-#ifdef LIBXML_ICU_ENABLED
+-#include <unicode/ucnv.h>
+-#endif
++
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+@@ -128,19 +126,6 @@ typedef int (* xmlCharEncodingOutputFunc)(unsigned char *out, int *outlen,
+ * Block defining the handlers for non UTF-8 encodings.
+ * If iconv is supported, there are two extra fields.
+ */
+-#ifdef LIBXML_ICU_ENABLED
+-/* Size of pivot buffer, same as icu/source/common/ucnv.cpp CHUNK_SIZE */
+-#define ICU_PIVOT_BUF_SIZE 1024
+-struct _uconv_t {
+- UConverter *uconv; /* for conversion between an encoding and UTF-16 */
+- UConverter *utf8; /* for conversion between UTF-8 and UTF-16 */
+- UChar pivot_buf[ICU_PIVOT_BUF_SIZE];
+- UChar *pivot_source;
+- UChar *pivot_target;
+-};
+-typedef struct _uconv_t uconv_t;
+-#endif
+-
+ typedef struct _xmlCharEncodingHandler xmlCharEncodingHandler;
+ typedef xmlCharEncodingHandler *xmlCharEncodingHandlerPtr;
+ struct _xmlCharEncodingHandler {
+@@ -152,8 +137,8 @@ struct _xmlCharEncodingHandler {
+ iconv_t iconv_out;
+ #endif /* LIBXML_ICONV_ENABLED */
+ #ifdef LIBXML_ICU_ENABLED
+- uconv_t *uconv_in;
+- uconv_t *uconv_out;
++ struct _uconv_t *uconv_in;
++ struct _uconv_t *uconv_out;
+ #endif /* LIBXML_ICU_ENABLED */
+ };
+
+--
+GitLab
+
diff --git a/textproc/libxml2/files/patch-git-02-13ad8736d294536da4cbcd70a96b0a2fbf47070c b/textproc/libxml2/files/patch-git-02-13ad8736d294536da4cbcd70a96b0a2fbf47070c
deleted file mode 100644
--- a/textproc/libxml2/files/patch-git-02-13ad8736d294536da4cbcd70a96b0a2fbf47070c
+++ /dev/null
@@ -1,46 +0,0 @@
-From 13ad8736d294536da4cbcd70a96b0a2fbf47070c Mon Sep 17 00:00:00 2001
-From: Nick Wellnhofer <wellnhofer@aevum.de>
-Date: Tue, 25 May 2021 10:55:25 +0200
-Subject: [PATCH] Fix regression in xmlNodeDumpOutputInternal
-
-Commit 85b1792e could cause additional whitespace if xmlNodeDump was
-called with a non-zero starting level.
----
- xmlsave.c | 14 +++++++-------
- 1 file changed, 7 insertions(+), 7 deletions(-)
-
-diff --git a/xmlsave.c b/xmlsave.c
-index aedbd5e7..489505f4 100644
---- xmlsave.c
-+++ xmlsave.c
-@@ -890,6 +890,13 @@ xmlNodeDumpOutputInternal(xmlSaveCtxtPtr ctxt, xmlNodePtr cur) {
- break;
-
- case XML_ELEMENT_NODE:
-+ if ((cur != root) && (ctxt->format == 1) &&
-+ (xmlIndentTreeOutput))
-+ xmlOutputBufferWrite(buf, ctxt->indent_size *
-+ (ctxt->level > ctxt->indent_nr ?
-+ ctxt->indent_nr : ctxt->level),
-+ ctxt->indent);
-+
- /*
- * Some users like lxml are known to pass nodes with a corrupted
- * tree structure. Fall back to a recursive call to handle this
-@@ -900,13 +907,6 @@ xmlNodeDumpOutputInternal(xmlSaveCtxtPtr ctxt, xmlNodePtr cur) {
- break;
- }
-
-- if ((ctxt->level > 0) && (ctxt->format == 1) &&
-- (xmlIndentTreeOutput))
-- xmlOutputBufferWrite(buf, ctxt->indent_size *
-- (ctxt->level > ctxt->indent_nr ?
-- ctxt->indent_nr : ctxt->level),
-- ctxt->indent);
--
- xmlOutputBufferWrite(buf, 1, "<");
- if ((cur->ns != NULL) && (cur->ns->prefix != NULL)) {
- xmlOutputBufferWriteString(buf, (const char *)cur->ns->prefix);
---
-GitLab
-
diff --git a/textproc/libxml2/files/patch-git-03-3e1aad4fe584747fd7d17cc7b2863a78e2d21a77 b/textproc/libxml2/files/patch-git-03-3e1aad4fe584747fd7d17cc7b2863a78e2d21a77
deleted file mode 100644
--- a/textproc/libxml2/files/patch-git-03-3e1aad4fe584747fd7d17cc7b2863a78e2d21a77
+++ /dev/null
@@ -1,31 +0,0 @@
-From 3e1aad4fe584747fd7d17cc7b2863a78e2d21a77 Mon Sep 17 00:00:00 2001
-From: Nick Wellnhofer <wellnhofer@aevum.de>
-Date: Wed, 2 Jun 2021 17:31:49 +0200
-Subject: [PATCH] Fix XPath recursion limit
-
-Fix accounting of recursion depth when parsing XPath expressions.
-
-This silly bug introduced in commit 804c5297 could lead to spurious
-errors when parsing larger expressions or XSLT documents.
-
-Should fix #264.
----
- xpath.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/xpath.c b/xpath.c
-index 7497ba07..1aa2f1ab 100644
---- xpath.c
-+++ xpath.c
-@@ -10983,7 +10983,7 @@ xmlXPathCompileExpr(xmlXPathParserContextPtr ctxt, int sort) {
- }
-
- if (xpctxt != NULL)
-- xpctxt->depth -= 1;
-+ xpctxt->depth -= 10;
- }
-
- /**
---
-GitLab
-
diff --git a/textproc/libxml2/files/patch-git-04-92d9ab4c28842a09ca2b76d3ff2f933e01b6cd6f b/textproc/libxml2/files/patch-git-04-92d9ab4c28842a09ca2b76d3ff2f933e01b6cd6f
deleted file mode 100644
--- a/textproc/libxml2/files/patch-git-04-92d9ab4c28842a09ca2b76d3ff2f933e01b6cd6f
+++ /dev/null
@@ -1,43 +0,0 @@
-From 92d9ab4c28842a09ca2b76d3ff2f933e01b6cd6f Mon Sep 17 00:00:00 2001
-From: Nick Wellnhofer <wellnhofer@aevum.de>
-Date: Mon, 7 Jun 2021 15:09:53 +0200
-Subject: [PATCH] Fix whitespace when serializing empty HTML documents
-
-The old, non-recursive HTML serialization code would always terminate
-the output with a newline. The new implementation omitted the newline
-if the document node had no children. Readd the newline when
-serializing empty documents.
-
-Fixes #266.
----
- HTMLtree.c | 14 +++++++++-----
- 1 file changed, 9 insertions(+), 5 deletions(-)
-
-diff --git a/HTMLtree.c b/HTMLtree.c
-index bdd639c7..7a2b8558 100644
---- HTMLtree.c
-+++ HTMLtree.c
-@@ -763,11 +763,15 @@ htmlNodeDumpFormatOutput(xmlOutputBufferPtr buf, xmlDocPtr doc,
- if (((xmlDocPtr) cur)->intSubset != NULL) {
- htmlDtdDumpOutput(buf, (xmlDocPtr) cur, NULL);
- }
-- /* Always validate cur->parent when descending. */
-- if ((cur->parent == parent) && (cur->children != NULL)) {
-- parent = cur;
-- cur = cur->children;
-- continue;
-+ if (cur->children != NULL) {
-+ /* Always validate cur->parent when descending. */
-+ if (cur->parent == parent) {
-+ parent = cur;
-+ cur = cur->children;
-+ continue;
-+ }
-+ } else {
-+ xmlOutputBufferWriteString(buf, "\n");
- }
- break;
-
---
-GitLab
-
diff --git a/textproc/libxml2/files/patch-libxml-2.0-uninstalled.pc.in b/textproc/libxml2/files/patch-libxml-2.0-uninstalled.pc.in
deleted file mode 100644
--- a/textproc/libxml2/files/patch-libxml-2.0-uninstalled.pc.in
+++ /dev/null
@@ -1,9 +0,0 @@
---- libxml-2.0-uninstalled.pc.in.orig 2016-02-09 10:17:32 UTC
-+++ libxml-2.0-uninstalled.pc.in
-@@ -8,5 +8,5 @@ Name: libXML
- Version: @VERSION@
- Description: libXML library version2.
- Requires:
--Libs: -L${libdir} -lxml2 @ICU_LIBS@ @THREAD_LIBS@ @Z_LIBS@ @LZMA_LIBS@ @ICONV_LIBS@ @M_LIBS@ @LIBS@
-+Libs: -L${libdir} -lxml2 @THREAD_LIBS@ @Z_LIBS@ @LZMA_LIBS@ @ICONV_LIBS@ @M_LIBS@ @LIBS@
- Cflags: -I${includedir} @XML_INCLUDEDIR@ @XML_CFLAGS@
diff --git a/textproc/libxml2/files/patch-libxml-2.0.pc.in b/textproc/libxml2/files/patch-libxml-2.0.pc.in
--- a/textproc/libxml2/files/patch-libxml-2.0.pc.in
+++ b/textproc/libxml2/files/patch-libxml-2.0.pc.in
@@ -1,9 +1,11 @@
---- libxml-2.0.pc.in.orig 2016-02-09 10:17:32 UTC
+--- libxml-2.0.pc.in.orig 2022-03-08 22:00:47 UTC
+++ libxml-2.0.pc.in
-@@ -9,5 +9,5 @@ Version: @VERSION@
+@@ -8,6 +8,6 @@ Name: libXML
+ Version: @VERSION@
Description: libXML library version2.
Requires:
- Libs: -L${libdir} -lxml2
+-Libs: -L${libdir} -lxml2
-Libs.private: @ICU_LIBS@ @THREAD_LIBS@ @Z_LIBS@ @LZMA_LIBS@ @ICONV_LIBS@ @M_LIBS@ @WIN32_EXTRA_LIBADD@ @LIBS@
-+Libs.private: @THREAD_LIBS@ @Z_LIBS@ @LZMA_LIBS@ @ICONV_LIBS@ @M_LIBS@ @WIN32_EXTRA_LIBADD@ @LIBS@
++Libs: -L${libdir} @XML_LIBS@
++Libs.private: @XML_PRIVATE_LIBS@ @WIN32_EXTRA_LIBADD@ @LIBS@
Cflags: @XML_INCLUDEDIR@ @XML_CFLAGS@
diff --git a/textproc/libxml2/files/patch-python_Makefile.in b/textproc/libxml2/files/patch-python_Makefile.in
deleted file mode 100644
--- a/textproc/libxml2/files/patch-python_Makefile.in
+++ /dev/null
@@ -1,20 +0,0 @@
---- python/Makefile.in.orig 2019-11-16 14:42:34 UTC
-+++ python/Makefile.in
-@@ -493,7 +493,7 @@ top_srcdir = @top_srcdir@
-
- # Makefile for libxml2 python library
- AUTOMAKE_OPTIONS = 1.4 foreign
--SUBDIRS = . tests
-+SUBDIRS = .
- docsdir = $(datadir)/doc/libxml2-python-$(LIBXML_VERSION)
- dist_docs_DATA = TODO
- EXTRA_DIST = \
-@@ -513,7 +513,7 @@ EXTRA_DIST = \
- @WITH_PYTHON_TRUE@python_LTLIBRARIES = libxml2mod.la
- @WITH_PYTHON_TRUE@libxml2mod_la_SOURCES = libxml.c libxml_wrap.h libxml2-py.h libxml2-py.c types.c
- @WITH_PYTHON_TRUE@libxml2mod_la_LDFLAGS = $(CYGWIN_EXTRA_LDFLAGS) $(WIN32_EXTRA_LDFLAGS) -module -avoid-version \
--@WITH_PYTHON_TRUE@ $(top_builddir)/libxml2.la $(CYGWIN_EXTRA_PYTHON_LIBADD) $(WIN32_EXTRA_PYTHON_LIBADD) $(PYTHON_LIBS)
-+@WITH_PYTHON_TRUE@ -lxml2 $(CYGWIN_EXTRA_PYTHON_LIBADD) $(WIN32_EXTRA_PYTHON_LIBADD) $(PYTHON_LIBS)
-
- @WITH_PYTHON_TRUE@BUILT_SOURCES = libxml2-export.c libxml2-py.h libxml2-py.c
- @WITH_PYTHON_TRUE@dist_python_DATA = \
diff --git a/textproc/libxml2/files/patch-python_tests_Makefile.in b/textproc/libxml2/files/patch-python_tests_Makefile.in
deleted file mode 100644
--- a/textproc/libxml2/files/patch-python_tests_Makefile.in
+++ /dev/null
@@ -1,11 +0,0 @@
---- python/tests/Makefile.in.orig 2019-11-16 14:42:34 UTC
-+++ python/tests/Makefile.in
-@@ -387,7 +387,7 @@ target_alias = @target_alias@
- top_build_prefix = @top_build_prefix@
- top_builddir = @top_builddir@
- top_srcdir = @top_srcdir@
--exampledir = $(datadir)/doc/libxml2-python-$(LIBXML_VERSION)/examples
-+exampledir = $(datadir)/examples/py-libxml2
- dist_example_DATA = $(PYTESTS) $(XMLS)
- PYTESTS = \
- build.py \
diff --git a/textproc/libxml2/files/patch-xml2Conf.sh.in b/textproc/libxml2/files/patch-xml2Conf.sh.in
deleted file mode 100644
--- a/textproc/libxml2/files/patch-xml2Conf.sh.in
+++ /dev/null
@@ -1,15 +0,0 @@
---- xml2Conf.sh.in.orig 2019-10-22 18:28:43 UTC
-+++ xml2Conf.sh.in
-@@ -1,6 +1,12 @@
- #
- # Configuration file for using the XML library in GNOME applications
- #
-+
-+prefix=@prefix@
-+exec_prefix=@exec_prefix@
-+includedir=@includedir@
-+libdir=@libdir@
-+
- XML2_LIBDIR="@XML_LIBDIR@"
- XML2_LIBS="@XML_LIBS@ @XML_PRIVATE_LIBS@"
- XML2_INCLUDEDIR="@XML_INCLUDEDIR@"
diff --git a/textproc/libxml2/pkg-plist b/textproc/libxml2/pkg-plist
--- a/textproc/libxml2/pkg-plist
+++ b/textproc/libxml2/pkg-plist
@@ -48,15 +48,303 @@
include/libxml2/libxml/xpath.h
include/libxml2/libxml/xpathInternals.h
include/libxml2/libxml/xpointer.h
-lib/cmake/libxml2/libxml2-config.cmake
-lib/libxml2.a
+lib/cmake/libxml2-%%LIBVERSION%%/libxml2-config-version.cmake
+lib/cmake/libxml2-%%LIBVERSION%%/libxml2-config.cmake
+lib/cmake/libxml2-%%LIBVERSION%%/libxml2-export-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/libxml2-%%LIBVERSION%%/libxml2-export.cmake
lib/libxml2.so
lib/libxml2.so.2
lib/libxml2.so.%%LIBVERSION%%
lib/xml2Conf.sh
libdata/pkgconfig/libxml-2.0.pc
-share/aclocal/libxml.m4
-man/man1/xml2-config.1.gz
man/man1/xmlcatalog.1.gz
man/man1/xmllint.1.gz
man/man3/libxml.3.gz
+share/aclocal/libxml.m4
+%%PORTDOCS%%%%DOCSDIR%%/APIchunk0.html
+%%PORTDOCS%%%%DOCSDIR%%/APIchunk1.html
+%%PORTDOCS%%%%DOCSDIR%%/APIchunk10.html
+%%PORTDOCS%%%%DOCSDIR%%/APIchunk11.html
+%%PORTDOCS%%%%DOCSDIR%%/APIchunk12.html
+%%PORTDOCS%%%%DOCSDIR%%/APIchunk13.html
+%%PORTDOCS%%%%DOCSDIR%%/APIchunk14.html
+%%PORTDOCS%%%%DOCSDIR%%/APIchunk15.html
+%%PORTDOCS%%%%DOCSDIR%%/APIchunk16.html
+%%PORTDOCS%%%%DOCSDIR%%/APIchunk17.html
+%%PORTDOCS%%%%DOCSDIR%%/APIchunk18.html
+%%PORTDOCS%%%%DOCSDIR%%/APIchunk19.html
+%%PORTDOCS%%%%DOCSDIR%%/APIchunk2.html
+%%PORTDOCS%%%%DOCSDIR%%/APIchunk20.html
+%%PORTDOCS%%%%DOCSDIR%%/APIchunk21.html
+%%PORTDOCS%%%%DOCSDIR%%/APIchunk22.html
+%%PORTDOCS%%%%DOCSDIR%%/APIchunk23.html
+%%PORTDOCS%%%%DOCSDIR%%/APIchunk24.html
+%%PORTDOCS%%%%DOCSDIR%%/APIchunk25.html
+%%PORTDOCS%%%%DOCSDIR%%/APIchunk26.html
+%%PORTDOCS%%%%DOCSDIR%%/APIchunk27.html
+%%PORTDOCS%%%%DOCSDIR%%/APIchunk28.html
+%%PORTDOCS%%%%DOCSDIR%%/APIchunk29.html
+%%PORTDOCS%%%%DOCSDIR%%/APIchunk3.html
+%%PORTDOCS%%%%DOCSDIR%%/APIchunk4.html
+%%PORTDOCS%%%%DOCSDIR%%/APIchunk5.html
+%%PORTDOCS%%%%DOCSDIR%%/APIchunk6.html
+%%PORTDOCS%%%%DOCSDIR%%/APIchunk7.html
+%%PORTDOCS%%%%DOCSDIR%%/APIchunk8.html
+%%PORTDOCS%%%%DOCSDIR%%/APIchunk9.html
+%%PORTDOCS%%%%DOCSDIR%%/APIconstructors.html
+%%PORTDOCS%%%%DOCSDIR%%/APIfiles.html
+%%PORTDOCS%%%%DOCSDIR%%/APIfunctions.html
+%%PORTDOCS%%%%DOCSDIR%%/APIsymbols.html
+%%PORTDOCS%%%%DOCSDIR%%/DOM.gif
+%%PORTDOCS%%%%DOCSDIR%%/DOM.html
+%%PORTDOCS%%%%DOCSDIR%%/FAQ.html
+%%PORTDOCS%%%%DOCSDIR%%/Libxml2-Logo-180x168.gif
+%%PORTDOCS%%%%DOCSDIR%%/Libxml2-Logo-90x34.gif
+%%PORTDOCS%%%%DOCSDIR%%/XMLinfo.html
+%%PORTDOCS%%%%DOCSDIR%%/XSLT.html
+%%PORTDOCS%%%%DOCSDIR%%/api.xsl
+%%PORTDOCS%%%%DOCSDIR%%/apibuild.py
+%%PORTDOCS%%%%DOCSDIR%%/architecture.html
+%%PORTDOCS%%%%DOCSDIR%%/bugs.html
+%%PORTDOCS%%%%DOCSDIR%%/catalog.gif
+%%PORTDOCS%%%%DOCSDIR%%/catalog.html
+%%PORTDOCS%%%%DOCSDIR%%/checkapisym.xsl
+%%PORTDOCS%%%%DOCSDIR%%/contribs.html
+%%PORTDOCS%%%%DOCSDIR%%/devhelp/devhelp2.xsl
+%%PORTDOCS%%%%DOCSDIR%%/devhelp/general.html
+%%PORTDOCS%%%%DOCSDIR%%/devhelp/home.png
+%%PORTDOCS%%%%DOCSDIR%%/devhelp/html.xsl
+%%PORTDOCS%%%%DOCSDIR%%/devhelp/index.html
+%%PORTDOCS%%%%DOCSDIR%%/devhelp/left.png
+%%PORTDOCS%%%%DOCSDIR%%/devhelp/libxml2-DOCBparser.html
+%%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%%/docs.html
+%%PORTDOCS%%%%DOCSDIR%%/downloads.html
+%%PORTDOCS%%%%DOCSDIR%%/elfgcchack.xsl
+%%PORTDOCS%%%%DOCSDIR%%/encoding.html
+%%PORTDOCS%%%%DOCSDIR%%/entities.html
+%%PORTDOCS%%%%DOCSDIR%%/example.html
+%%PORTDOCS%%%%DOCSDIR%%/examples/examples.xml
+%%PORTDOCS%%%%DOCSDIR%%/examples/examples.xsl
+%%PORTDOCS%%%%DOCSDIR%%/examples/index.html
+%%PORTDOCS%%%%DOCSDIR%%/examples/index.py
+%%PORTDOCS%%%%DOCSDIR%%/examples/io1.c
+%%PORTDOCS%%%%DOCSDIR%%/examples/io1.res
+%%PORTDOCS%%%%DOCSDIR%%/examples/io2.c
+%%PORTDOCS%%%%DOCSDIR%%/examples/io2.res
+%%PORTDOCS%%%%DOCSDIR%%/examples/parse1.c
+%%PORTDOCS%%%%DOCSDIR%%/examples/parse2.c
+%%PORTDOCS%%%%DOCSDIR%%/examples/parse3.c
+%%PORTDOCS%%%%DOCSDIR%%/examples/parse4.c
+%%PORTDOCS%%%%DOCSDIR%%/examples/reader1.c
+%%PORTDOCS%%%%DOCSDIR%%/examples/reader1.res
+%%PORTDOCS%%%%DOCSDIR%%/examples/reader2.c
+%%PORTDOCS%%%%DOCSDIR%%/examples/reader3.c
+%%PORTDOCS%%%%DOCSDIR%%/examples/reader3.res
+%%PORTDOCS%%%%DOCSDIR%%/examples/reader4.c
+%%PORTDOCS%%%%DOCSDIR%%/examples/reader4.res
+%%PORTDOCS%%%%DOCSDIR%%/examples/test1.xml
+%%PORTDOCS%%%%DOCSDIR%%/examples/test2.xml
+%%PORTDOCS%%%%DOCSDIR%%/examples/test3.xml
+%%PORTDOCS%%%%DOCSDIR%%/examples/testWriter.c
+%%PORTDOCS%%%%DOCSDIR%%/examples/tree1.c
+%%PORTDOCS%%%%DOCSDIR%%/examples/tree1.res
+%%PORTDOCS%%%%DOCSDIR%%/examples/tree2.c
+%%PORTDOCS%%%%DOCSDIR%%/examples/tree2.res
+%%PORTDOCS%%%%DOCSDIR%%/examples/tst.xml
+%%PORTDOCS%%%%DOCSDIR%%/examples/writer.xml
+%%PORTDOCS%%%%DOCSDIR%%/examples/xpath1.c
+%%PORTDOCS%%%%DOCSDIR%%/examples/xpath1.res
+%%PORTDOCS%%%%DOCSDIR%%/examples/xpath2.c
+%%PORTDOCS%%%%DOCSDIR%%/examples/xpath2.res
+%%PORTDOCS%%%%DOCSDIR%%/guidelines.html
+%%PORTDOCS%%%%DOCSDIR%%/help.html
+%%PORTDOCS%%%%DOCSDIR%%/html/book1.html
+%%PORTDOCS%%%%DOCSDIR%%/html/home.png
+%%PORTDOCS%%%%DOCSDIR%%/html/index.html
+%%PORTDOCS%%%%DOCSDIR%%/html/left.png
+%%PORTDOCS%%%%DOCSDIR%%/html/libxml-DOCBparser.html
+%%PORTDOCS%%%%DOCSDIR%%/html/libxml-HTMLparser.html
+%%PORTDOCS%%%%DOCSDIR%%/html/libxml-HTMLtree.html
+%%PORTDOCS%%%%DOCSDIR%%/html/libxml-SAX.html
+%%PORTDOCS%%%%DOCSDIR%%/html/libxml-SAX2.html
+%%PORTDOCS%%%%DOCSDIR%%/html/libxml-c14n.html
+%%PORTDOCS%%%%DOCSDIR%%/html/libxml-catalog.html
+%%PORTDOCS%%%%DOCSDIR%%/html/libxml-chvalid.html
+%%PORTDOCS%%%%DOCSDIR%%/html/libxml-debugXML.html
+%%PORTDOCS%%%%DOCSDIR%%/html/libxml-dict.html
+%%PORTDOCS%%%%DOCSDIR%%/html/libxml-encoding.html
+%%PORTDOCS%%%%DOCSDIR%%/html/libxml-entities.html
+%%PORTDOCS%%%%DOCSDIR%%/html/libxml-globals.html
+%%PORTDOCS%%%%DOCSDIR%%/html/libxml-hash.html
+%%PORTDOCS%%%%DOCSDIR%%/html/libxml-lib.html
+%%PORTDOCS%%%%DOCSDIR%%/html/libxml-list.html
+%%PORTDOCS%%%%DOCSDIR%%/html/libxml-nanoftp.html
+%%PORTDOCS%%%%DOCSDIR%%/html/libxml-nanohttp.html
+%%PORTDOCS%%%%DOCSDIR%%/html/libxml-parser.html
+%%PORTDOCS%%%%DOCSDIR%%/html/libxml-parserInternals.html
+%%PORTDOCS%%%%DOCSDIR%%/html/libxml-pattern.html
+%%PORTDOCS%%%%DOCSDIR%%/html/libxml-relaxng.html
+%%PORTDOCS%%%%DOCSDIR%%/html/libxml-schemasInternals.html
+%%PORTDOCS%%%%DOCSDIR%%/html/libxml-schematron.html
+%%PORTDOCS%%%%DOCSDIR%%/html/libxml-threads.html
+%%PORTDOCS%%%%DOCSDIR%%/html/libxml-tree.html
+%%PORTDOCS%%%%DOCSDIR%%/html/libxml-uri.html
+%%PORTDOCS%%%%DOCSDIR%%/html/libxml-valid.html
+%%PORTDOCS%%%%DOCSDIR%%/html/libxml-xinclude.html
+%%PORTDOCS%%%%DOCSDIR%%/html/libxml-xlink.html
+%%PORTDOCS%%%%DOCSDIR%%/html/libxml-xmlIO.html
+%%PORTDOCS%%%%DOCSDIR%%/html/libxml-xmlautomata.html
+%%PORTDOCS%%%%DOCSDIR%%/html/libxml-xmlerror.html
+%%PORTDOCS%%%%DOCSDIR%%/html/libxml-xmlexports.html
+%%PORTDOCS%%%%DOCSDIR%%/html/libxml-xmlmemory.html
+%%PORTDOCS%%%%DOCSDIR%%/html/libxml-xmlmodule.html
+%%PORTDOCS%%%%DOCSDIR%%/html/libxml-xmlreader.html
+%%PORTDOCS%%%%DOCSDIR%%/html/libxml-xmlregexp.html
+%%PORTDOCS%%%%DOCSDIR%%/html/libxml-xmlsave.html
+%%PORTDOCS%%%%DOCSDIR%%/html/libxml-xmlschemas.html
+%%PORTDOCS%%%%DOCSDIR%%/html/libxml-xmlschemastypes.html
+%%PORTDOCS%%%%DOCSDIR%%/html/libxml-xmlstring.html
+%%PORTDOCS%%%%DOCSDIR%%/html/libxml-xmlunicode.html
+%%PORTDOCS%%%%DOCSDIR%%/html/libxml-xmlversion.html
+%%PORTDOCS%%%%DOCSDIR%%/html/libxml-xmlwriter.html
+%%PORTDOCS%%%%DOCSDIR%%/html/libxml-xpath.html
+%%PORTDOCS%%%%DOCSDIR%%/html/libxml-xpathInternals.html
+%%PORTDOCS%%%%DOCSDIR%%/html/libxml-xpointer.html
+%%PORTDOCS%%%%DOCSDIR%%/html/right.png
+%%PORTDOCS%%%%DOCSDIR%%/html/up.png
+%%PORTDOCS%%%%DOCSDIR%%/index.html
+%%PORTDOCS%%%%DOCSDIR%%/index.py
+%%PORTDOCS%%%%DOCSDIR%%/interface.html
+%%PORTDOCS%%%%DOCSDIR%%/intro.html
+%%PORTDOCS%%%%DOCSDIR%%/library.html
+%%PORTDOCS%%%%DOCSDIR%%/libxml.gif
+%%PORTDOCS%%%%DOCSDIR%%/libxml2-api.xml
+%%PORTDOCS%%%%DOCSDIR%%/libxml2.xsa
+%%PORTDOCS%%%%DOCSDIR%%/namespaces.html
+%%PORTDOCS%%%%DOCSDIR%%/newapi.xsl
+%%PORTDOCS%%%%DOCSDIR%%/news.html
+%%PORTDOCS%%%%DOCSDIR%%/news.xsl
+%%PORTDOCS%%%%DOCSDIR%%/python.html
+%%PORTDOCS%%%%DOCSDIR%%/redhat.gif
+%%PORTDOCS%%%%DOCSDIR%%/search.php
+%%PORTDOCS%%%%DOCSDIR%%/searches.html
+%%PORTDOCS%%%%DOCSDIR%%/searches.xsl
+%%PORTDOCS%%%%DOCSDIR%%/site.xsl
+%%PORTDOCS%%%%DOCSDIR%%/smallfootonly.gif
+%%PORTDOCS%%%%DOCSDIR%%/structure.gif
+%%PORTDOCS%%%%DOCSDIR%%/symbols.xml
+%%PORTDOCS%%%%DOCSDIR%%/syms.xsl
+%%PORTDOCS%%%%DOCSDIR%%/threads.html
+%%PORTDOCS%%%%DOCSDIR%%/tree.html
+%%PORTDOCS%%%%DOCSDIR%%/tutorial/apa.html
+%%PORTDOCS%%%%DOCSDIR%%/tutorial/apb.html
+%%PORTDOCS%%%%DOCSDIR%%/tutorial/apc.html
+%%PORTDOCS%%%%DOCSDIR%%/tutorial/apd.html
+%%PORTDOCS%%%%DOCSDIR%%/tutorial/ape.html
+%%PORTDOCS%%%%DOCSDIR%%/tutorial/apf.html
+%%PORTDOCS%%%%DOCSDIR%%/tutorial/apg.html
+%%PORTDOCS%%%%DOCSDIR%%/tutorial/aph.html
+%%PORTDOCS%%%%DOCSDIR%%/tutorial/api.html
+%%PORTDOCS%%%%DOCSDIR%%/tutorial/ar01s02.html
+%%PORTDOCS%%%%DOCSDIR%%/tutorial/ar01s03.html
+%%PORTDOCS%%%%DOCSDIR%%/tutorial/ar01s04.html
+%%PORTDOCS%%%%DOCSDIR%%/tutorial/ar01s05.html
+%%PORTDOCS%%%%DOCSDIR%%/tutorial/ar01s06.html
+%%PORTDOCS%%%%DOCSDIR%%/tutorial/ar01s07.html
+%%PORTDOCS%%%%DOCSDIR%%/tutorial/ar01s08.html
+%%PORTDOCS%%%%DOCSDIR%%/tutorial/ar01s09.html
+%%PORTDOCS%%%%DOCSDIR%%/tutorial/images/blank.png
+%%PORTDOCS%%%%DOCSDIR%%/tutorial/images/callouts/1.png
+%%PORTDOCS%%%%DOCSDIR%%/tutorial/images/callouts/10.png
+%%PORTDOCS%%%%DOCSDIR%%/tutorial/images/callouts/2.png
+%%PORTDOCS%%%%DOCSDIR%%/tutorial/images/callouts/3.png
+%%PORTDOCS%%%%DOCSDIR%%/tutorial/images/callouts/4.png
+%%PORTDOCS%%%%DOCSDIR%%/tutorial/images/callouts/5.png
+%%PORTDOCS%%%%DOCSDIR%%/tutorial/images/callouts/6.png
+%%PORTDOCS%%%%DOCSDIR%%/tutorial/images/callouts/7.png
+%%PORTDOCS%%%%DOCSDIR%%/tutorial/images/callouts/8.png
+%%PORTDOCS%%%%DOCSDIR%%/tutorial/images/callouts/9.png
+%%PORTDOCS%%%%DOCSDIR%%/tutorial/images/caution.png
+%%PORTDOCS%%%%DOCSDIR%%/tutorial/images/draft.png
+%%PORTDOCS%%%%DOCSDIR%%/tutorial/images/home.png
+%%PORTDOCS%%%%DOCSDIR%%/tutorial/images/important.png
+%%PORTDOCS%%%%DOCSDIR%%/tutorial/images/next.png
+%%PORTDOCS%%%%DOCSDIR%%/tutorial/images/note.png
+%%PORTDOCS%%%%DOCSDIR%%/tutorial/images/prev.png
+%%PORTDOCS%%%%DOCSDIR%%/tutorial/images/tip.png
+%%PORTDOCS%%%%DOCSDIR%%/tutorial/images/toc-blank.png
+%%PORTDOCS%%%%DOCSDIR%%/tutorial/images/toc-minus.png
+%%PORTDOCS%%%%DOCSDIR%%/tutorial/images/toc-plus.png
+%%PORTDOCS%%%%DOCSDIR%%/tutorial/images/up.png
+%%PORTDOCS%%%%DOCSDIR%%/tutorial/images/warning.png
+%%PORTDOCS%%%%DOCSDIR%%/tutorial/includeaddattribute.c
+%%PORTDOCS%%%%DOCSDIR%%/tutorial/includeaddkeyword.c
+%%PORTDOCS%%%%DOCSDIR%%/tutorial/includeconvert.c
+%%PORTDOCS%%%%DOCSDIR%%/tutorial/includegetattribute.c
+%%PORTDOCS%%%%DOCSDIR%%/tutorial/includekeyword.c
+%%PORTDOCS%%%%DOCSDIR%%/tutorial/includexpath.c
+%%PORTDOCS%%%%DOCSDIR%%/tutorial/index.html
+%%PORTDOCS%%%%DOCSDIR%%/tutorial/ix01.html
+%%PORTDOCS%%%%DOCSDIR%%/upgrade.html
+%%PORTDOCS%%%%DOCSDIR%%/w3c.png
+%%PORTDOCS%%%%DOCSDIR%%/wiki.xsl
+%%PORTDOCS%%%%DOCSDIR%%/xml.html
+%%PORTDOCS%%%%DOCSDIR%%/xmlcatalog_man.html
+%%PORTDOCS%%%%DOCSDIR%%/xmlcatalog_man.xml
+%%PORTDOCS%%%%DOCSDIR%%/xmldtd.html
+%%PORTDOCS%%%%DOCSDIR%%/xmlio.html
+%%PORTDOCS%%%%DOCSDIR%%/xmllint.html
+%%PORTDOCS%%%%DOCSDIR%%/xmllint.xml
+%%PORTDOCS%%%%DOCSDIR%%/xmlmem.html
+%%PORTDOCS%%%%DOCSDIR%%/xmlreader.html
+%%PORTDOCS%%%%DOCSDIR%%/xsa.xsl
diff --git a/textproc/py-libxml2/Makefile b/textproc/py-libxml2/Makefile
--- a/textproc/py-libxml2/Makefile
+++ b/textproc/py-libxml2/Makefile
@@ -3,30 +3,36 @@
CATEGORIES= textproc gnome python
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
-MAINTAINER= desktop@FreeBSD.org
COMMENT= Python interface for XML parser library for GNOME
-
MASTERDIR= ${.CURDIR}/../libxml2
-BUILD_WRKSRC= ${WRKSRC}/python
-INSTALL_WRKSRC= ${BUILD_WRKSRC}
-DESCR= ${.CURDIR}/pkg-descr
-PLIST= ${.CURDIR}/pkg-plist
+USES+= gnome python shebangfix
USE_GNOME= libxml2
-USES= gettext-runtime gnome python:3.6+
-USE_PYTHON= autoplist distutils
+USE_PYTHON= flavors
+SHEBANG_FILES= *.py doc/*.py python/*.py python/tests/*.py
-CPPFLAGS+= `${PYTHON_CMD}-config --cflags`
-LDFLAGS+= -L${LOCALBASE}/lib `${PYTHON_CMD}-config --libs`
-CONFIGURE_ARGS= --with-iconv=${ICONV_PREFIX} \
- --with-html-dir=${PREFIX}/share/doc \
- --with-html-subdir=${PORTNAME} \
- --with-python=${PYTHON_CMD}
+# Help CMake determine the correct version of Python if
+# multiple versions are installed
+CMAKE_ARGS= -DPython_EXECUTABLE=${PYTHON_CMD}
-DOCSDIR= ${PREFIX}/share/doc/py-libxml2
-EXAMPLESDIR= ${PREFIX}/share/examples/py-libxml2
+OPTIONS_SLAVE= ${OPTIONS_DEFINE:NTEST}
-post-install:
- @${STRIP_CMD} ${STAGEDIR}${PYTHON_SITELIBDIR}/libxml2mod*.so
+# Tell master port we're a slave port
+LIBXML2_SLAVE= python
+# Grab pkg-descr from slave port
+DESCR= ${.CURDIR}/pkg-descr
+# Don't append pkg-plist from master port
+PLIST=
+PLIST_FILES= ${PYTHON_SITELIBDIR}/drv_libxml2.py \
+ ${PYTHON_SITELIBDIR}/libxml2.py \
+ ${PYTHON_SITELIBDIR}/libxml2mod.so \
+ ${PYTHON_SITELIBDIR}/libxml2mod.so.${DISTVERSION}
+
+do-install:
+ ${MKDIR} ${STAGEDIR}${PYTHON_SITELIBDIR}
+ ${INSTALL_SCRIPT} ${WRKSRC}/python/drv_libxml2.py ${STAGEDIR}${PYTHON_SITELIBDIR}
+ ${INSTALL_SCRIPT} ${BUILD_WRKSRC}/libxml2.py ${STAGEDIR}${PYTHON_SITELIBDIR}
+ ${INSTALL_LIB} ${BUILD_WRKSRC}/libxml2mod.so ${STAGEDIR}${PYTHON_SITELIBDIR}
+ ${RLN} ${STAGEDIR}${PYTHON_SITELIBDIR}/libxml2mod.so ${STAGEDIR}${PYTHON_SITELIBDIR}/libxml2mod.so.${DISTVERSION}
.include "${MASTERDIR}/Makefile"
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Sat, Nov 15, 11:15 PM (12 h, 13 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
25343794
Default Alt Text
D34338.diff (46 KB)
Attached To
Mode
D34338: textproc/libxml2: Update to 2.9.13 and migrate to CMake
Attached
Detach File
Event Timeline
Log In to Comment