diff --git a/textproc/libxml2/Makefile b/textproc/libxml2/Makefile index 2b3468b1cb66..d76993395828 100644 --- a/textproc/libxml2/Makefile +++ b/textproc/libxml2/Makefile @@ -2,7 +2,7 @@ PORTNAME= libxml2 DISTVERSION= 2.9.13 -PORTREVISION?= 1 +PORTREVISION?= 2 CATEGORIES?= textproc gnome MASTER_SITES= GNOME/sources/${PORTNAME}/${DISTVERSION:R}/ DIST_SUBDIR= gnome2 @@ -17,6 +17,10 @@ USES+= cmake cpe iconv localbase:ldflags pkgconfig tar:xz CPE_VENDOR= xmlsoft USE_LDCONFIG= yes +# Symbol versioning is supported with GNU Autotools but not with CMake. +# So enable it by adding options for it to LDFLAGS. +LDFLAGS+= -Wl,--version-script=${WRKSRC}/libxml2.syms + PLIST_SUB+= LIBVERSION=${DISTVERSION} # Don't build with Python support unless requested @@ -50,8 +54,9 @@ post-patch: .if !defined(LIBXML2_SLAVE) post-install: + # Upstream commit 28d0399682027cc65dd17ac675bde85a11e5a01e + ${RM} ${STAGEDIR}${DOCSDIR}/libxml2.xsa ${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 diff --git a/textproc/libxml2/files/patch-CMakeLists.txt b/textproc/libxml2/files/patch-CMakeLists.txt deleted file mode 100644 index 3f45b65b7331..000000000000 --- a/textproc/libxml2/files/patch-CMakeLists.txt +++ /dev/null @@ -1,29 +0,0 @@ ---- 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-git-01-5c71ada83acf30dc7e8ca8fca1f025c7dd014447 b/textproc/libxml2/files/patch-git-01-5c71ada83acf30dc7e8ca8fca1f025c7dd014447 new file mode 100644 index 000000000000..b19eb1bdf574 --- /dev/null +++ b/textproc/libxml2/files/patch-git-01-5c71ada83acf30dc7e8ca8fca1f025c7dd014447 @@ -0,0 +1,50 @@ +From 5c71ada83acf30dc7e8ca8fca1f025c7dd014447 Mon Sep 17 00:00:00 2001 +From: David Seifert +Date: Wed, 30 Mar 2022 16:51:17 +0200 +Subject: [PATCH] Detect libm using libtool's macros + +--- + CMakeLists.txt | 4 ++-- + Makefile.am | 4 ++-- + configure.ac | 14 ++------------ + fuzz/Makefile.am | 2 +- + libxml-2.0-uninstalled.pc.in | 2 +- + libxml-2.0.pc.in | 2 +- + 6 files changed, 9 insertions(+), 19 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index f97a0c9b..94dfc1df 100644 +--- CMakeLists.txt ++++ CMakeLists.txt +@@ -395,7 +395,7 @@ endif() + + if(UNIX) + target_link_libraries(LibXml2 PRIVATE m) +- set(M_LIBS "-lm") ++ set(LIBM "-lm") + endif() + + if(WIN32) +@@ -650,7 +650,7 @@ endif() + set(XML_INCLUDEDIR "-I\${includedir}/libxml2") + 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}") ++set(XML_PRIVATE_LIBS "${Z_LIBS} ${LZMA_LIBS} ${THREAD_LIBS} ${ICONV_LIBS} ${ICU_LIBS} ${LIBM}") + + file(RELATIVE_PATH PACKAGE_RELATIVE_PATH "${CMAKE_INSTALL_FULL_LIBDIR}/pkgconfig" "${CMAKE_INSTALL_PREFIX}") + string(REGEX REPLACE "/$" "" PACKAGE_RELATIVE_PATH "${PACKAGE_RELATIVE_PATH}") +diff --git a/libxml-2.0.pc.in b/libxml-2.0.pc.in +index 2653a7c5..a10c8696 100644 +--- libxml-2.0.pc.in ++++ libxml-2.0.pc.in +@@ -9,5 +9,5 @@ Version: @VERSION@ + Description: libXML library version2. + Requires: + Libs: -L${libdir} -lxml2 +-Libs.private: @ICU_LIBS@ @THREAD_LIBS@ @Z_LIBS@ @LZMA_LIBS@ @ICONV_LIBS@ @M_LIBS@ @WIN32_EXTRA_LIBADD@ @LIBS@ ++Libs.private: @ICU_LIBS@ @THREAD_LIBS@ @Z_LIBS@ @LZMA_LIBS@ @ICONV_LIBS@ @LIBM@ @WIN32_EXTRA_LIBADD@ @LIBS@ + Cflags: @XML_INCLUDEDIR@ @XML_CFLAGS@ +-- +GitLab + diff --git a/textproc/libxml2/files/patch-git-01-b66ce0bba83febe2f4d119097a0391f5d886c3b4 b/textproc/libxml2/files/patch-git-02-b66ce0bba83febe2f4d119097a0391f5d886c3b4 similarity index 100% rename from textproc/libxml2/files/patch-git-01-b66ce0bba83febe2f4d119097a0391f5d886c3b4 rename to textproc/libxml2/files/patch-git-02-b66ce0bba83febe2f4d119097a0391f5d886c3b4 diff --git a/textproc/libxml2/files/patch-git-03-141d784ecffaf00f152f8a7c627e72f72d398f34 b/textproc/libxml2/files/patch-git-03-141d784ecffaf00f152f8a7c627e72f72d398f34 new file mode 100644 index 000000000000..eb40cc700c0b --- /dev/null +++ b/textproc/libxml2/files/patch-git-03-141d784ecffaf00f152f8a7c627e72f72d398f34 @@ -0,0 +1,26 @@ +From 141d784ecffaf00f152f8a7c627e72f72d398f34 Mon Sep 17 00:00:00 2001 +From: Daniel Engberg +Date: Sat, 2 Apr 2022 21:06:47 +0200 +Subject: [PATCH] build: Make use of variables in libxml's pkg-config file + +Instead of hardcoding make use of available variables and optimize usage +--- + libxml-2.0.pc.in | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/libxml-2.0.pc.in b/libxml-2.0.pc.in +index a10c8696..c3d931ec 100644 +--- libxml-2.0.pc.in ++++ libxml-2.0.pc.in +@@ -8,6 +8,6 @@ Name: libXML + Version: @VERSION@ + Description: libXML library version2. + Requires: +-Libs: -L${libdir} -lxml2 +-Libs.private: @ICU_LIBS@ @THREAD_LIBS@ @Z_LIBS@ @LZMA_LIBS@ @ICONV_LIBS@ @LIBM@ @WIN32_EXTRA_LIBADD@ @LIBS@ ++Libs: -L${libdir} @XML_LIBS@ ++Libs.private: @XML_PRIVATE_LIBS@ @WIN32_EXTRA_LIBADD@ @LIBS@ + Cflags: @XML_INCLUDEDIR@ @XML_CFLAGS@ +-- +GitLab + diff --git a/textproc/libxml2/files/patch-git-04-6d10df7c5c6a098078db8a7649d5d9a1f820d9cd b/textproc/libxml2/files/patch-git-04-6d10df7c5c6a098078db8a7649d5d9a1f820d9cd new file mode 100644 index 000000000000..df9751ce2fe9 --- /dev/null +++ b/textproc/libxml2/files/patch-git-04-6d10df7c5c6a098078db8a7649d5d9a1f820d9cd @@ -0,0 +1,40 @@ +From 6d10df7c5c6a098078db8a7649d5d9a1f820d9cd Mon Sep 17 00:00:00 2001 +From: Daniel Engberg +Date: Sat, 2 Apr 2022 22:23:44 +0200 +Subject: [PATCH] cmake: Adjust paths for UNIX or UNIX-like target systems + +Sync paths with GNU Autotools +--- + CMakeLists.txt | 10 ++++++++-- + 1 file changed, 8 insertions(+), 2 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 94dfc1df..7cd70bc8 100644 +--- CMakeLists.txt ++++ CMakeLists.txt +@@ -655,14 +655,20 @@ set(XML_PRIVATE_LIBS "${Z_LIBS} ${LZMA_LIBS} ${THREAD_LIBS} ${ICONV_LIBS} ${ICU_ + 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}") ++if(WIN32) ++ set(prefix "\${pcfiledir}/${PACKAGE_RELATIVE_PATH}") ++else() ++ set(prefix "${CMAKE_INSTALL_PREFIX}") ++endif() + 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) + +-set(prefix "\$(cd \"\$(dirname \"\$0\")\"; pwd -P)/..") ++if(WIN32) ++ set(prefix "\$(cd \"\$(dirname \"\$0\")\"; pwd -P)/..") ++endif() + configure_file(xml2-config.in xml2-config @ONLY) + install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/xml2-config DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT development) + +-- +GitLab + diff --git a/textproc/libxml2/files/patch-git-05-f2987a295ff847ecb2a6a3eae1a271c9a64255b6 b/textproc/libxml2/files/patch-git-05-f2987a295ff847ecb2a6a3eae1a271c9a64255b6 new file mode 100644 index 000000000000..81d3eb3f10a9 --- /dev/null +++ b/textproc/libxml2/files/patch-git-05-f2987a295ff847ecb2a6a3eae1a271c9a64255b6 @@ -0,0 +1,32 @@ +From f2987a295ff847ecb2a6a3eae1a271c9a64255b6 Mon Sep 17 00:00:00 2001 +From: Daniel E +Date: Sun, 3 Apr 2022 18:49:19 +0000 +Subject: [PATCH] cmake: Remove non needed files in docs dir + +Don't install files that are used to generate the documentation +--- + CMakeLists.txt | 8 +++++++- + 1 file changed, 7 insertions(+), 1 deletion(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 3a9c8177..68419a09 100644 +--- CMakeLists.txt ++++ CMakeLists.txt +@@ -597,7 +597,13 @@ endif() + install(FILES doc/xml2-config.1 DESTINATION ${CMAKE_INSTALL_MANDIR}/man1 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 ++ PATTERN "*.xsl" EXCLUDE ++ PATTERN "*.py" EXCLUDE ++ PATTERN "*.xml" EXCLUDE ++ PATTERN "examples/*" EXCLUDE) ++install(DIRECTORY doc/examples/ DESTINATION ${CMAKE_INSTALL_DATADIR}/doc/libxml2/examples COMPONENT documentation PATTERN "Makefile.*" EXCLUDE) + + configure_package_config_file( + libxml2-config.cmake.cmake.in libxml2-config.cmake +-- +GitLab + diff --git a/textproc/libxml2/files/patch-git-06-94ac5e61f399759a5463c0505099222ed8f13a82 b/textproc/libxml2/files/patch-git-06-94ac5e61f399759a5463c0505099222ed8f13a82 new file mode 100644 index 000000000000..b932d856a29b --- /dev/null +++ b/textproc/libxml2/files/patch-git-06-94ac5e61f399759a5463c0505099222ed8f13a82 @@ -0,0 +1,36 @@ +From 94ac5e61f399759a5463c0505099222ed8f13a82 Mon Sep 17 00:00:00 2001 +From: Nick Wellnhofer +Date: Thu, 7 Apr 2022 02:05:41 +0200 +Subject: [PATCH] CMakeLists.txt: Fix LIBXML_VERSION_NUMBER + +Also fix LIBXML_VERSION and remove LIBXML_VERSION_STRING. + +Fixes #365. +--- + CMakeLists.txt | 9 ++++++--- + 1 file changed, 6 insertions(+), 3 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 68419a09..075d5cde 100644 +--- CMakeLists.txt ++++ CMakeLists.txt +@@ -104,10 +104,13 @@ foreach(VARIABLE IN ITEMS WITH_AUTOMATA WITH_C14N WITH_CATALOG WITH_DEBUG WITH_E + endif() + endforeach() + +-set(LIBXML_VERSION ${LIBXML_MAJOR_VERSION}0${LIBXML_MINOR_VERSION}0${LIBXML_MICRO_VERSION}) +-set(LIBXML_VERSION_STRING "${LIBXML_VERSION}") ++set(LIBXML_VERSION ${VERSION}) + set(LIBXML_VERSION_EXTRA "") +-set(LIBXML_VERSION_NUMBER ${LIBXML_VERSION}) ++math(EXPR LIBXML_VERSION_NUMBER " ++ ${LIBXML_MAJOR_VERSION} * 10000 + ++ ${LIBXML_MINOR_VERSION} * 100 + ++ ${LIBXML_MICRO_VERSION} ++") + + set(MODULE_EXTENSION "${CMAKE_SHARED_LIBRARY_SUFFIX}") + +-- +GitLab + diff --git a/textproc/libxml2/files/patch-libxml-2.0.pc.in b/textproc/libxml2/files/patch-libxml-2.0.pc.in deleted file mode 100644 index 2635302b12e1..000000000000 --- a/textproc/libxml2/files/patch-libxml-2.0.pc.in +++ /dev/null @@ -1,11 +0,0 @@ ---- libxml-2.0.pc.in.orig 2022-03-08 22:00:47 UTC -+++ libxml-2.0.pc.in -@@ -8,6 +8,6 @@ Name: libXML - Version: @VERSION@ - Description: libXML library version2. - Requires: --Libs: -L${libdir} -lxml2 --Libs.private: @ICU_LIBS@ @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/pkg-plist b/textproc/libxml2/pkg-plist index fe71e56cf861..1a689f63fb5f 100644 --- a/textproc/libxml2/pkg-plist +++ b/textproc/libxml2/pkg-plist @@ -102,18 +102,13 @@ share/aclocal/libxml.m4 %%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 @@ -169,7 +164,6 @@ share/aclocal/libxml.m4 %%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 @@ -263,27 +257,18 @@ share/aclocal/libxml.m4 %%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 @@ -337,14 +322,10 @@ share/aclocal/libxml.m4 %%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