mirror of
https://git.FreeBSD.org/ports.git
synced 2024-12-26 05:02:18 +00:00
textproc/libxml2: Update to 2.9.13 and migrate to CMake
Depend on ICU and (lib)readline to follow other distros Changelog: https://gitlab.gnome.org/GNOME/libxml2/-/tags/v2.9.13 I'd like to thank both tcberner and mandree for reviewing, suggesting improvements and helping out in general. I'd also like thank antoine for doing exp-runs. PR: 262288 Reviewed by: tcberner, mandree Approved by: desktop (tcberner) Differential Revision: https://reviews.freebsd.org/D34338 Exp-run by: antoine
This commit is contained in:
parent
30bb70e94e
commit
a13ec21cd7
@ -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
|
||||
READLINE_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>
|
||||
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>
|
||||
|
@ -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
|
||||
|
@ -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.
|
11
textproc/libxml2/files/extra-patch-docs
Normal file
11
textproc/libxml2/files/extra-patch-docs
Normal file
@ -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
|
29
textproc/libxml2/files/patch-CMakeLists.txt
Normal file
29
textproc/libxml2/files/patch-CMakeLists.txt
Normal file
@ -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)
|
||||
|
@ -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
|
@ -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
|
||||
|
@ -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"
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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@
|
@ -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@
|
||||
|
@ -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 = \
|
@ -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 \
|
@ -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@"
|
@ -48,15 +48,303 @@ 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
|
||||
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
|
||||
|
@ -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"
|
||||
|
Loading…
Reference in New Issue
Block a user