From df29e1edfb763c6f990cfb6b9382b2f107cbc9aa Mon Sep 17 00:00:00 2001 From: oreo639 Date: Sun, 18 Feb 2024 13:33:55 -0800 Subject: [PATCH 1/7] libxml2: update to 2.12.5. --- ...952bdb7a4364100f009043e94e1bf44c6197.patch | 85 +++++++++++++++++++ srcpkgs/libxml2/template | 8 +- 2 files changed, 89 insertions(+), 4 deletions(-) create mode 100644 srcpkgs/libxml2/patches/387a952bdb7a4364100f009043e94e1bf44c6197.patch diff --git a/srcpkgs/libxml2/patches/387a952bdb7a4364100f009043e94e1bf44c6197.patch b/srcpkgs/libxml2/patches/387a952bdb7a4364100f009043e94e1bf44c6197.patch new file mode 100644 index 0000000000000..50a6da45513f8 --- /dev/null +++ b/srcpkgs/libxml2/patches/387a952bdb7a4364100f009043e94e1bf44c6197.patch @@ -0,0 +1,85 @@ +From 387a952bdb7a4364100f009043e94e1bf44c6197 Mon Sep 17 00:00:00 2001 +From: Nick Wellnhofer +Date: Mon, 12 Feb 2024 16:45:16 +0100 +Subject: [PATCH] xmllint: Return error code if XPath returns empty nodeset + +Return an error code as before but make it possible to distinguish from +real errors. + +Fixes #690. +--- + doc/xmllint.xml | 11 ++++++++++- + xmllint.c | 24 +++++++++++++----------- + 2 files changed, 23 insertions(+), 12 deletions(-) + +diff --git a/doc/xmllint.xml b/doc/xmllint.xml +index b81da3aa7..8bc665216 100644 +--- a/doc/xmllint.xml ++++ b/doc/xmllint.xml +@@ -575,7 +575,9 @@ + result. In case of a nodeset result, each node in the + node set is serialized in full in the output. In case + of an empty node set the "XPath set is empty" result +- will be shown and an error exit code will be returned. ++ will be shown and exit code 11 will be returned.. ++ This feature is EXPERIMENTAL. Implementation details can ++ change without futher notice. + + + +@@ -945,6 +947,13 @@ + + + ++ ++ 11 ++ ++ XPath result is empty ++ ++ ++ + + + +diff --git a/xmllint.c b/xmllint.c +index 21dbe7d24..5c26c3fe8 100644 +--- a/xmllint.c ++++ b/xmllint.c +@@ -86,17 +86,18 @@ + #endif + + typedef enum { +- XMLLINT_RETURN_OK = 0, /* No error */ +- XMLLINT_ERR_UNCLASS = 1, /* Unclassified */ +- XMLLINT_ERR_DTD = 2, /* Error in DTD */ +- XMLLINT_ERR_VALID = 3, /* Validation error */ +- XMLLINT_ERR_RDFILE = 4, /* CtxtReadFile error */ +- XMLLINT_ERR_SCHEMACOMP = 5, /* Schema compilation */ +- XMLLINT_ERR_OUT = 6, /* Error writing output */ +- XMLLINT_ERR_SCHEMAPAT = 7, /* Error in schema pattern */ +- XMLLINT_ERR_RDREGIS = 8, /* Error in Reader registration */ +- XMLLINT_ERR_MEM = 9, /* Out of memory error */ +- XMLLINT_ERR_XPATH = 10 /* XPath evaluation error */ ++ XMLLINT_RETURN_OK = 0, /* No error */ ++ XMLLINT_ERR_UNCLASS = 1, /* Unclassified */ ++ XMLLINT_ERR_DTD = 2, /* Error in DTD */ ++ XMLLINT_ERR_VALID = 3, /* Validation error */ ++ XMLLINT_ERR_RDFILE = 4, /* CtxtReadFile error */ ++ XMLLINT_ERR_SCHEMACOMP = 5, /* Schema compilation */ ++ XMLLINT_ERR_OUT = 6, /* Error writing output */ ++ XMLLINT_ERR_SCHEMAPAT = 7, /* Error in schema pattern */ ++ XMLLINT_ERR_RDREGIS = 8, /* Error in Reader registration */ ++ XMLLINT_ERR_MEM = 9, /* Out of memory error */ ++ XMLLINT_ERR_XPATH = 10, /* XPath evaluation error */ ++ XMLLINT_ERR_XPATH_EMPTY = 11 /* XPath result is empty */ + } xmllintReturnCode; + #ifdef LIBXML_DEBUG_ENABLED + static int shell = 0; +@@ -2019,6 +2020,7 @@ static void doXPathDump(xmlXPathObjectPtr cur) { + xmlOutputBufferPtr buf; + + if ((cur->nodesetval == NULL) || (cur->nodesetval->nodeNr <= 0)) { ++ progresult = XMLLINT_ERR_XPATH_EMPTY; + if (!quiet) { + fprintf(stderr, "XPath set is empty\n"); + } diff --git a/srcpkgs/libxml2/template b/srcpkgs/libxml2/template index 7e05639eaaa1e..270753e103cee 100644 --- a/srcpkgs/libxml2/template +++ b/srcpkgs/libxml2/template @@ -1,8 +1,7 @@ # Template file for 'libxml2' pkgname=libxml2 -reverts="2.12.1_1" -version=2.11.4 -revision=6 +version=2.12.5 +revision=1 build_style=gnu-configure configure_args="--with-threads --with-history --with-icu --with-legacy --with-ftp --with-xptr-locs --enable-static" @@ -13,8 +12,9 @@ short_desc="Library providing XML and HTML support" maintainer="Enno Boland " license="MIT" homepage="https://gitlab.gnome.org/GNOME/libxml2" +changelog="https://gitlab.gnome.org/GNOME/libxml2/-/raw/master/NEWS" distfiles="${GNOME_SITE}/libxml2/${version%.*}/libxml2-${version}.tar.xz" -checksum=737e1d7f8ab3f139729ca13a2494fd17bf30ddb4b7a427cf336252cab57f57f7 +checksum=a972796696afd38073e0f59c283c3a2f5a560b5268b4babc391b286166526b21 python_version=3 CFLAGS="-I$XBPS_CROSS_BASE/usr/include/python$py3_ver" From 6d535880a169896a3dd307ba70fa21298b78beb3 Mon Sep 17 00:00:00 2001 From: oreo639 Date: Sun, 18 Feb 2024 20:57:54 -0800 Subject: [PATCH 2/7] inkscape: fix build for libxml2 2.12 --- .../inkscape/patches/fix-libxml2-2.12.patch | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 srcpkgs/inkscape/patches/fix-libxml2-2.12.patch diff --git a/srcpkgs/inkscape/patches/fix-libxml2-2.12.patch b/srcpkgs/inkscape/patches/fix-libxml2-2.12.patch new file mode 100644 index 0000000000000..dc5b0f53460c9 --- /dev/null +++ b/srcpkgs/inkscape/patches/fix-libxml2-2.12.patch @@ -0,0 +1,33 @@ +From 694d8ae43d06efff21adebf377ce614d660b24cd Mon Sep 17 00:00:00 2001 +From: Christian Hesse +Date: Fri, 17 Nov 2023 22:30:42 +0100 +Subject: [PATCH] include missing header file +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +This fixes build error: +``` +/build/inkscape/src/inkscape/src/object/uri.cpp: In constructor ‘Inkscape::URI::URI(const gchar*, const char*)’: +/build/inkscape/src/inkscape/src/object/uri.cpp:86:9: error: ‘xmlFree’ was not declared in this scope; did you mean ‘xmlFreeURI’? + 86 | xmlFree(full); +``` +--- + src/object/uri.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/object/uri.h b/src/object/uri.h +index 381adec58cf..d5b211fe2b2 100644 +--- a/src/object/uri.h ++++ b/src/object/uri.h +@@ -13,6 +13,7 @@ + #define INKSCAPE_URI_H + + #include ++#include + #include + #include + +-- +GitLab + From 74d7a5cd59be1325c468a38ab0c505f2dab9464b Mon Sep 17 00:00:00 2001 From: oreo639 Date: Sun, 18 Feb 2024 20:58:21 -0800 Subject: [PATCH 3/7] rdrview: fix build for libxml2 2.12 --- .../rdrview/patches/fix-libxml2-2.12.patch | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 srcpkgs/rdrview/patches/fix-libxml2-2.12.patch diff --git a/srcpkgs/rdrview/patches/fix-libxml2-2.12.patch b/srcpkgs/rdrview/patches/fix-libxml2-2.12.patch new file mode 100644 index 0000000000000..eb8c8eb7709a8 --- /dev/null +++ b/srcpkgs/rdrview/patches/fix-libxml2-2.12.patch @@ -0,0 +1,26 @@ +From b5fdd379577e13d26784ffdeca3ecb02ff1d336e Mon Sep 17 00:00:00 2001 +From: oreo639 +Date: Sun, 18 Feb 2024 13:49:49 -0800 +Subject: [PATCH] Add missing include with libxml2 2.12+ + +libxml2 2.12 removed extra includes, which causes stdlib.h to not get implicitly +included anymore. + +The missing include results in a warning on gcc13 and below with the resulting +binary truncating the pointer to an integer, gcc14+ makes this a hard error. +--- + src/rdrview.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/rdrview.h b/src/rdrview.h +index 9365e7a..2eda156 100644 +--- a/src/rdrview.h ++++ b/src/rdrview.h +@@ -26,6 +26,7 @@ + #define RDRVIEW_H + + #include ++#include + #include + #include + #include From 777ea0f588ae46bfdf2e8c6d158d40d273eb1f2a Mon Sep 17 00:00:00 2001 From: oreo639 Date: Sun, 18 Feb 2024 15:13:02 -0800 Subject: [PATCH 4/7] libgdal: update to 3.8.4. --- common/shlibs | 2 +- srcpkgs/libgdal/patches/10-atoll.patch | 34 -------------------------- srcpkgs/libgdal/template | 6 ++--- 3 files changed, 4 insertions(+), 38 deletions(-) delete mode 100644 srcpkgs/libgdal/patches/10-atoll.patch diff --git a/common/shlibs b/common/shlibs index 3cf507d8ada87..f5b32693cae68 100644 --- a/common/shlibs +++ b/common/shlibs @@ -2459,7 +2459,7 @@ libu2f-host.so.0 libu2f-host-1.1.10_5 libu2f-server.so.0 libu2f-server-1.1.0_9 libsqlcipher.so.0 sqlcipher-4.3.0_3 libgta.so.1 libgta-1.2.0_1 -libgdal.so.31 libgdal-3.5.3_1 +libgdal.so.34 libgdal-3.8.4_1 libosgViewer.so.161 osg-3.6.5_1 libosgShadow.so.161 osg-3.6.5_1 libosgParticle.so.161 osg-3.6.5_1 diff --git a/srcpkgs/libgdal/patches/10-atoll.patch b/srcpkgs/libgdal/patches/10-atoll.patch deleted file mode 100644 index a114098612c52..0000000000000 --- a/srcpkgs/libgdal/patches/10-atoll.patch +++ /dev/null @@ -1,34 +0,0 @@ -Author: Holger Jaekel -Summary: musl atoll() doesn't return ERANGE in case of overflow ----- - ---- a/port/cpl_conv.cpp -+++ b/port/cpl_conv.cpp -@@ -1011,8 +1011,6 @@ - #endif - } - --#if defined(__MINGW32__) || defined(__sun__) -- - // mingw atoll() doesn't return ERANGE in case of overflow - static int CPLAtoGIntBigExHasOverflow(const char* pszString, GIntBig nVal) - { -@@ -1035,8 +1033,6 @@ - return strcmp(szBuffer, pszString) != 0; - } - --#endif -- - /************************************************************************/ - /* CPLAtoGIntBigEx() */ - /************************************************************************/ -@@ -1065,9 +1061,7 @@ - GIntBig nVal = atol(pszString); - #endif - if( errno == ERANGE --#if defined(__MINGW32__) || defined(__sun__) - || CPLAtoGIntBigExHasOverflow(pszString, nVal) --#endif - ) - { - if( pbOverflow ) diff --git a/srcpkgs/libgdal/template b/srcpkgs/libgdal/template index d5850fb768f66..93d916099045c 100644 --- a/srcpkgs/libgdal/template +++ b/srcpkgs/libgdal/template @@ -1,7 +1,7 @@ # Template file for 'libgdal' pkgname=libgdal -version=3.5.3 -revision=12 +version=3.8.4 +revision=1 build_style=cmake build_helper=python3 configure_args="-DGDAL_USE_OPENCL=ON @@ -21,7 +21,7 @@ license="MIT" homepage="https://www.gdal.org" changelog="https://raw.githubusercontent.com/OSGeo/gdal/master/NEWS.md" distfiles="https://download.osgeo.org/gdal/${version}/gdal-${version}.tar.xz" -checksum=d32223ddf145aafbbaec5ccfa5dbc164147fb3348a3413057f9b1600bb5b3890 +checksum=0c53ced95d29474236487202709b49015854f8e02e35e44ed0f4f4e12a7966ce python_version=3 if [ -z "$CROSS_BUILD" ]; then From 4f0e9ccbeca1a32ace67d71fa0dd778e6efecea2 Mon Sep 17 00:00:00 2001 From: oreo639 Date: Sun, 18 Feb 2024 20:58:50 -0800 Subject: [PATCH 5/7] cegui: fix build for libxml2 2.12 --- srcpkgs/cegui/patches/fix-libxml2-2.12.patch | 26 ++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 srcpkgs/cegui/patches/fix-libxml2-2.12.patch diff --git a/srcpkgs/cegui/patches/fix-libxml2-2.12.patch b/srcpkgs/cegui/patches/fix-libxml2-2.12.patch new file mode 100644 index 0000000000000..f288ce9a66b09 --- /dev/null +++ b/srcpkgs/cegui/patches/fix-libxml2-2.12.patch @@ -0,0 +1,26 @@ +From 285ba5a2c0c435ed865c6e86afe314a822fd1e3f Mon Sep 17 00:00:00 2001 +From: oreo639 +Date: Sun, 18 Feb 2024 14:16:21 -0800 +Subject: [PATCH] Fix return type of xmlGetLastError for libxml2 2.12 + +https://gitlab.gnome.org/GNOME/libxml2/-/commit/45470611b047db78106dcb2fdbd4164163c15ab7 +--- + cegui/src/XMLParserModules/Libxml2/XMLParser.cpp | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/cegui/src/XMLParserModules/Libxml2/XMLParser.cpp b/cegui/src/XMLParserModules/Libxml2/XMLParser.cpp +index 74a3dbddd..a408f9305 100644 +--- a/cegui/src/XMLParserModules/Libxml2/XMLParser.cpp ++++ b/cegui/src/XMLParserModules/Libxml2/XMLParser.cpp +@@ -109,7 +109,11 @@ void LibxmlParser::parseXML(XMLHandler& handler, + + if (!doc) + { ++#if LIBXML_VERSION >= 21200 ++ const xmlError* err = xmlGetLastError(); ++#else + xmlError* err = xmlGetLastError(); ++#endif + + throw GenericException( + String("xmlParseMemory failed in file: '") + From 2368a935a60a62c31932afbbae401717ea57fad6 Mon Sep 17 00:00:00 2001 From: oreo639 Date: Mon, 19 Feb 2024 04:41:36 -0800 Subject: [PATCH 6/7] webkit2gtk: fix build for libxml2 2.12 --- .../webkit2gtk/patches/fix-libxml2-2.12.patch | 56 +++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 srcpkgs/webkit2gtk/patches/fix-libxml2-2.12.patch diff --git a/srcpkgs/webkit2gtk/patches/fix-libxml2-2.12.patch b/srcpkgs/webkit2gtk/patches/fix-libxml2-2.12.patch new file mode 100644 index 0000000000000..0529514ffe006 --- /dev/null +++ b/srcpkgs/webkit2gtk/patches/fix-libxml2-2.12.patch @@ -0,0 +1,56 @@ +From 1bad176b2496579d760852c80cff3ad9fb7c3a4b Mon Sep 17 00:00:00 2001 +From: Adrian Perez de Castro +Date: Mon, 20 Nov 2023 07:42:30 -0800 +Subject: [PATCH] Build fails with libxml2 version 2.12.0 due to API change + https://bugs.webkit.org/show_bug.cgi?id=265128 + +Reviewed by Philippe Normand. + +Starting with libxml2 2.12.0, the API has changed the const-ness of the +xmlError pointers, which results in a build error due to a mismatched +type in the parsing error callback. This papers over the difference by +using preprocessor conditionals. + +* Source/WebCore/xml/XSLTProcessor.h: Use const when building against + libxml2 2.12.0 or newer. +* Source/WebCore/xml/XSLTProcessorLibxslt.cpp: +(WebCore::XSLTProcessor::parseErrorFunc): Ditto. + +Canonical link: https://commits.webkit.org/270977@main +--- + Source/WebCore/xml/XSLTProcessor.h | 4 ++++ + Source/WebCore/xml/XSLTProcessorLibxslt.cpp | 4 ++++ + 2 files changed, 8 insertions(+) + +diff --git a/Source/WebCore/xml/XSLTProcessor.h b/Source/WebCore/xml/XSLTProcessor.h +index 21bb45b5cbe1..5cf20557918f 100644 +--- a/Source/WebCore/xml/XSLTProcessor.h ++++ b/Source/WebCore/xml/XSLTProcessor.h +@@ -61,7 +61,11 @@ class XSLTProcessor : public RefCounted { + + void reset(); + ++#if LIBXML_VERSION >= 21200 ++ static void parseErrorFunc(void* userData, const xmlError*); ++#else + static void parseErrorFunc(void* userData, xmlError*); ++#endif + static void genericErrorFunc(void* userData, const char* msg, ...); + + // Only for libXSLT callbacks +diff --git a/Source/WebCore/xml/XSLTProcessorLibxslt.cpp b/Source/WebCore/xml/XSLTProcessorLibxslt.cpp +index a65691087e3c..9f6b363dfc6c 100644 +--- a/Source/WebCore/xml/XSLTProcessorLibxslt.cpp ++++ b/Source/WebCore/xml/XSLTProcessorLibxslt.cpp +@@ -59,7 +59,11 @@ void XSLTProcessor::genericErrorFunc(void*, const char*, ...) + // It would be nice to do something with this error message. + } + ++#if LIBXML_VERSION >= 21200 ++void XSLTProcessor::parseErrorFunc(void* userData, const xmlError* error) ++#else + void XSLTProcessor::parseErrorFunc(void* userData, xmlError* error) ++#endif + { + PageConsoleClient* console = static_cast(userData); + if (!console) From acb196e951c4270950d3224a190b84a7ededdcf6 Mon Sep 17 00:00:00 2001 From: oreo639 Date: Mon, 19 Feb 2024 04:57:49 -0800 Subject: [PATCH 7/7] xmlsec1: update to 1.3.3. Fixes build with libxml2 2.12. --- srcpkgs/xmlsec1/template | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/srcpkgs/xmlsec1/template b/srcpkgs/xmlsec1/template index a4d9792bd2d37..0dfb40b1f1161 100644 --- a/srcpkgs/xmlsec1/template +++ b/srcpkgs/xmlsec1/template @@ -1,6 +1,6 @@ # Template file for 'xmlsec1' pkgname=xmlsec1 -version=1.3.2 +version=1.3.3 revision=1 build_style=gnu-configure hostmakedepends="pkg-config" @@ -11,8 +11,8 @@ maintainer="Enno Boland " license="MIT" homepage="https://www.aleksey.com/xmlsec/" changelog="https://www.aleksey.com/xmlsec/news.html" -distfiles="https://www.aleksey.com/xmlsec/download/xmlsec1-${version}.tar.gz" -checksum=4003c56b3d356d21b1db7775318540fad6bfedaf5f117e8f7c010811219be3cf +distfiles="https://github.com/lsh123/xmlsec/releases/download/${version}/xmlsec1-${version}.tar.gz" +checksum=ab5b9a9ffd6960f46f7466d9d91f174ec37e8c31989237ba6b9eacdd816464f2 post_install() { if [ "$CROSS_BUILD" ]; then