git: 9010c59d1ce9 - main - Revert "textproc/libxml2: Update to 2.14.4"

From: Charlie Li <vishwin_at_FreeBSD.org>
Date: Sat, 21 Jun 2025 14:48:51 UTC
The branch main has been updated by vishwin:

URL: https://cgit.FreeBSD.org/ports/commit/?id=9010c59d1ce94c178f997b6c851154c850f4aff8

commit 9010c59d1ce94c178f997b6c851154c850f4aff8
Author:     Charlie Li <vishwin@FreeBSD.org>
AuthorDate: 2025-06-21 14:47:16 +0000
Commit:     Charlie Li <vishwin@FreeBSD.org>
CommitDate: 2025-06-21 14:48:34 +0000

    Revert "textproc/libxml2: Update to 2.14.4"
    
    Commit goes way beyond strictly security purposes and is not approved
    by desktop@.
    
    PR: 279705
    
    This reverts commit a18dfb61a2c96a01f9536d70ad0f69390981833d.
---
 textproc/libxml2/Makefile                          | 21 ++++---
 textproc/libxml2/distinfo                          |  6 +-
 textproc/libxml2/files/patch-CMakeLists.txt        | 33 ++++++++++
 ...git-01-19de8b47b1fe4b87b06bc6b89f5ee9697870a0ad | 25 --------
 ...git-02-5700d989cc18889e1601c651ad69a41af8b32073 | 39 ------------
 ...git-03-d3e33dc214276498e73b61188be02b2863c9670a | 25 --------
 ...git-04-cf52139b4170be13b51b62da11c208dc66e6eff0 | 46 --------------
 ...git-05-356542324fa439de544b5e419b91ae68d42c306c | 27 ---------
 textproc/libxml2/pkg-plist                         | 70 +++++++++++++++++++++-
 textproc/py-libxml2/Makefile                       | 15 +++--
 10 files changed, 126 insertions(+), 181 deletions(-)

diff --git a/textproc/libxml2/Makefile b/textproc/libxml2/Makefile
index 0608d51684c0..251af286f36d 100644
--- a/textproc/libxml2/Makefile
+++ b/textproc/libxml2/Makefile
@@ -1,5 +1,5 @@
 PORTNAME=	libxml2
-DISTVERSION=	2.14.4
+DISTVERSION=	2.11.9
 PORTREVISION?=	0
 CATEGORIES?=	textproc gnome
 MASTER_SITES=	GNOME
@@ -18,28 +18,32 @@ USE_LDCONFIG=	yes
 # Don't build with Python support unless requested
 CMAKE_${LIBXML2_SLAVE:DON:UOFF}=LIBXML2_WITH_PYTHON
 
+# Many symbols in the linker version script libxml2.syms are only defined when
+# --with-xptr-locs is enabled at configure time. Suppress errors with lld >= 17
+# due to these undefined symbols.
+LDFLAGS+=	-Wl,--undefined-version
+
 CMAKE_TESTING_ON=	LIBXML2_WITH_TESTS
 
 CMAKE_ARGS=	-DCMAKE_INSTALL_SYSCONFDIR=share
 CMAKE_OFF+=	LIBXML2_WITH_TESTS
-CMAKE_ON+=	LIBXML2_WITH_HTTP \
-		LIBXML2_WITH_LZMA \
-		LIBXML2_WITH_ZLIB
 
 PLIST_SUB+=	LIBVERSION=${DISTVERSION}
 
-OPTIONS_DEFINE=	DOCS ICU READLINE THREAD_ALLOC
+OPTIONS_DEFINE=	DOCS ICU MEM_DEBUG READLINE THREAD_ALLOC
 OPTIONS_DEFAULT=	READLINE
 OPTIONS_SUB=		yes
 
+MEM_DEBUG_DESC=		Memory debugging (DEVELOPERS ONLY!)
 READLINE_DESC=		History for xmllint
 THREAD_ALLOC_DESC=	Per-thread memory (DEVELOPERS ONLY!)
 
-ICU_LIB_DEPENDS=		libicuuc.so:devel/icu
+ICU_LIB_DEPENDS=		libicudata.so:devel/icu
 ICU_CMAKE_BOOL=			LIBXML2_WITH_ICU
+MEM_DEBUG_CONFIGURE_WITH=	LIBXML2_WITH_MEM_DEBUG
 READLINE_LIB_DEPENDS=		libreadline.so:devel/readline
-READLINE_CMAKE_BOOL=		HAVE_LIBHISTORY \
-				HAVE_LIBREADLINE
+READLINE_CMAKE_OFF=		-DHAVE_LIBHISTORY=false \
+				-DHAVE_LIBREADLINE=false
 THREAD_ALLOC_CMAKE_BOOL=	LIBXML2_WITH_THREAD_ALLOC
 
 post-patch:
@@ -47,7 +51,6 @@ post-patch:
 		's|/etc/xml/catalog|${LOCALBASE}/share/xml/catalog|g; \
 		 s|/etc/sgml/catalog|${LOCALBASE}/share/sgml/catalog|g' \
 		${WRKSRC}/doc/xmllint.1
-	@${RM} ${WRKSRC}/doc/xmllint.1.bak
 
 post-install:
 .if defined(LIBXML2_SLAVE)
diff --git a/textproc/libxml2/distinfo b/textproc/libxml2/distinfo
index 79365ae9c78f..4ea4340dc6f1 100644
--- a/textproc/libxml2/distinfo
+++ b/textproc/libxml2/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1750103732
-SHA256 (gnome/libxml2-2.14.4.tar.xz) = 24175ec30a97cfa86bdf9befb7ccf4613f8f4b2713c5103e0dd0bc9c711a2773
-SIZE (gnome/libxml2-2.14.4.tar.xz) = 2325848
+TIMESTAMP = 1725749707
+SHA256 (gnome/libxml2-2.11.9.tar.xz) = 780157a1efdb57188ec474dca87acaee67a3a839c2525b2214d318228451809f
+SIZE (gnome/libxml2-2.11.9.tar.xz) = 2627500
diff --git a/textproc/libxml2/files/patch-CMakeLists.txt b/textproc/libxml2/files/patch-CMakeLists.txt
new file mode 100644
index 000000000000..6926e72e1e54
--- /dev/null
+++ b/textproc/libxml2/files/patch-CMakeLists.txt
@@ -0,0 +1,33 @@
+--- CMakeLists.txt.orig	2023-08-11 18:59:11 UTC
++++ CMakeLists.txt
+@@ -395,13 +395,17 @@ if(LIBXML2_WITH_ICU)
+ 	if(WIN32)
+ 		set(ICU_LIBS "-licudt -licuin -licuuc")
+ 	else()
+-		set(ICU_LIBS "-licudata -licui18n -licuuc")
++		set(ICU_LIBS_DIR "${ICU_INCLUDE_DIRS}")
++		STRING(REGEX REPLACE "include" "lib" ICU_LIBS_DIR ${ICU_LIBS_DIR})
++		set(ICU_LIBS "-L${ICU_LIBS_DIR} -licudata -licui18n -licuuc")
+ 	endif()
+ endif()
+ 
+ if(LIBXML2_WITH_LZMA)
+ 	target_link_libraries(LibXml2 PRIVATE LibLZMA::LibLZMA)
+-	set(LZMA_LIBS "-llzma")
++	set(LZMA_LIBS_DIR "${LIBLZMA_INCLUDE_DIRS}")
++	STRING(REGEX REPLACE "include" "lib" LZMA_LIBS_DIR ${LZMA_LIBS_DIR})
++	set(LZMA_LIBS "-L${LZMA_LIBS_DIR} -llzma")
+ endif()
+ 
+ if(LIBXML2_WITH_THREADS)
+@@ -411,7 +415,9 @@ endif()
+ 
+ if(LIBXML2_WITH_ZLIB)
+ 	target_link_libraries(LibXml2 PRIVATE ZLIB::ZLIB)
+-	set(Z_LIBS "-lz")
++	set(Z_LIBS_DIR "${ZLIB_INCLUDE_DIRS}")
++	STRING(REGEX REPLACE "include" "lib" Z_LIBS_DIR ${Z_LIBS_DIR})
++	set(Z_LIBS "-L${Z_LIBS_DIR} -lz")
+ endif()
+ 
+ set_target_properties(
diff --git a/textproc/libxml2/files/patch-git-01-19de8b47b1fe4b87b06bc6b89f5ee9697870a0ad b/textproc/libxml2/files/patch-git-01-19de8b47b1fe4b87b06bc6b89f5ee9697870a0ad
deleted file mode 100644
index 2b290bbc9d50..000000000000
--- a/textproc/libxml2/files/patch-git-01-19de8b47b1fe4b87b06bc6b89f5ee9697870a0ad
+++ /dev/null
@@ -1,25 +0,0 @@
-From 19de8b47b1fe4b87b06bc6b89f5ee9697870a0ad Mon Sep 17 00:00:00 2001
-From: Nick Wellnhofer <wellnhofer@aevum.de>
-Date: Thu, 27 Mar 2025 23:05:15 +0100
-Subject: [PATCH] cmake: Remove version from Python libxml2mod.so
-
-This shouldn't be necessary and matches the Autotools build.
----
- CMakeLists.txt | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index c23fe75fb..f15095ff7 100644
---- CMakeLists.txt
-+++ CMakeLists.txt
-@@ -547,7 +547,6 @@ if(LIBXML2_WITH_PYTHON)
-         IMPORT_PREFIX lib
-         OUTPUT_NAME xml2mod
-         PREFIX lib
--        VERSION ${PROJECT_VERSION}
-     )
-     if (WIN32)
-         set_target_properties(LibXml2Mod PROPERTIES SUFFIX ".pyd")
--- 
-GitLab
-
diff --git a/textproc/libxml2/files/patch-git-02-5700d989cc18889e1601c651ad69a41af8b32073 b/textproc/libxml2/files/patch-git-02-5700d989cc18889e1601c651ad69a41af8b32073
deleted file mode 100644
index 947921d2be5e..000000000000
--- a/textproc/libxml2/files/patch-git-02-5700d989cc18889e1601c651ad69a41af8b32073
+++ /dev/null
@@ -1,39 +0,0 @@
-From 5700d989cc18889e1601c651ad69a41af8b32073 Mon Sep 17 00:00:00 2001
-From: Markus Rickert <markus.rickert@uni-bamberg.de>
-Date: Wed, 18 Jun 2025 13:48:55 +0200
-Subject: [PATCH] Fix CMake iconv handling after change to private dependency
-
----
- CMakeLists.txt          | 2 +-
- libxml2-config.cmake.in | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index e136f2167..b952d7bfa 100644
---- CMakeLists.txt
-+++ CMakeLists.txt
-@@ -354,7 +354,7 @@ if(WIN32)
- endif()
- 
- if(LIBXML2_WITH_ICONV)
--    target_link_libraries(LibXml2 PUBLIC Iconv::Iconv)
-+    target_link_libraries(LibXml2 PRIVATE Iconv::Iconv)
-     if(NOT Iconv_IS_BUILT_IN)
-         set(ICONV_LIBS "-liconv")
-     endif()
-diff --git a/libxml2-config.cmake.in b/libxml2-config.cmake.in
-index e040a759b..3ce7ef43f 100644
---- libxml2-config.cmake.in
-+++ libxml2-config.cmake.in
-@@ -56,7 +56,7 @@ if(NOT LIBXML2_SHARED)
-     if(LIBXML2_WITH_ICONV)
-         find_dependency(Iconv)
-         list(APPEND LIBXML2_LIBRARIES    ${Iconv_LIBRARIES})
--        list(APPEND LIBXML2_INTERFACE_LINK_LIBRARIES "Iconv::Iconv")
-+        list(APPEND LIBXML2_INTERFACE_LINK_LIBRARIES "\$<LINK_ONLY:Iconv::Iconv>")
-         if(NOT Iconv_FOUND)
-             set(${CMAKE_FIND_PACKAGE_NAME}_FOUND FALSE)
-             set(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE "Iconv dependency was not found")
--- 
-GitLab
-
diff --git a/textproc/libxml2/files/patch-git-03-d3e33dc214276498e73b61188be02b2863c9670a b/textproc/libxml2/files/patch-git-03-d3e33dc214276498e73b61188be02b2863c9670a
deleted file mode 100644
index 99438c918d15..000000000000
--- a/textproc/libxml2/files/patch-git-03-d3e33dc214276498e73b61188be02b2863c9670a
+++ /dev/null
@@ -1,25 +0,0 @@
-From d3e33dc214276498e73b61188be02b2863c9670a Mon Sep 17 00:00:00 2001
-From: Nick Wellnhofer <wellnhofer@aevum.de>
-Date: Fri, 20 Jun 2025 11:20:34 +0200
-Subject: [PATCH] cmake: Add missing endif() in libxml2-config.cmake.in
-
-Regressed with 28ccdaf9.
----
- libxml2-config.cmake.in | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/libxml2-config.cmake.in b/libxml2-config.cmake.in
-index 3ce7ef43f..bd971e081 100644
---- libxml2-config.cmake.in
-+++ libxml2-config.cmake.in
-@@ -119,6 +119,7 @@ if(NOT LIBXML2_SHARED)
-         if(LIBXML2_WITH_HTTP)
-             list(APPEND LIBXML2_LIBRARIES ws2_32)
-             list(APPEND LIBXML2_INTERFACE_LINK_LIBRARIES "\$<LINK_ONLY:ws2_32>")
-+        endif()
-     endif()
- endif()
- 
--- 
-GitLab
-
diff --git a/textproc/libxml2/files/patch-git-04-cf52139b4170be13b51b62da11c208dc66e6eff0 b/textproc/libxml2/files/patch-git-04-cf52139b4170be13b51b62da11c208dc66e6eff0
deleted file mode 100644
index e6e31b883bd1..000000000000
--- a/textproc/libxml2/files/patch-git-04-cf52139b4170be13b51b62da11c208dc66e6eff0
+++ /dev/null
@@ -1,46 +0,0 @@
-From cf52139b4170be13b51b62da11c208dc66e6eff0 Mon Sep 17 00:00:00 2001
-From: Nick Wellnhofer <wellnhofer@aevum.de>
-Date: Fri, 20 Jun 2025 22:22:03 +0200
-Subject: [PATCH] xmllint: Fix --xinclude --path
-
-Use resource loader for XInclude. Regressed with f96dca9c.
----
- xmllint.c | 16 +++++++++++++++-
- 1 file changed, 15 insertions(+), 1 deletion(-)
-
-diff --git a/xmllint.c b/xmllint.c
-index 4ffc31ef0..ab2f2ebc7 100644
---- xmllint.c
-+++ xmllint.c
-@@ -2181,13 +2181,27 @@ parseAndPrintFile(xmllintState *lint, const char *filename) {
- 
- #ifdef LIBXML_XINCLUDE_ENABLED
-     if (lint->xinclude) {
-+        xmlXIncludeCtxt *xinc;
-+        int res;
-+
- 	if ((lint->timing) && (lint->repeat == 1)) {
- 	    startTimer(lint);
- 	}
--	if (xmlXIncludeProcessFlags(doc, lint->options) < 0) {
-+
-+        xinc = xmlXIncludeNewContext(doc);
-+        if (xinc == NULL) {
-+            lint->progresult = XMLLINT_ERR_MEM;
-+            goto done;
-+        }
-+        xmlXIncludeSetResourceLoader(xinc, xmllintResourceLoader, lint);
-+        xmlXIncludeSetFlags(xinc, lint->options);
-+        res = xmlXIncludeProcessNode(xinc, (xmlNode *) doc);
-+        xmlXIncludeFreeContext(xinc);
-+        if (res < 0) {
- 	    lint->progresult = XMLLINT_ERR_UNCLASS;
-             goto done;
-         }
-+
- 	if ((lint->timing) && (lint->repeat == 1)) {
- 	    endTimer(lint, "Xinclude processing");
- 	}
--- 
-GitLab
-
diff --git a/textproc/libxml2/files/patch-git-05-356542324fa439de544b5e419b91ae68d42c306c b/textproc/libxml2/files/patch-git-05-356542324fa439de544b5e419b91ae68d42c306c
deleted file mode 100644
index 62d1dac2d224..000000000000
--- a/textproc/libxml2/files/patch-git-05-356542324fa439de544b5e419b91ae68d42c306c
+++ /dev/null
@@ -1,27 +0,0 @@
-From 356542324fa439de544b5e419b91ae68d42c306c Mon Sep 17 00:00:00 2001
-From: Nick Wellnhofer <wellnhofer@aevum.de>
-Date: Fri, 20 Jun 2025 23:46:46 +0200
-Subject: [PATCH] parser: Fix xmlCtxtIsStopped
-
-Make xmlCtxtIsStopped check for fatal errors as well. This makes it
-easier to migrate away from disableSAX.
----
- parserInternals.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/parserInternals.c b/parserInternals.c
-index 4e39db1f8..45085cd52 100644
---- parserInternals.c
-+++ parserInternals.c
-@@ -3327,7 +3327,7 @@ xmlCtxtIsStopped(xmlParserCtxtPtr ctxt) {
-     if (ctxt == NULL)
-         return(0);
- 
--    return(PARSER_STOPPED(ctxt));
-+    return(ctxt->disableSAX != 0);
- }
- 
- #ifdef LIBXML_VALID_ENABLED
--- 
-GitLab
-
diff --git a/textproc/libxml2/pkg-plist b/textproc/libxml2/pkg-plist
index 170d1c6c8515..8d53acb96cd1 100644
--- a/textproc/libxml2/pkg-plist
+++ b/textproc/libxml2/pkg-plist
@@ -52,12 +52,13 @@ 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.16
-lib/libxml2.so.16.0.4
+lib/libxml2.so.2
+lib/libxml2.so.%%LIBVERSION%%
 libdata/pkgconfig/libxml-2.0.pc
 share/man/man1/xml2-config.1.gz
 share/man/man1/xmlcatalog.1.gz
 share/man/man1/xmllint.1.gz
+share/aclocal/libxml.m4
 %%PORTDOCS%%%%DOCSDIR%%/devhelp/general.html
 %%PORTDOCS%%%%DOCSDIR%%/devhelp/home.png
 %%PORTDOCS%%%%DOCSDIR%%/devhelp/index.html
@@ -112,5 +113,70 @@ share/man/man1/xmllint.1.gz
 %%PORTDOCS%%%%DOCSDIR%%/devhelp/right.png
 %%PORTDOCS%%%%DOCSDIR%%/devhelp/style.css
 %%PORTDOCS%%%%DOCSDIR%%/devhelp/up.png
+%%PORTDOCS%%%%DOCSDIR%%/examples/index.html
+%%PORTDOCS%%%%DOCSDIR%%/examples/io1.c
+%%PORTDOCS%%%%DOCSDIR%%/examples/io2.c
+%%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/reader2.c
+%%PORTDOCS%%%%DOCSDIR%%/examples/reader3.c
+%%PORTDOCS%%%%DOCSDIR%%/examples/reader4.c
+%%PORTDOCS%%%%DOCSDIR%%/examples/testWriter.c
+%%PORTDOCS%%%%DOCSDIR%%/examples/tree1.c
+%%PORTDOCS%%%%DOCSDIR%%/examples/tree2.c
+%%PORTDOCS%%%%DOCSDIR%%/examples/xpath1.c
+%%PORTDOCS%%%%DOCSDIR%%/examples/xpath2.c
+%%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%%/xmlcatalog.html
 %%PORTDOCS%%%%DOCSDIR%%/xmllint.html
diff --git a/textproc/py-libxml2/Makefile b/textproc/py-libxml2/Makefile
index 099b26ef6033..7633fdebb4a1 100644
--- a/textproc/py-libxml2/Makefile
+++ b/textproc/py-libxml2/Makefile
@@ -1,23 +1,28 @@
-PORTREVISION=	0
+PORTREVISION=	2
 CATEGORIES=	textproc gnome python
 PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
 
 COMMENT=	Python interface for XML parser library for GNOME
-MASTERDIR=	${.CURDIR}/../libxml2
 
 USES+=		gnome python shebangfix
 USE_GNOME=	libxml2
 USE_PYTHON=	flavors
-SHEBANG_FILES=	doc/*.py python/*.py python/tests/*.py
+SHEBANG_FILES=	*.py doc/*.py python/*.py python/tests/*.py
 
-# Tell master port we're a slave port
-LIBXML2_SLAVE=	python
+# Help CMake determine the correct version of Python if
+# multiple versions are installed
+CMAKE_ARGS=	-DPython_EXECUTABLE=${PYTHON_CMD}
+
+MASTERDIR=	${.CURDIR}/../libxml2
 
 DESCR=		${.CURDIR}/pkg-descr
 PLIST=		${.CURDIR}/pkg-plist
 
 OPTIONS_EXCLUDE=	${OPTIONS_DEFINE}
 
+# Tell master port we're a slave port
+LIBXML2_SLAVE=	python
+
 do-install:
 		${MKDIR} ${STAGEDIR}${PYTHON_SITELIBDIR}
 		${INSTALL_SCRIPT} ${WRKSRC}/python/drv_libxml2.py ${STAGEDIR}${PYTHON_SITELIBDIR}