diff --git a/srcpkgs/libxml2/patches/0b5650067b4ba37dc0dc1a889a17e96dc1610799.patch b/srcpkgs/libxml2/patches/0b5650067b4ba37dc0dc1a889a17e96dc1610799.patch deleted file mode 100644 index 973aa04d20f..00000000000 --- a/srcpkgs/libxml2/patches/0b5650067b4ba37dc0dc1a889a17e96dc1610799.patch +++ /dev/null @@ -1,98 +0,0 @@ -From 0b5650067b4ba37dc0dc1a889a17e96dc1610799 Mon Sep 17 00:00:00 2001 -From: Nick Wellnhofer -Date: Mon, 26 Feb 2024 01:03:34 +0100 -Subject: [PATCH] html: Fix htmlCreatePushParserCtxt with encoding - -Regression from commit ec7be506. - -Fixes #696. ---- - HTMLparser.c | 5 ++++- - testparser.c | 34 ++++++++++++++++++++++++++++++++++ - 2 files changed, 38 insertions(+), 1 deletion(-) - -diff --git a/HTMLparser.c b/HTMLparser.c -index 097ed2369..ea6a4f265 100644 ---- a/HTMLparser.c -+++ b/HTMLparser.c -@@ -5987,7 +5987,7 @@ htmlCreatePushParserCtxt(htmlSAXHandlerPtr sax, void *user_data, - - xmlInitParser(); - -- buf = xmlAllocParserInputBuffer(enc); -+ buf = xmlAllocParserInputBuffer(XML_CHAR_ENCODING_NONE); - if (buf == NULL) return(NULL); - - ctxt = htmlNewSAXParserCtxt(sax, user_data); -@@ -6018,6 +6018,9 @@ htmlCreatePushParserCtxt(htmlSAXHandlerPtr sax, void *user_data, - - inputPush(ctxt, inputStream); - -+ if (enc != XML_CHAR_ENCODING_NONE) -+ xmlSwitchEncoding(ctxt, enc); -+ - if ((size > 0) && (chunk != NULL) && (ctxt->input != NULL) && - (ctxt->input->buf != NULL)) { - size_t pos = ctxt->input->cur - ctxt->input->base; -diff --git a/testparser.c b/testparser.c -index e67cea5b1..705e61387 100644 ---- a/testparser.c -+++ b/testparser.c -@@ -5,6 +5,7 @@ - */ - - #include -+#include - - static int - testStandaloneWithEncoding(void) { -@@ -86,6 +87,36 @@ testHugeEncodedChunk(void) { - } - #endif - -+#if defined(LIBXML_HTML_ENABLED) && defined(LIBXML_PUSH_ENABLED) -+static int -+testHtmlPushWithEncoding(void) { -+ htmlParserCtxtPtr ctxt; -+ htmlDocPtr doc; -+ htmlNodePtr node; -+ int err = 0; -+ -+ ctxt = htmlCreatePushParserCtxt(NULL, NULL, NULL, 0, NULL, -+ XML_CHAR_ENCODING_UTF8); -+ htmlParseChunk(ctxt, "-\xC3\xA4-", 4, 1); -+ -+ doc = ctxt->myDoc; -+ if (!xmlStrEqual(doc->encoding, BAD_CAST "UTF-8")) { -+ fprintf(stderr, "testHtmlPushWithEncoding failed\n"); -+ err = 1; -+ } -+ -+ node = xmlDocGetRootElement(doc)->children->children->children; -+ if (!xmlStrEqual(node->content, BAD_CAST "-\xC3\xA4-")) { -+ fprintf(stderr, "testHtmlPushWithEncoding failed\n"); -+ err = 1; -+ } -+ -+ xmlFreeDoc(doc); -+ htmlFreeParserCtxt(ctxt); -+ return err; -+} -+#endif -+ - int - main(void) { - int err = 0; -@@ -95,6 +126,9 @@ main(void) { - err |= testHugePush(); - err |= testHugeEncodedChunk(); - #endif -+#if defined(LIBXML_HTML_ENABLED) && defined(LIBXML_PUSH_ENABLED) -+ err |= testHtmlPushWithEncoding(); -+#endif - - return err; - } --- -GitLab - diff --git a/srcpkgs/libxml2/patches/387a952bdb7a4364100f009043e94e1bf44c6197.patch b/srcpkgs/libxml2/patches/387a952bdb7a4364100f009043e94e1bf44c6197.patch deleted file mode 100644 index 50a6da45513..00000000000 --- a/srcpkgs/libxml2/patches/387a952bdb7a4364100f009043e94e1bf44c6197.patch +++ /dev/null @@ -1,85 +0,0 @@ -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/patches/4365a5e1153dd5ed7d269d00f8f14daee0fac5c8.patch b/srcpkgs/libxml2/patches/4365a5e1153dd5ed7d269d00f8f14daee0fac5c8.patch deleted file mode 100644 index feae220b634..00000000000 --- a/srcpkgs/libxml2/patches/4365a5e1153dd5ed7d269d00f8f14daee0fac5c8.patch +++ /dev/null @@ -1,131 +0,0 @@ -From 4365a5e1153dd5ed7d269d00f8f14daee0fac5c8 Mon Sep 17 00:00:00 2001 -From: Nick Wellnhofer -Date: Mon, 26 Feb 2024 15:14:28 +0100 -Subject: [PATCH] xmlreader: Fix xmlTextReaderConstEncoding - -Regression from commit f1c1f5c6. - -Fixes #697. ---- - SAX2.c | 12 +----------- - include/private/parser.h | 2 ++ - parserInternals.c | 24 ++++++++++++++++++++++++ - xmlreader.c | 22 ++++++++++------------ - 4 files changed, 37 insertions(+), 23 deletions(-) - -diff --git a/SAX2.c b/SAX2.c -index ed21a559..bb72e160 100644 ---- a/SAX2.c -+++ b/SAX2.c -@@ -955,17 +955,7 @@ xmlSAX2EndDocument(void *ctx) - - doc = ctxt->myDoc; - if ((doc != NULL) && (doc->encoding == NULL)) { -- const xmlChar *encoding = NULL; -- -- if ((ctxt->input->flags & XML_INPUT_USES_ENC_DECL) || -- (ctxt->input->flags & XML_INPUT_AUTO_ENCODING)) { -- /* Preserve encoding exactly */ -- encoding = ctxt->encoding; -- } else if ((ctxt->input->buf) && (ctxt->input->buf->encoder)) { -- encoding = BAD_CAST ctxt->input->buf->encoder->name; -- } else if (ctxt->input->flags & XML_INPUT_HAS_ENCODING) { -- encoding = BAD_CAST "UTF-8"; -- } -+ const xmlChar *encoding = xmlGetActualEncoding(ctxt); - - if (encoding != NULL) { - doc->encoding = xmlStrdup(encoding); -diff --git a/include/private/parser.h b/include/private/parser.h -index 40d179fe..7f8f6912 100644 ---- a/include/private/parser.h -+++ b/include/private/parser.h -@@ -48,6 +48,8 @@ XML_HIDDEN void - xmlDetectEncoding(xmlParserCtxtPtr ctxt); - XML_HIDDEN void - xmlSetDeclaredEncoding(xmlParserCtxtPtr ctxt, xmlChar *encoding); -+XML_HIDDEN const xmlChar * -+xmlGetActualEncoding(xmlParserCtxtPtr ctxt); - - XML_HIDDEN xmlParserNsData * - xmlParserNsCreate(void); -diff --git a/parserInternals.c b/parserInternals.c -index e6b4cb14..166397bd 100644 ---- a/parserInternals.c -+++ b/parserInternals.c -@@ -1479,6 +1479,30 @@ xmlSetDeclaredEncoding(xmlParserCtxtPtr ctxt, xmlChar *encoding) { - } - } - -+/** -+ * xmlGetActualEncoding: -+ * @ctxt: the parser context -+ * -+ * Returns the actual used to parse the document. This can differ from -+ * the declared encoding. -+ */ -+const xmlChar * -+xmlGetActualEncoding(xmlParserCtxtPtr ctxt) { -+ const xmlChar *encoding = NULL; -+ -+ if ((ctxt->input->flags & XML_INPUT_USES_ENC_DECL) || -+ (ctxt->input->flags & XML_INPUT_AUTO_ENCODING)) { -+ /* Preserve encoding exactly */ -+ encoding = ctxt->encoding; -+ } else if ((ctxt->input->buf) && (ctxt->input->buf->encoder)) { -+ encoding = BAD_CAST ctxt->input->buf->encoder->name; -+ } else if (ctxt->input->flags & XML_INPUT_HAS_ENCODING) { -+ encoding = BAD_CAST "UTF-8"; -+ } -+ -+ return(encoding); -+} -+ - /************************************************************************ - * * - * Commodity functions to handle entities processing * -diff --git a/xmlreader.c b/xmlreader.c -index 1f903306..5fdeb2b8 100644 ---- a/xmlreader.c -+++ b/xmlreader.c -@@ -40,6 +40,7 @@ - #endif - - #include "private/buf.h" -+#include "private/parser.h" - #include "private/tree.h" - #ifdef LIBXML_XINCLUDE_ENABLED - #include "private/xinclude.h" -@@ -2795,20 +2796,17 @@ xmlTextReaderReadAttributeValue(xmlTextReaderPtr reader) { - */ - const xmlChar * - xmlTextReaderConstEncoding(xmlTextReaderPtr reader) { -- xmlDocPtr doc = NULL; -+ const xmlChar *encoding = NULL; -+ - if (reader == NULL) -- return(NULL); -- if (reader->doc != NULL) -- doc = reader->doc; -- else if (reader->ctxt != NULL) -- doc = reader->ctxt->myDoc; -- if (doc == NULL) -- return(NULL); -+ return(NULL); - -- if (doc->encoding == NULL) -- return(NULL); -- else -- return(CONSTSTR(doc->encoding)); -+ if (reader->ctxt != NULL) -+ encoding = xmlGetActualEncoding(reader->ctxt); -+ else if (reader->doc != NULL) -+ encoding = reader->doc->encoding; -+ -+ return(CONSTSTR(encoding)); - } - - --- -GitLab - diff --git a/srcpkgs/libxml2/template b/srcpkgs/libxml2/template index 80378055434..154beba21d5 100644 --- a/srcpkgs/libxml2/template +++ b/srcpkgs/libxml2/template @@ -1,6 +1,6 @@ # Template file for 'libxml2' pkgname=libxml2 -version=2.12.5 +version=2.12.6 revision=1 build_style=gnu-configure configure_args="--with-threads --with-history --with-icu @@ -14,7 +14,7 @@ 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=a972796696afd38073e0f59c283c3a2f5a560b5268b4babc391b286166526b21 +checksum=889c593a881a3db5fdd96cc9318c87df34eb648edfc458272ad46fd607353fbb python_version=3 CFLAGS="-I$XBPS_CROSS_BASE/usr/include/python$py3_ver"