diff --git a/community/libreoffice/APKBUILD b/community/libreoffice/APKBUILD
index 34c5201c45ae49e9bb5a3dfefa09ac5b92ff51d4..0b1ca2541a52f3af1c037794291bb5f33ed0f082 100644
--- a/community/libreoffice/APKBUILD
+++ b/community/libreoffice/APKBUILD
@@ -5,18 +5,16 @@ pkgname=libreoffice
 # "fresh" version. before, we used to package still, but community/ is only
 # supported for 6 months and fresh works perfectly okay for that, while being
 # more up to date and needing fewer dependency workarounds.
-pkgver=7.6.4.1
-pkgrel=4
+pkgver=7.6.7.2
+pkgrel=0
 pkgdesc="LibreOffice - Meta package for the full office suite"
 url="https://www.libreoffice.org/"
-# missing openjdk17 on riscv64
 # armhf disabled due to requiring armv6k as minimum arm architecture
 # ppc64le: hangs forever in build on builders
-arch="all !ppc64le !s390x !riscv64 !armhf"
+arch="all !ppc64le !s390x !armhf"
 license="MPL-2.0"
 makedepends="
 	abseil-cpp-dev
-	apache-ant
 	autoconf
 	automake
 	bison
@@ -104,12 +102,12 @@ makedepends="
 	"
 # openjdk isn't available on 32-bit
 case $CARCH in
-x86|arm*|ppc64le)
+x86|arm*|riscv64)
 	_have_java=false
 	;;
 *)
 	_have_java=true
-	makedepends="$makedepends openjdk17-jdk openjdk17-jre-headless"
+	makedepends="$makedepends apache-ant openjdk21-jdk openjdk21-jre-headless"
 	;;
 esac
 # GNU sed is needed for in i18npool/CustomTarget_localedata.mk
@@ -178,11 +176,12 @@ source="https://download.documentfoundation.org/libreoffice/src/$_v/libreoffice-
 	musl-stacksize.patch
 	musl-libintl.patch
 	icu74.patch
-	libxml-2.12.patch
 	"
 options="!check" # todo, huge testsuite, not much value, ..
 
 # secfixes:
+#   7.6.7.2-r0:
+#     - CVE-2024-3044
 #   7.3.6.2-r0:
 #     - CVE-2022-3140
 #   7.2.7.2-r0:
@@ -384,7 +383,7 @@ build() {
 	export CXXFLAGS="${CXXFLAGS//-Os/-O2}"
 
 	if [ "$_have_java" = true ]; then
-		export JAVA_HOME=/usr/lib/jvm/java-17-openjdk
+		export JAVA_HOME=/usr/lib/jvm/java-21-openjdk
 		local java="
 			--with-jdk-home=$JAVA_HOME
 			--with-ant-home=/usr/share/java/apache-ant
@@ -626,9 +625,9 @@ sdk() {
 }
 
 sha512sums="
-dbfc0cc8aa68e26c89da12156046ccf18201759c0e67757ce259a1150934ad7e2d914837701731fbe00aeab9a2f8c996619eb0892b7907de8012fdd7421da0f6  libreoffice-7.6.4.1.tar.xz
-aa5ee67fdb7f3746c35f462554430cd83b6dfd24fb5afb42bbca22eb501b5f0631ab25d64805bb9aef21231ded59ffa7850186689ff2057801a1f85e0ba036ea  libreoffice-dictionaries-7.6.4.1.tar.xz
-4e7108754f50e117566e16b86e98f1d5e808e2bd07a472be27da1ececdd79b039f731d528e844015ef95dba8dc03e0e771cdd3bd9b5d7df7a9dd4c20683ee4a7  libreoffice-translations-7.6.4.1.tar.xz
+443d818f35d9cac1af3a911f031b0b8f455eb28afa1a563ee3551b3285810f3b7b19265a64f853eef07e0c550c5d81f95e2774db46bd9dfee7b9aee029eb3747  libreoffice-7.6.7.2.tar.xz
+b7ec4b06e0b595e1aff68607a43a40e8faf8757d76b67d915d5f15c4f6d6ed1282637931aa6058468ca8ddfb19f3fec95facedb4fe2a3959429e9fd28eab7909  libreoffice-dictionaries-7.6.7.2.tar.xz
+f22903f315d6f3cc1b5be9e19cf668e2bd207a5737328d9e577eb3d37122393ef9440597de633f422c93174ba3b13bebc33f84d79461aad48b7d4e9d67d1c422  libreoffice-translations-7.6.7.2.tar.xz
 a231eba4a1baca11766ef292ab45e302081115477fe23018652882923308856835cf8c9ecba61a5cf22543474ccef3136965d794a90c9e4e9e6dcc21f9af6e1a  17410483b5b5f267aa18b7e00b65e6e0-hsqldb_1_8_0.zip
 9fe106bbdb55365f589246e5a0d10bbe9b35224132b66a1823dc6361633a67f2acc0e8c393dc7ed70d086858d16d242b8806b8b2184c98e3d20d0be85bed9c44  3404ab6b1792ae5f16bbd603bd1e1d03-libformula-1.1.7.zip
 4a48f1e32907fb2dee601cda3cd7a0d7198b2d51f2a572b647f1e93f901fd511eef3567676e52dfb1723a2cdfbc01f2015ca0bb22903b0bc1476dd618cc9aa8a  35c94d2df8893241173de1d16b6034c0-swingExSrc.zip
@@ -657,5 +656,4 @@ a322cda7f9bb8e191033b41d1076208c5edfbf8a0ef1d0c2a210b5be61d75a8918c3530db246fb7c
 3364062dac89722d6ec738a254e2296f4f6e0426e689e16be59fa1bcc504aea4a183859f82277f1409c25965b08655d1e643cef4dff03d96aba1fa4bfc2feb06  musl-stacksize.patch
 d99d074e89e2713a3b6a56fa60d9d989ca6eefc8884ccbf88cb16c7b09da6dde4ba4ebc6a4d8408b61a08088df7cb1bcda60738f91e5569179fc45d7e9b901a3  musl-libintl.patch
 9f96ca0fde7014fcdef8a974f6e3fc4e3360186fedbaa3c65e29196384fca066cc819536695c614a904f3add80b8ee004f6588ab4fd32e52f69b655fe72fa885  icu74.patch
-d2125816be231c6b13055374394efd69e7f079687f7e4cdc22553bc4b1cf771670e3d46579bc07c3fd246a3caa608024e884edacd807038835463bb0060153e9  libxml-2.12.patch
 "
diff --git a/community/libreoffice/libxml-2.12.patch b/community/libreoffice/libxml-2.12.patch
deleted file mode 100644
index d4c6083dd74589c57de7cd91397529a9c1f364c2..0000000000000000000000000000000000000000
--- a/community/libreoffice/libxml-2.12.patch
+++ /dev/null
@@ -1,300 +0,0 @@
-From c8f7408db73d2f2ccacb25a2b4fef8dfebdfc6cb Mon Sep 17 00:00:00 2001
-From: Miklos Vajna <vmiklos@collabora.com>
-Date: Mon, 27 Nov 2023 08:02:59 +0100
-Subject: [PATCH] tdf#158302 fix build against system-libxml-2.12
-
-Seen in a fedora:40 container, using --with-system-libcmis,
---with-system-liblangtag and --with-system-xmlsec.
-
-Change-Id: I9d748d3dc0b70dbfdfcb6b99c9ce8440bda6f326
-Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159980
-Tested-by: Jenkins
-Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
----
- drawinglayer/source/tools/primitive2dxmldump.cxx | 1 +
- filter/source/xsltfilter/LibXSLTTransformer.cxx  | 2 +-
- helpcompiler/source/HelpLinker.cxx               | 4 ++++
- include/xmloff/xmltoken.hxx                      | 2 +-
- sax/source/fastparser/fastparser.cxx             | 2 +-
- sc/source/core/tool/interpr7.cxx                 | 1 +
- sc/source/filter/xml/XMLExportDataPilot.cxx      | 2 +-
- sc/source/filter/xml/XMLExportDatabaseRanges.cxx | 2 +-
- sc/source/filter/xml/xmlfilti.cxx                | 6 +++---
- unoxml/source/dom/attr.cxx                       | 1 +
- unoxml/source/dom/document.cxx                   | 1 +
- unoxml/source/dom/documentbuilder.cxx            | 1 +
- unoxml/source/dom/entity.cxx                     | 1 +
- unoxml/source/xpath/xpathapi.cxx                 | 7 ++++++-
- xmloff/source/core/xmltoken.cxx                  | 2 +-
- xmloff/source/style/PageMasterStyleMap.cxx       | 2 +-
- xmlsecurity/inc/xmlsec-wrapper.h                 | 1 +
- xmlsecurity/inc/xmlsec/saxhelper.hxx             | 1 +
- 18 files changed, 28 insertions(+), 11 deletions(-)
-
-diff --git a/drawinglayer/source/tools/primitive2dxmldump.cxx b/drawinglayer/source/tools/primitive2dxmldump.cxx
-index 76aefec902ead..f3b9ef1bc9193 100644
---- a/drawinglayer/source/tools/primitive2dxmldump.cxx
-+++ b/drawinglayer/source/tools/primitive2dxmldump.cxx
-@@ -15,6 +15,7 @@
- 
- #include <math.h>
- #include <memory>
-+#include <libxml/parser.h>
- #include <sal/log.hxx>
- 
- #include <drawinglayer/primitive2d/bitmapprimitive2d.hxx>
-diff --git a/filter/source/xsltfilter/LibXSLTTransformer.cxx b/filter/source/xsltfilter/LibXSLTTransformer.cxx
-index 1a7c34805f1b5..5e9a7c4bcd35e 100644
---- a/filter/source/xsltfilter/LibXSLTTransformer.cxx
-+++ b/filter/source/xsltfilter/LibXSLTTransformer.cxx
-@@ -333,7 +333,7 @@ namespace XSLT
-         }
-         else
-         {
--            xmlErrorPtr lastErr = xmlGetLastError();
-+            const xmlError* lastErr = xmlGetLastError();
-             OUString msg;
-             if (lastErr)
-                 msg = OStringToOUString(lastErr->message, RTL_TEXTENCODING_UTF8);
-diff --git a/helpcompiler/source/HelpLinker.cxx b/helpcompiler/source/HelpLinker.cxx
-index 3d52834dbe6bf..898a8b26392a9 100644
---- a/helpcompiler/source/HelpLinker.cxx
-+++ b/helpcompiler/source/HelpLinker.cxx
-@@ -815,7 +815,11 @@ static const HelpProcessingException* GpXMLParsingException = nullptr;
- 
- extern "C" {
- 
-+#if LIBXML_VERSION >= 21200
-+static void StructuredXMLErrorFunction(SAL_UNUSED_PARAMETER void *, const xmlError* error)
-+#else
- static void StructuredXMLErrorFunction(SAL_UNUSED_PARAMETER void *, xmlErrorPtr error)
-+#endif
- {
-     std::string aErrorMsg = error->message;
-     std::string aXMLParsingFile;
-diff --git a/include/xmloff/xmltoken.hxx b/include/xmloff/xmltoken.hxx
-index 4e64418417740..ba42fae4d035a 100644
---- a/include/xmloff/xmltoken.hxx
-+++ b/include/xmloff/xmltoken.hxx
-@@ -744,7 +744,7 @@ namespace xmloff::token {
-         XML_EMBEDDED_VISIBLE_AREA,
-         XML_EMBOSSED,
-         XML_EMISSIVE_COLOR,
--        XML_EMPTY,
-+        XML_TOKEN_EMPTY,
-         XML_EMPTY_LINE_REFRESH,
-         XML_ENABLE_NUMBERING,
-         XML_ENABLED,
-diff --git a/sax/source/fastparser/fastparser.cxx b/sax/source/fastparser/fastparser.cxx
-index ec8065016a12d..e0338e053cf05 100644
---- a/sax/source/fastparser/fastparser.cxx
-+++ b/sax/source/fastparser/fastparser.cxx
-@@ -578,7 +578,7 @@ Event& Entity::getEvent( CallbackType aType )
- OUString lclGetErrorMessage( xmlParserCtxtPtr ctxt, std::u16string_view sSystemId, sal_Int32 nLine )
- {
-     const char* pMessage;
--    xmlErrorPtr error = xmlCtxtGetLastError( ctxt );
-+    const xmlError* error = xmlCtxtGetLastError( ctxt );
-     if( error && error->message )
-         pMessage = error->message;
-     else
-diff --git a/sc/source/core/tool/interpr7.cxx b/sc/source/core/tool/interpr7.cxx
-index 352c7cf70e45d..ecb4ea346396b 100644
---- a/sc/source/core/tool/interpr7.cxx
-+++ b/sc/source/core/tool/interpr7.cxx
-@@ -31,6 +31,7 @@
- #include <cstring>
- #include <memory>
- #include <string_view>
-+#include <libxml/parser.h>
- 
- using namespace com::sun::star;
- 
-diff --git a/sc/source/filter/xml/XMLExportDataPilot.cxx b/sc/source/filter/xml/XMLExportDataPilot.cxx
-index da65bec0dab75..bd5f16d828ff7 100644
---- a/sc/source/filter/xml/XMLExportDataPilot.cxx
-+++ b/sc/source/filter/xml/XMLExportDataPilot.cxx
-@@ -123,7 +123,7 @@ void ScXMLExportDataPilot::WriteDPCondition(const ScQueryEntry& aQueryEntry, boo
- 
-     if (aQueryEntry.IsQueryByEmpty())
-     {
--        rExport.AddAttribute(XML_NAMESPACE_TABLE, XML_OPERATOR, GetXMLToken(XML_EMPTY));
-+        rExport.AddAttribute(XML_NAMESPACE_TABLE, XML_OPERATOR, GetXMLToken(XML_TOKEN_EMPTY));
-     }
-     else if (aQueryEntry.IsQueryByNonEmpty())
-     {
-diff --git a/sc/source/filter/xml/XMLExportDatabaseRanges.cxx b/sc/source/filter/xml/XMLExportDatabaseRanges.cxx
-index 6905e02d651bc..e4307065bd92f 100644
---- a/sc/source/filter/xml/XMLExportDatabaseRanges.cxx
-+++ b/sc/source/filter/xml/XMLExportDatabaseRanges.cxx
-@@ -376,7 +376,7 @@ class WriteDatabaseRange
-             case SC_EQUAL:
-             {
-                 if (rEntry.IsQueryByEmpty())
--                    return GetXMLToken(XML_EMPTY);
-+                    return GetXMLToken(XML_TOKEN_EMPTY);
-                 else if (rEntry.IsQueryByNonEmpty())
-                     return GetXMLToken(XML_NOEMPTY);
- 
-diff --git a/sc/source/filter/xml/xmlfilti.cxx b/sc/source/filter/xml/xmlfilti.cxx
-index 7585ce0c50fa1..61f7cfe4a3495 100644
---- a/sc/source/filter/xml/xmlfilti.cxx
-+++ b/sc/source/filter/xml/xmlfilti.cxx
-@@ -370,7 +370,7 @@ void ScXMLConditionContext::GetOperator(
-         rEntry.eOp = SC_BOTPERC;
-     else if (IsXMLToken(aOpStr, XML_BOTTOM_VALUES))
-         rEntry.eOp = SC_BOTVAL;
--    else if (IsXMLToken(aOpStr, XML_EMPTY))
-+    else if (IsXMLToken(aOpStr, XML_TOKEN_EMPTY))
-         rEntry.SetQueryByEmpty();
-     else if (aOpStr == u">")
-         rEntry.eOp = SC_GREATER;
-@@ -422,7 +422,7 @@ void SAL_CALL ScXMLConditionContext::endFastElement( sal_Int32 /*nElement*/ )
-     if (maQueryItems.empty())
-     {
-         ScQueryEntry::Item& rItem = rEntry.GetQueryItem();
--        if (IsXMLToken(sOperator, XML_EMPTY))
-+        if (IsXMLToken(sOperator, XML_TOKEN_EMPTY))
-             return;
-         if (IsXMLToken(sDataType, XML_NUMBER))
-         {
-@@ -753,7 +753,7 @@ void SAL_CALL ScXMLDPConditionContext::endFastElement( sal_Int32 /*nElement*/ )
-     else
-         aFilterField.eConnect = SC_AND;
-     pFilterContext->SetIsCaseSensitive(bIsCaseSensitive);
--    if (IsXMLToken(sOperator, XML_EMPTY))
-+    if (IsXMLToken(sOperator, XML_TOKEN_EMPTY))
-         aFilterField.SetQueryByEmpty();
-     else if (IsXMLToken(sOperator, XML_NOEMPTY))
-         aFilterField.SetQueryByNonEmpty();
-diff --git a/unoxml/source/dom/attr.cxx b/unoxml/source/dom/attr.cxx
-index dd974d910edb1..d8d873cdf0555 100644
---- a/unoxml/source/dom/attr.cxx
-+++ b/unoxml/source/dom/attr.cxx
-@@ -22,6 +22,7 @@
- #include <string.h>
- 
- #include <memory>
-+#include <libxml/entities.h>
- 
- #include <osl/diagnose.h>
- #include <sal/log.hxx>
-diff --git a/unoxml/source/dom/document.cxx b/unoxml/source/dom/document.cxx
-index cb48bd1635f82..0825fc2cd7edd 100644
---- a/unoxml/source/dom/document.cxx
-+++ b/unoxml/source/dom/document.cxx
-@@ -41,6 +41,7 @@
- #include <eventdispatcher.hxx>
- 
- #include <string.h>
-+#include <libxml/xmlIO.h>
- 
- #include <osl/diagnose.h>
- 
-diff --git a/unoxml/source/dom/documentbuilder.cxx b/unoxml/source/dom/documentbuilder.cxx
-index c3cd7663d2fc6..3898d58e4be4a 100644
---- a/unoxml/source/dom/documentbuilder.cxx
-+++ b/unoxml/source/dom/documentbuilder.cxx
-@@ -22,6 +22,7 @@
- #include <string.h>
- 
- #include <libxml/xmlerror.h>
-+#include <libxml/parser.h>
- 
- #include <memory>
- 
-diff --git a/unoxml/source/dom/entity.cxx b/unoxml/source/dom/entity.cxx
-index ccc8a08724997..98909dfe8f123 100644
---- a/unoxml/source/dom/entity.cxx
-+++ b/unoxml/source/dom/entity.cxx
-@@ -22,6 +22,7 @@
- #include <osl/diagnose.h>
- 
- #include <string.h>
-+#include <libxml/entities.h>
- 
- using namespace css::uno;
- using namespace css::xml::dom;
-diff --git a/unoxml/source/xpath/xpathapi.cxx b/unoxml/source/xpath/xpathapi.cxx
-index a60083983882e..c2b7537831766 100644
---- a/unoxml/source/xpath/xpathapi.cxx
-+++ b/unoxml/source/xpath/xpathapi.cxx
-@@ -26,6 +26,7 @@
- #include <libxml/xmlerror.h>
- #include <libxml/xpath.h>
- #include <libxml/xpathInternals.h>
-+#include <libxml/xmlIO.h>
- 
- #include <com/sun/star/xml/xpath/XPathException.hpp>
- 
-@@ -217,7 +218,7 @@ namespace XPath
-         return selectSingleNode(contextNode, expr);
-     }
- 
--    static OUString make_error_message(xmlErrorPtr pError)
-+    static OUString make_error_message(const xmlError* pError)
-     {
-         OUStringBuffer buf;
-         if (pError) {
-@@ -259,7 +260,11 @@ namespace XPath
-             SAL_WARN("unoxml", "libxml2 error: " << str);
-         }
- 
-+#if LIBXML_VERSION >= 21200
-+        static void structured_error_func(void *, const xmlError* error)
-+#else
-         static void structured_error_func(void *, xmlErrorPtr error)
-+#endif
-         {
-             SAL_WARN("unoxml", "libxml2 error: " << make_error_message(error));
-         }
-diff --git a/xmloff/source/core/xmltoken.cxx b/xmloff/source/core/xmltoken.cxx
-index 6879f37db2950..e11dc0d161119 100644
---- a/xmloff/source/core/xmltoken.cxx
-+++ b/xmloff/source/core/xmltoken.cxx
-@@ -756,7 +756,7 @@ namespace xmloff::token {
-         TOKEN( "embedded-visible-area",           XML_EMBEDDED_VISIBLE_AREA ),
-         TOKEN( "embossed",                        XML_EMBOSSED ),
-         TOKEN( "emissive-color",                  XML_EMISSIVE_COLOR ),
--        TOKEN( "empty",                           XML_EMPTY ),
-+        TOKEN( "empty",                           XML_TOKEN_EMPTY ),
-         TOKEN( "empty-line-refresh",              XML_EMPTY_LINE_REFRESH ),
-         TOKEN( "enable-numbering",                XML_ENABLE_NUMBERING ),
-         TOKEN( "enabled",                         XML_ENABLED ),
-diff --git a/xmloff/source/style/PageMasterStyleMap.cxx b/xmloff/source/style/PageMasterStyleMap.cxx
-index 7b2cab4751aa8..6f631289672b7 100644
---- a/xmloff/source/style/PageMasterStyleMap.cxx
-+++ b/xmloff/source/style/PageMasterStyleMap.cxx
-@@ -157,7 +157,7 @@ const XMLPropertyMapEntry aXMLPageMasterStyleMap[] =
-     PLMAP( PROP_FootnoteLineRelativeWidth, XML_NAMESPACE_STYLE,    XML__EMPTY,     XML_TYPE_PERCENT8|MID_FLAG_SPECIAL_ITEM,    CTF_PM_FTN_LINE_WIDTH ),
-     PLMAP( PROP_FootnoteLineTextDistance, XML_NAMESPACE_STYLE,    XML__EMPTY,     XML_TYPE_MEASURE|MID_FLAG_SPECIAL_ITEM,    CTF_PM_FTN_LINE_DISTANCE ),
-     PLMAP( PROP_FootnoteLineWeight,        XML_NAMESPACE_STYLE,    XML_FOOTNOTE_SEP,    XML_TYPE_MEASURE16|MID_FLAG_ELEMENT_ITEM,    CTF_PM_FTN_LINE_WEIGHT ),
--    PLMAP( PROP_FootnoteLineStyle,     XML_NAMESPACE_STYLE,    XML_EMPTY,  XML_TYPE_STRING|MID_FLAG_ELEMENT_ITEM,  CTF_PM_FTN_LINE_STYLE ),
-+    PLMAP( PROP_FootnoteLineStyle,     XML_NAMESPACE_STYLE,    XML_TOKEN_EMPTY,  XML_TYPE_STRING|MID_FLAG_ELEMENT_ITEM,  CTF_PM_FTN_LINE_STYLE ),
-     PLMAP_EXT(PROP_GutterMargin, XML_NAMESPACE_LO_EXT, XML_MARGIN_GUTTER, XML_TYPE_MEASURE, CTF_PM_MARGINGUTTER),
- 
-     //////////////////////////////////////////////////////////////////////////
-diff --git a/xmlsecurity/inc/xmlsec-wrapper.h b/xmlsecurity/inc/xmlsec-wrapper.h
-index 7c6d267e8b739..3ad705400c52c 100644
---- a/xmlsecurity/inc/xmlsec-wrapper.h
-+++ b/xmlsecurity/inc/xmlsec-wrapper.h
-@@ -23,6 +23,7 @@
- 
- #include <sal/types.h>
- 
-+#include <libxml/parser.h>
- #include <xmlsec/base64.h>
- #include <xmlsec/bn.h>
- #include <xmlsec/errors.h>
-diff --git a/xmlsecurity/inc/xmlsec/saxhelper.hxx b/xmlsecurity/inc/xmlsec/saxhelper.hxx
-index a49ccef1894c6..a5863ffd0e2a0 100644
---- a/xmlsecurity/inc/xmlsec/saxhelper.hxx
-+++ b/xmlsecurity/inc/xmlsec/saxhelper.hxx
-@@ -23,6 +23,7 @@
- 
- #include <string_view>
- 
-+#include <libxml/parser.h>
- #include <libxml/tree.h>
- 
- #include <rtl/ustring.hxx>