diff --git a/download.lst b/download.lst index 2d6303869042..a2ce4979764d 100644 --- a/download.lst +++ b/download.lst @@ -116,8 +116,8 @@ ETONYEK_TARBALL := libetonyek-0.1.$(ETONYEK_VERSION_MICRO).tar.xz # three static lines # so that git cherry-pick # will not run into conflicts -EXPAT_SHA256SUM := 1e727b8933ec51a77a9a9d9afcf8e688bce45d907c13e36ab7393fe36e703182 -EXPAT_TARBALL := expat-2.8.5.tar.xz +EXPAT_SHA256SUM := 1e6371862cc31999b368c3b89b49994f0677e1bab5f1b2b85ae3741f5d803051 +EXPAT_TARBALL := expat-2.9.0.tar.xz # three static lines # so that git cherry-pick # will not run into conflicts diff --git a/external/expat/0001-fix-XML_GE-is-not-defined-evaluates-to-0-Werror-unde.patch b/external/expat/0001-fix-XML_GE-is-not-defined-evaluates-to-0-Werror-unde.patch new file mode 100644 index 000000000000..5ac374aec5b6 --- /dev/null +++ b/external/expat/0001-fix-XML_GE-is-not-defined-evaluates-to-0-Werror-unde.patch @@ -0,0 +1,25 @@ +From 3e3d9091bc3db29901a1507466bf0479ff38de9a Mon Sep 17 00:00:00 2001 +From: Xisco Fauli +Date: Tue, 6 Oct 2026 10:50:50 +0200 +Subject: [PATCH] fix XML_GE is not defined, evaluates to 0 [-Werror=undef] + +--- + expat/lib/expat.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/expat/lib/expat.h b/expat/lib/expat.h +index 1b2852dd..fea2fd99 100644 +--- a/expat/lib/expat.h ++++ b/expat/lib/expat.h +@@ -1084,7 +1084,7 @@ enum XML_Parser_Property { + # if defined(XML_TESTING) + XML_PROP_INVALID = 0, + # endif +-# if XML_GE == 1 ++# if defined(XML_GE) && XML_GE == 1 + XML_PROP_ALLOC_TRACKER_ACTIVATION_THRESHOLD = 1, // of type `uint64_t` + XML_PROP_ALLOC_TRACKER_MAXIMUM_AMPLIFICATION = 2, // of type `double` + XML_PROP_BILLION_LAUGHS_ACTIVATION_THRESHOLD = 3, // of type `uint64_t` +-- +2.47.3 + diff --git a/external/expat/StaticLibrary_expat.mk b/external/expat/StaticLibrary_expat.mk index 6ca4fc84bf7f..b3b8fbb5d1ed 100644 --- a/external/expat/StaticLibrary_expat.mk +++ b/external/expat/StaticLibrary_expat.mk @@ -57,6 +57,7 @@ $(eval $(call gb_StaticLibrary_add_generated_cobjects,expat,\ endif $(eval $(call gb_StaticLibrary_add_generated_cobjects,expat,\ + UnpackedTarball/expat/lib/xcs \ UnpackedTarball/expat/lib/xmlparse \ UnpackedTarball/expat/lib/xmlrole \ UnpackedTarball/expat/lib/xmltok \ diff --git a/external/expat/UnpackedTarball_expat.mk b/external/expat/UnpackedTarball_expat.mk index e9e4f75046f2..721b9ac6e031 100644 --- a/external/expat/UnpackedTarball_expat.mk +++ b/external/expat/UnpackedTarball_expat.mk @@ -17,6 +17,7 @@ $(eval $(call gb_UnpackedTarball_set_patchlevel,expat,2)) $(eval $(call gb_UnpackedTarball_add_patches,expat,\ external/expat/expat-winapi.patch \ + external/expat/0001-fix-XML_GE-is-not-defined-evaluates-to-0-Werror-unde.patch \ )) # vim: set noet sw=4 ts=4: diff --git a/external/expat/expat-winapi.patch b/external/expat/expat-winapi.patch index ea664c3db76c..a789c7057c50 100644 --- a/external/expat/expat-winapi.patch +++ b/external/expat/expat-winapi.patch @@ -13,8 +13,8 @@ --- misc/expat-2.5.0/lib/xmlparse.c 2022-10-26 00:09:08.000000000 +0900 +++ misc/build/expat-2.5.0/lib/xmlparse.c 2022-10-30 23:09:01.843006341 +0900 -@@ -98,6 +98,10 @@ - #include +@@ -112,6 +112,10 @@ + #include /* wcsncmp */ #ifdef _WIN32 +# undef HAVE_ARC4RANDOM diff --git a/l10ntools/source/xmlparse.cxx b/l10ntools/source/xmlparse.cxx index 875bdd308a27..be670f0bd27f 100644 --- a/l10ntools/source/xmlparse.cxx +++ b/l10ntools/source/xmlparse.cxx @@ -888,8 +888,13 @@ bool SimpleXMLParser::Execute( const OString &rFileName, XMLFile* pXMLFile ) if (!result) { m_aErrorInformation.m_eCode = XML_GetErrorCode( m_aParser ); +#if (XML_MAJOR_VERSION > 2 || (XML_MAJOR_VERSION == 2 && XML_MINOR_VERSION >= 9)) + m_aErrorInformation.m_nLine = XML_GetCurrentLineNumber64( m_aParser ); + m_aErrorInformation.m_nColumn = XML_GetCurrentColumnNumber64( m_aParser ); +#else m_aErrorInformation.m_nLine = XML_GetErrorLineNumber( m_aParser ); m_aErrorInformation.m_nColumn = XML_GetErrorColumnNumber( m_aParser ); +#endif m_aErrorInformation.m_sMessage = "ERROR: "_ostr; if ( !pXMLFile->GetName().isEmpty()) diff --git a/sax/source/expatwrap/sax_expat.cxx b/sax/source/expatwrap/sax_expat.cxx index f6e6cdb90f55..d4cd6fa8b0e0 100644 --- a/sax/source/expatwrap/sax_expat.cxx +++ b/sax/source/expatwrap/sax_expat.cxx @@ -315,11 +315,19 @@ public: public: //XLocator virtual sal_Int32 SAL_CALL getColumnNumber() override { +#if (XML_MAJOR_VERSION > 2 || (XML_MAJOR_VERSION == 2 && XML_MINOR_VERSION >= 9)) + return XML_GetCurrentColumnNumber64( m_pParser->getEntity().pParser ); +#else return XML_GetCurrentColumnNumber( m_pParser->getEntity().pParser ); +#endif } virtual sal_Int32 SAL_CALL getLineNumber() override { +#if (XML_MAJOR_VERSION > 2 || (XML_MAJOR_VERSION == 2 && XML_MINOR_VERSION >= 9)) + return XML_GetCurrentLineNumber64( m_pParser->getEntity().pParser ); +#else return XML_GetCurrentLineNumber( m_pParser->getEntity().pParser ); +#endif } virtual OUString SAL_CALL getPublicId() override { @@ -337,7 +345,11 @@ public: //XLocator } virtual sal_Int64 SAL_CALL getPosition() override { +#if (XML_MAJOR_VERSION > 2 || (XML_MAJOR_VERSION == 2 && XML_MINOR_VERSION >= 9)) + return XML_GetCurrentByteIndex64( m_pParser->getEntity().pParser ); +#else return XML_GetCurrentByteIndex( m_pParser->getEntity().pParser ); +#endif } virtual ::sal_Int64 SAL_CALL getLength() override {