summaryrefslogtreecommitdiff
path: root/www/onlyoffice-documentserver/files
diff options
context:
space:
mode:
Diffstat (limited to 'www/onlyoffice-documentserver/files')
-rw-r--r--www/onlyoffice-documentserver/files/extra-patch-pkg-fetch_patches_node.v20.19.4.cpp.patch (renamed from www/onlyoffice-documentserver/files/extra-patch-pkg-fetch_patches_node.v22.15.1.cpp.patch)85
-rw-r--r--www/onlyoffice-documentserver/files/package-lock.json22
-rw-r--r--www/onlyoffice-documentserver/files/package.json2
-rw-r--r--www/onlyoffice-documentserver/files/patch-build__tools_scripts_build__server.py13
-rw-r--r--www/onlyoffice-documentserver/files/patch-build__tools_scripts_core__common_make__common.py8
-rw-r--r--www/onlyoffice-documentserver/files/patch-build__tools_scripts_core__common_modules_html2.py2
-rw-r--r--www/onlyoffice-documentserver/files/patch-core_Apple_StringDocumentHandler.hxx109
-rw-r--r--www/onlyoffice-documentserver/files/patch-core_Common_3dParty_html_fetch.py3
-rw-r--r--www/onlyoffice-documentserver/files/patch-core_Common_3dParty_v8_v8_src_base_macros.h12
-rw-r--r--www/onlyoffice-documentserver/files/patch-core_OfficeUtils_src_zlib-1.2.11_gzguts.h12
-rw-r--r--www/onlyoffice-documentserver/files/patch-core_PdfFile_PdfEditor.cpp11
-rw-r--r--www/onlyoffice-documentserver/files/patch-document-server-package_Makefile2
-rw-r--r--www/onlyoffice-documentserver/files/patch-document-server-package_common_documentserver_bin_documentserver-update-securelink.sh.m43
-rw-r--r--www/onlyoffice-documentserver/files/patch-document-server-package_common_documentserver_nginx_includes_ds-mime.types.conf6
-rw-r--r--www/onlyoffice-documentserver/files/patch-server_Common_package.json11
-rw-r--r--www/onlyoffice-documentserver/files/patch-server_FileConverter_package.json12
-rw-r--r--www/onlyoffice-documentserver/files/patch-server_package.json40
-rw-r--r--www/onlyoffice-documentserver/files/patch-web-apps_build_package.json11
18 files changed, 241 insertions, 123 deletions
diff --git a/www/onlyoffice-documentserver/files/extra-patch-pkg-fetch_patches_node.v22.15.1.cpp.patch b/www/onlyoffice-documentserver/files/extra-patch-pkg-fetch_patches_node.v20.19.4.cpp.patch
index b9df879aa213..0940e6667edd 100644
--- a/www/onlyoffice-documentserver/files/extra-patch-pkg-fetch_patches_node.v22.15.1.cpp.patch
+++ b/www/onlyoffice-documentserver/files/extra-patch-pkg-fetch_patches_node.v20.19.4.cpp.patch
@@ -1,28 +1,32 @@
-https://github.com/yao-pkg/pkg-fetch/raw/refs/tags/v3.5.23/patches/node.v22.15.1.cpp.patch
+https://github.com/yao-pkg/pkg-fetch/raw/refs/tags/v3.5.24/patches/node.v20.19.4.cpp.patch
+ local FreeBSD patches
---- yao-pkg/node_modules/@yao-pkg/pkg-fetch/patches/node.v22.15.1.cpp.patch 2025-04-28 21:32:13.877330000 +0000
-+++ yao-pkg/node_modules/@yao-pkg/pkg-fetch/patches/node.v22.15.1.cpp.patch
-@@ -11,6 +11,15 @@
- }],
- ],
- },
-+@@ -494,7 +494,8 @@
-+ '-fno-exceptions',
-+ '-fno-strict-aliasing',
-+ '-std=gnu++17',
-++ '-Wno-error=enum-constexpr-conversion',
-+ ],
-+ 'defines': [ '__STDC_FORMAT_MACROS' ],
-+ 'ldflags': [ '-rdynamic' ],
-+ 'target_conditions':
- diff --git node/deps/ngtcp2/nghttp3/lib/nghttp3_ringbuf.c node/deps/ngtcp2/nghttp3/lib/nghttp3_ringbuf.c
- index 7d3ab39bf8..67a48dee53 100644
- --- node/deps/ngtcp2/nghttp3/lib/nghttp3_ringbuf.c
-@@ -682,3 +691,161 @@
+--- yao-pkg/node_modules/@yao-pkg/pkg-fetch/patches/node.v20.19.4.cpp.patch
++++ yao-pkg/node_modules/@yao-pkg/pkg-fetch/patches/node.v20.19.4.cpp.patch
+@@ -600,3 +600,186 @@ index 2655b9e694..1d951571c7 100644
'cflags_cc!': [ '-fno-rtti' ],
}],
[ 'OS == "mac" or OS == "ios"', {
++--- node/common.gypi.orig 2023-07-20 18:27:37 UTC
+++++ node/common.gypi
++@@ -426,7 +426,7 @@
++ 'ldflags': [ '-m32' ],
++ }],
++ [ 'host_arch=="ppc64" and OS not in "aix os400"', {
++- 'cflags': [ '-m64', '-mminimal-toc' ],
+++ 'cflags': [ '-m64' ],
++ 'ldflags': [ '-m64' ],
++ }],
++ [ 'host_arch=="s390x" and OS=="linux"', {
++@@ -450,7 +450,7 @@
++ 'ldflags': [ '-m32' ],
++ }],
++ [ 'target_arch=="ppc64" and OS not in "aix os400"', {
++- 'cflags': [ '-m64', '-mminimal-toc' ],
+++ 'cflags': [ '-m64' ],
++ 'ldflags': [ '-m64' ],
++ }],
++ [ 'target_arch=="s390x" and OS=="linux"', {
+--- node/deps/openssl/config/archs/linux-elf/no-asm/openssl-cl.gypi.orig 2023-05-16 06:58:19 UTC
++++ node/deps/openssl/config/archs/linux-elf/no-asm/openssl-cl.gypi
+@@ -13,7 +13,7 @@
@@ -36,7 +40,7 @@ https://github.com/yao-pkg/pkg-fetch/raw/refs/tags/v3.5.23/patches/node.v22.15.1
+ 'openssl/apps/lib/cmp_mock_srv.c',
+--- node/deps/openssl/config/archs/linux-elf/no-asm/openssl.gypi.orig 2023-05-16 06:58:19 UTC
++++ node/deps/openssl/config/archs/linux-elf/no-asm/openssl.gypi
-+@@ -976,7 +976,7 @@
++@@ -977,7 +977,7 @@
+ '-Wall -O3 -fomit-frame-pointer',
+ ],
+ 'openssl_ex_libs_linux-elf': [
@@ -45,7 +49,7 @@ https://github.com/yao-pkg/pkg-fetch/raw/refs/tags/v3.5.23/patches/node.v22.15.1
+ ],
+ },
+ 'include_dirs': [
-+--- node/deps/openssl/openssl-cl_no_asm.gypi.orig 2023-10-24 10:04:40 UTC
++--- node/deps/openssl/openssl-cl_no_asm.gypi.orig 2023-11-22 10:13:54 UTC
++++ node/deps/openssl/openssl-cl_no_asm.gypi
+@@ -1,4 +1,5 @@
+ {
@@ -64,7 +68,7 @@ https://github.com/yao-pkg/pkg-fetch/raw/refs/tags/v3.5.23/patches/node.v22.15.1
+ }
+--- node/deps/openssl/openssl_no_asm.gypi.orig 2023-05-16 06:58:20 UTC
++++ node/deps/openssl/openssl_no_asm.gypi
-+@@ -46,7 +46,7 @@
++@@ -44,7 +44,7 @@
+ 'includes': ['config/archs/linux64-riscv64/no-asm/openssl.gypi'],
+ }, {
+ # Other architectures don't use assembly
@@ -86,16 +90,6 @@ https://github.com/yao-pkg/pkg-fetch/raw/refs/tags/v3.5.23/patches/node.v22.15.1
+ }
+
+ start += ssize;
-+--- node/deps/v8/src/base/small-vector.h.orig 2024-04-24 14:03:50 UTC
-++++ node/deps/v8/src/base/small-vector.h
-+@@ -22,7 +22,6 @@ class SmallVector {
-+ class SmallVector {
-+ // Currently only support trivially copyable and trivially destructible data
-+ // types, as it uses memcpy to copy elements and never calls destructors.
-+- ASSERT_TRIVIALLY_COPYABLE(T);
-+ static_assert(std::is_trivially_destructible<T>::value);
-+
-+ public:
+--- node/deps/v8/src/codegen/arm/cpu-arm.cc.orig 2023-05-16 06:58:20 UTC
++++ node/deps/v8/src/codegen/arm/cpu-arm.cc
+@@ -2,12 +2,15 @@
@@ -136,7 +130,7 @@ https://github.com/yao-pkg/pkg-fetch/raw/refs/tags/v3.5.23/patches/node.v22.15.1
+ #define ABI_CALL_VIA_IP 0
+--- node/deps/v8/src/libsampler/sampler.cc.orig 2023-05-16 06:58:20 UTC
++++ node/deps/v8/src/libsampler/sampler.cc
-+@@ -513,6 +513,10 @@ void SignalHandler::FillRegisterState(void* context, R
++@@ -511,6 +511,10 @@ void SignalHandler::FillRegisterState(void* context, R
+ state->pc = reinterpret_cast<void*>(mcontext.__gregs[_REG_PC]);
+ state->sp = reinterpret_cast<void*>(mcontext.__gregs[_REG_SP]);
+ state->fp = reinterpret_cast<void*>(mcontext.__gregs[_REG_FP]);
@@ -147,9 +141,9 @@ https://github.com/yao-pkg/pkg-fetch/raw/refs/tags/v3.5.23/patches/node.v22.15.1
+ #endif // V8_HOST_ARCH_*
+ #elif V8_OS_NETBSD
+ #if V8_HOST_ARCH_IA32
-+--- node/node.gypi.orig 2023-05-16 06:58:21 UTC
-++++ node/node.gypi
-+@@ -370,6 +370,9 @@
++--- node.gypi.orig 2023-05-16 06:58:21 UTC
+++++ node.gypi
++@@ -349,6 +349,9 @@
+ [ 'node_use_openssl=="true"', {
+ 'defines': [ 'HAVE_OPENSSL=1' ],
+ 'conditions': [
@@ -159,6 +153,21 @@ https://github.com/yao-pkg/pkg-fetch/raw/refs/tags/v3.5.23/patches/node.v22.15.1
+ [ 'node_shared_openssl=="false"', {
+ 'defines': [ 'OPENSSL_API_COMPAT=0x10100000L', ],
+ 'dependencies': [
++--- node/src/crypto/crypto_util.cc.orig 2023-05-16 06:58:21 UTC
+++++ node/src/crypto/crypto_util.cc
++@@ -205,10 +205,12 @@ void InitCryptoOnce() {
++ // No-op with OPENSSL_NO_COMP builds of OpenSSL.
++ sk_SSL_COMP_zero(SSL_COMP_get_compression_methods());
++
+++#if OPENSSL_VERSION_MAJOR < 3
++ #ifndef OPENSSL_NO_ENGINE
++ ERR_load_ENGINE_strings();
++ ENGINE_load_builtin_engines();
++ #endif // !OPENSSL_NO_ENGINE
+++#endif
++ }
++
++ void GetFipsCrypto(const FunctionCallbackInfo<Value>& args) {
+--- node/src/cares_wrap.h.orig 2023-05-16 06:58:21 UTC
++++ node/src/cares_wrap.h
+@@ -23,7 +23,7 @@
@@ -172,7 +181,7 @@ https://github.com/yao-pkg/pkg-fetch/raw/refs/tags/v3.5.23/patches/node.v22.15.1
+ namespace cares_wrap {
+--- node/tools/v8_gypfiles/v8.gyp.orig 2023-05-16 06:58:22 UTC
++++ node/tools/v8_gypfiles/v8.gyp
-+@@ -1290,7 +1290,7 @@
++@@ -1091,7 +1091,7 @@
+ }],
+ # Platforms that don't have Compare-And-Swap (CAS) support need to link atomic library
+ # to implement atomic memory access
diff --git a/www/onlyoffice-documentserver/files/package-lock.json b/www/onlyoffice-documentserver/files/package-lock.json
index f4988919782e..59035f286384 100644
--- a/www/onlyoffice-documentserver/files/package-lock.json
+++ b/www/onlyoffice-documentserver/files/package-lock.json
@@ -5,7 +5,7 @@
"packages": {
"": {
"dependencies": {
- "@yao-pkg/pkg": "^6.4.0"
+ "@yao-pkg/pkg": "^6.6.0"
}
},
"node_modules/@babel/generator": {
@@ -118,15 +118,15 @@
}
},
"node_modules/@yao-pkg/pkg": {
- "version": "6.4.0",
- "resolved": "https://registry.npmjs.org/@yao-pkg/pkg/-/pkg-6.4.0.tgz",
- "integrity": "sha512-UxH+FoqEtf+g+cw4VWtaj1bsQpP1RGxZruAKI/7a34eZ+aVew1hIcpn0YZ+T9QP1130MkZ+2JHLp5AFVnJeqHA==",
+ "version": "6.6.0",
+ "resolved": "https://registry.npmjs.org/@yao-pkg/pkg/-/pkg-6.6.0.tgz",
+ "integrity": "sha512-3/oiaSm7fS0Fc7dzp22r9B7vFaguGhO9vERgEReRYj2EUzdi5ssyYhe1uYJG4ec/dmo2GG6RRHOUAT8savl79Q==",
"license": "MIT",
"dependencies": {
"@babel/generator": "^7.23.0",
"@babel/parser": "^7.23.0",
"@babel/types": "^7.23.0",
- "@yao-pkg/pkg-fetch": "3.5.21",
+ "@yao-pkg/pkg-fetch": "3.5.24",
"into-stream": "^6.0.0",
"minimist": "^1.2.6",
"multistream": "^4.1.0",
@@ -147,9 +147,9 @@
}
},
"node_modules/@yao-pkg/pkg-fetch": {
- "version": "3.5.21",
- "resolved": "https://registry.npmjs.org/@yao-pkg/pkg-fetch/-/pkg-fetch-3.5.21.tgz",
- "integrity": "sha512-nlJ+rXersw70CQVSph7OfIN8lN6nCStjU7koXzh0WXiPvztZGqkoQTScHQCe1K8/tuKpeL0bEOYW0rP4QqMJ9A==",
+ "version": "3.5.24",
+ "resolved": "https://registry.npmjs.org/@yao-pkg/pkg-fetch/-/pkg-fetch-3.5.24.tgz",
+ "integrity": "sha512-FPESCH1uXCYui6jeDp2aayWuFHR39w+uU1r88nI6JWRvPYOU64cHPUV/p6GSFoQdpna7ip92HnrZKbBC60l0gA==",
"license": "MIT",
"dependencies": {
"https-proxy-agent": "^5.0.0",
@@ -311,9 +311,9 @@
"integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ=="
},
"node_modules/debug": {
- "version": "4.4.0",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz",
- "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==",
+ "version": "4.4.1",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz",
+ "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==",
"license": "MIT",
"dependencies": {
"ms": "^2.1.3"
diff --git a/www/onlyoffice-documentserver/files/package.json b/www/onlyoffice-documentserver/files/package.json
index f32c836b4201..9251e320859a 100644
--- a/www/onlyoffice-documentserver/files/package.json
+++ b/www/onlyoffice-documentserver/files/package.json
@@ -1,5 +1,5 @@
{
"dependencies": {
- "@yao-pkg/pkg": "^6.4.0"
+ "@yao-pkg/pkg": "^6.6.0"
}
}
diff --git a/www/onlyoffice-documentserver/files/patch-build__tools_scripts_build__server.py b/www/onlyoffice-documentserver/files/patch-build__tools_scripts_build__server.py
index dca362869251..74dddee61746 100644
--- a/www/onlyoffice-documentserver/files/patch-build__tools_scripts_build__server.py
+++ b/www/onlyoffice-documentserver/files/patch-build__tools_scripts_build__server.py
@@ -1,11 +1,8 @@
---- build_tools/scripts/build_server.py.orig 2025-02-19 17:34:37 UTC
+--- build_tools/scripts/build_server.py.orig 2025-06-11 12:56:35 UTC
+++ build_tools/scripts/build_server.py
-@@ -38,8 +38,12 @@ def make():
- if(base.is_exist(custom_public_key)):
- base.copy_file(custom_public_key, server_dir + '/Common/sources')
-
-- pkg_target = "node16"
-+ pkg_target = "node22"
+@@ -41,6 +41,10 @@ def make():
+ #node22 packaging has issue https://github.com/yao-pkg/pkg/issues/87
+ pkg_target = "node20"
+ if ("freebsd" == base.host_platform()):
+ pkg_target += "-freebsd"
@@ -14,7 +11,7 @@
if ("linux" == base.host_platform()):
pkg_target += "-linux"
if (-1 != config.option("platform").find("linux_arm64")):
-@@ -48,14 +52,15 @@ def make():
+@@ -49,14 +53,15 @@ def make():
if ("windows" == base.host_platform()):
pkg_target += "-win"
diff --git a/www/onlyoffice-documentserver/files/patch-build__tools_scripts_core__common_make__common.py b/www/onlyoffice-documentserver/files/patch-build__tools_scripts_core__common_make__common.py
index b01a4c04efbb..c1fbe9c44b38 100644
--- a/www/onlyoffice-documentserver/files/patch-build__tools_scripts_core__common_make__common.py
+++ b/www/onlyoffice-documentserver/files/patch-build__tools_scripts_core__common_make__common.py
@@ -1,6 +1,6 @@
---- build_tools/scripts/core_common/make_common.py.orig 2021-11-16 07:07:24 UTC
+--- build_tools/scripts/core_common/make_common.py.orig 2025-06-11 12:56:35 UTC
+++ build_tools/scripts/core_common/make_common.py
-@@ -8,20 +8,20 @@ import glob
+@@ -8,21 +8,21 @@ import config
import base
import glob
@@ -17,6 +17,7 @@
import v8
import html2
import iwork
+ import md
-import hunspell
+#import hunspell
import glew
@@ -28,7 +29,7 @@
import libvlc
def check_android_ndk_macos_arm(dir):
-@@ -37,18 +37,18 @@ def make():
+@@ -38,19 +38,19 @@ def make():
if base.is_dir(toolchain):
check_android_ndk_macos_arm(toolchain + "/prebuilt")
@@ -43,6 +44,7 @@
v8.make()
html2.make()
iwork.make(False)
+ md.make()
- hunspell.make(False)
- harfbuzz.make()
+# hunspell.make(False)
diff --git a/www/onlyoffice-documentserver/files/patch-build__tools_scripts_core__common_modules_html2.py b/www/onlyoffice-documentserver/files/patch-build__tools_scripts_core__common_modules_html2.py
index df8c9dc3c87b..f7392a57031b 100644
--- a/www/onlyoffice-documentserver/files/patch-build__tools_scripts_core__common_modules_html2.py
+++ b/www/onlyoffice-documentserver/files/patch-build__tools_scripts_core__common_modules_html2.py
@@ -5,7 +5,7 @@
old_cur_dir = os.getcwd()
- print("[fetch]: html")
-+ print("[path & build]: html")
++ print("[patch & build]: html")
base_dir = base.get_script_dir() + "/../../core/Common/3dParty/html"
diff --git a/www/onlyoffice-documentserver/files/patch-core_Apple_StringDocumentHandler.hxx b/www/onlyoffice-documentserver/files/patch-core_Apple_StringDocumentHandler.hxx
index 2ba2e7398244..0d72b10783f3 100644
--- a/www/onlyoffice-documentserver/files/patch-core_Apple_StringDocumentHandler.hxx
+++ b/www/onlyoffice-documentserver/files/patch-core_Apple_StringDocumentHandler.hxx
@@ -1,6 +1,6 @@
---- core/Apple/StringDocumentHandler.hxx.orig 2025-03-08 17:38:58.104116000 +0100
-+++ core/Apple/StringDocumentHandler.hxx 2025-03-08 16:45:03.144938000 +0100
-@@ -0,0 +1,51 @@
+--- core/Apple/StringDocumentHandler.hxx.orig 2025-07-21 00:30:34.163412000 +0000
++++ core/Apple/StringDocumentHandler.hxx 2025-07-21 03:02:42.802399000 +0000
+@@ -0,0 +1,154 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */
+/* writerperfect
+ * Version: MPL 2.0 / LGPLv2.1+
@@ -52,3 +52,106 @@
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 noexpandtab: */
++/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */
++/* writerperfect
++ * Version: MPL 2.0 / LGPLv2.1+
++ *
++ * This Source Code Form is subject to the terms of the Mozilla Public
++ * License, v. 2.0. If a copy of the MPL was not distributed with this
++ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
++ *
++ * Major Contributor(s):
++ * Copyright (C) 2002-2004 William Lachance (wrlach@gmail.com)
++ * Copyright (C) 2004-2006 Fridrich Strba (fridrich.strba@bluewin.ch)
++ *
++ * For minor contributions see the git repository.
++ *
++ * Alternatively, the contents of this file may be used under the terms
++ * of the GNU Lesser General Public License Version 2.1 or later
++ * (LGPLv2.1+), in which case the provisions of the LGPLv2.1+ are
++ * applicable instead of those above.
++ *
++ * For further information visit http://libwpd.sourceforge.net
++ */
++
++#include <string.h>
++
++
++StringDocumentHandler::StringDocumentHandler() : m_data(""), m_isTagOpened(false), m_openedTagName("")
++{
++ m_data.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n");
++}
++
++void StringDocumentHandler::endDocument()
++{
++ if (!m_isTagOpened) return;
++ m_data.append(">");
++ m_isTagOpened = false;
++}
++
++void StringDocumentHandler::startElement(const char *psName, const librevenge::RVNGPropertyList &xPropList)
++{
++ if (m_isTagOpened)
++ {
++ m_data.append(">");
++ m_isTagOpened = false;
++ }
++ m_data.append("<");
++ m_data.append(psName);
++ librevenge::RVNGPropertyList::Iter i(xPropList);
++ for (i.rewind(); i.next();)
++ {
++ // filter out librevenge elements
++ if (!strncmp(i.key(), "librevenge:", 11)) continue;
++
++ m_data.append(" ");
++ m_data.append(i.key());
++ m_data.append("=\"");
++ if (i()->getStr().len()>0)
++ m_data.append(i()->getStr().cstr());
++ m_data.append("\"");
++ }
++ m_isTagOpened = true;
++ m_openedTagName.sprintf("%s", psName);
++}
++void StringDocumentHandler::endElement(const char *psName)
++{
++ if (m_isTagOpened)
++ {
++ if (m_openedTagName == psName)
++ {
++ m_data.append("/>");
++ m_isTagOpened = false;
++ }
++ else // should not happen, but handle it
++ {
++ m_data.append(">");
++ m_data.append("</");
++ m_data.append(psName);
++ m_data.append(">");
++ m_isTagOpened = false;
++ }
++ }
++ else
++ {
++ m_data.append("</");
++ m_data.append(psName);
++ m_data.append(">");
++ m_isTagOpened = false;
++ }
++}
++
++void StringDocumentHandler::characters(const librevenge::RVNGString &sCharacters)
++{
++ if (m_isTagOpened)
++ {
++ m_data.append(">");
++ m_isTagOpened = false;
++ }
++ librevenge::RVNGString sEscapedCharacters;
++ sEscapedCharacters.appendEscapedXML(sCharacters);
++ if (sEscapedCharacters.len() > 0)
++ m_data.append(sEscapedCharacters.cstr());
++}
++
++/* vim:set shiftwidth=4 softtabstop=4 noexpandtab: */
diff --git a/www/onlyoffice-documentserver/files/patch-core_Common_3dParty_html_fetch.py b/www/onlyoffice-documentserver/files/patch-core_Common_3dParty_html_fetch.py
index 6cc05be7d649..bc0ee48515bc 100644
--- a/www/onlyoffice-documentserver/files/patch-core_Common_3dParty_html_fetch.py
+++ b/www/onlyoffice-documentserver/files/patch-core_Common_3dParty_html_fetch.py
@@ -14,9 +14,10 @@
# fix gumbo
base.replaceInFile(base_directory + "/gumbo-parser/src/tag.c", "isspace(*c)", "isspace((unsigned char)*c)")
- if not base.is_dir("katana-parser"):
+-if not base.is_dir("katana-parser"):
- base.cmd("git", ["clone", "https://github.com/jasenhuang/katana-parser.git"])
- base.cmd_in_dir("katana-parser", "git", ["checkout", "be6df458d4540eee375c513958dcb862a391cdd1"])
++if base.is_dir("katana-parser"):
+# base.cmd("git", ["clone", "https://github.com/jasenhuang/katana-parser.git"])
+# base.cmd_in_dir("katana-parser", "git", ["checkout", "be6df458d4540eee375c513958dcb862a391cdd1"])
diff --git a/www/onlyoffice-documentserver/files/patch-core_Common_3dParty_v8_v8_src_base_macros.h b/www/onlyoffice-documentserver/files/patch-core_Common_3dParty_v8_v8_src_base_macros.h
new file mode 100644
index 000000000000..156b89cc28f9
--- /dev/null
+++ b/www/onlyoffice-documentserver/files/patch-core_Common_3dParty_v8_v8_src_base_macros.h
@@ -0,0 +1,12 @@
+--- core/Common/3dParty/v8_89/v8/src/base/macros.h.orig 2021-04-12 21:00:33.000000000 +0000
++++ core/Common/3dParty/v8_89/v8/src/base/macros.h 2025-06-20 09:42:18.838769000 +0000
+@@ -203,7 +203,8 @@
+ // base::is_trivially_copyable will differ for these cases.
+ template <typename T>
+ struct is_trivially_copyable {
+-#if V8_CC_MSVC
++#if V8_CC_MSVC || (__GNUC__ == 12 && __GNUC_MINOR__ <= 2) || \
++ (defined(__clang__) && __clang_major__ <= 17)
+ // Unfortunately, MSVC 2015 is broken in that std::is_trivially_copyable can
+ // be false even though it should be true according to the standard.
+ // (status at 2018-02-26, observed on the msvc waterfall bot).
diff --git a/www/onlyoffice-documentserver/files/patch-core_OfficeUtils_src_zlib-1.2.11_gzguts.h b/www/onlyoffice-documentserver/files/patch-core_OfficeUtils_src_zlib-1.2.11_gzguts.h
new file mode 100644
index 000000000000..89f4e678060d
--- /dev/null
+++ b/www/onlyoffice-documentserver/files/patch-core_OfficeUtils_src_zlib-1.2.11_gzguts.h
@@ -0,0 +1,12 @@
+--- core/OfficeUtils/src/zlib-1.2.11/gzguts.h.orig 2025-04-16 08:37:24.000000000 +0000
++++ core/OfficeUtils/src/zlib-1.2.11/gzguts.h 2025-06-19 20:31:01.755367000 +0000
+@@ -33,6 +33,8 @@
+
+ #ifdef _WIN32
+ # include <stddef.h>
++#else
++# include <unistd.h>
+ #endif
+
+ #if defined(__TURBOC__) || defined(_MSC_VER) || defined(_WIN32)
+
diff --git a/www/onlyoffice-documentserver/files/patch-core_PdfFile_PdfEditor.cpp b/www/onlyoffice-documentserver/files/patch-core_PdfFile_PdfEditor.cpp
new file mode 100644
index 000000000000..9af6739ab2af
--- /dev/null
+++ b/www/onlyoffice-documentserver/files/patch-core_PdfFile_PdfEditor.cpp
@@ -0,0 +1,11 @@
+--- core/PdfFile/PdfEditor.cpp.orig 2025-06-17 15:35:44 UTC
++++ core/PdfFile/PdfEditor.cpp
+@@ -1391,7 +1391,7 @@ bool CPdfEditor::EditPage(int _nPageIndex, bool bSet,
+ PDFDoc* pPDFDocument = NULL;
+ int nPageIndex = m_pReader->GetPageIndex(_nPageIndex, &pPDFDocument);
+ if (nPageIndex < 0 || !pPDFDocument)
+- return NULL;
++ return 0;
+
+ PdfWriter::CDocument* pDoc = m_pWriter->GetDocument();
+ if (!pPDFDocument || !pDoc)
diff --git a/www/onlyoffice-documentserver/files/patch-document-server-package_Makefile b/www/onlyoffice-documentserver/files/patch-document-server-package_Makefile
index 3fd4ffe840fe..ba4ae3c069d7 100644
--- a/www/onlyoffice-documentserver/files/patch-document-server-package_Makefile
+++ b/www/onlyoffice-documentserver/files/patch-document-server-package_Makefile
@@ -26,7 +26,7 @@
+ DS_FILES := /var/db/$(DS_PREFIX)
+ DS_EXAMLE := %%LOCALBASE%%/www/$(DS_PREFIX)-example
+ DEV_NULL := /dev/null
-+ PKG_TARGET := node22
++ PKG_TARGET := node20
+ endif
ifeq ($(UNAME_S),Linux)
PLATFORM := linux
diff --git a/www/onlyoffice-documentserver/files/patch-document-server-package_common_documentserver_bin_documentserver-update-securelink.sh.m4 b/www/onlyoffice-documentserver/files/patch-document-server-package_common_documentserver_bin_documentserver-update-securelink.sh.m4
index c6b60908149a..6d40dfa72b4c 100644
--- a/www/onlyoffice-documentserver/files/patch-document-server-package_common_documentserver_bin_documentserver-update-securelink.sh.m4
+++ b/www/onlyoffice-documentserver/files/patch-document-server-package_common_documentserver_bin_documentserver-update-securelink.sh.m4
@@ -46,7 +46,8 @@
+LOCAL_CONF=%%LOCALBASE%%/etc/M4_DS_PREFIX/local.json
+JSON="%%LOCALBASE%%/www/M4_DS_PREFIX/npm/json -q -f ${LOCAL_CONF}"
- SECURE_LINK_SECRET=${SECURE_LINK_SECRET:-$(pwgen -s 20)}
+-SECURE_LINK_SECRET=${SECURE_LINK_SECRET:-$(tr -dc A-Za-z0-9 </dev/urandom | head -c 20)}
++SECURE_LINK_SECRET=${SECURE_LINK_SECRET:-$(pwgen -s 20)}
-sed "s,\(set \+\$secure_link_secret\).*,\1 "${SECURE_LINK_SECRET}";," -i ${NGINX_CONF}
-${JSON} -I -e 'this.storage={fs: {secretString: "'${SECURE_LINK_SECRET}'" }}' && chown ds:ds $LOCAL_CONF
diff --git a/www/onlyoffice-documentserver/files/patch-document-server-package_common_documentserver_nginx_includes_ds-mime.types.conf b/www/onlyoffice-documentserver/files/patch-document-server-package_common_documentserver_nginx_includes_ds-mime.types.conf
index c8a9eedfa80e..6386c904077e 100644
--- a/www/onlyoffice-documentserver/files/patch-document-server-package_common_documentserver_nginx_includes_ds-mime.types.conf
+++ b/www/onlyoffice-documentserver/files/patch-document-server-package_common_documentserver_nginx_includes_ds-mime.types.conf
@@ -1,8 +1,9 @@
https://raw.githubusercontent.com/nginx/nginx/master/conf/mime.types
++ IWork filetypes
--- document-server-package/common/documentserver/nginx/includes/ds-mime.types.conf.orig 2022-05-15 11:09:53.906141000 +0200
+++ document-server-package/common/documentserver/nginx/includes/ds-mime.types.conf 2022-05-15 11:10:02.802873000 +0200
-@@ -0,0 +1,99 @@
+@@ -0,0 +1,102 @@
+
+types {
+ text/html html htm shtml;
@@ -40,6 +41,9 @@ https://raw.githubusercontent.com/nginx/nginx/master/conf/mime.types
+ application/pdf pdf;
+ application/postscript ps eps ai;
+ application/rtf rtf;
++ application/vnd.apple.keynote key kth;
++ application/vnd.apple.pages pages template;
++ application/vnd.apple.numbers numbers nmbtemplate;
+ application/vnd.apple.mpegurl m3u8;
+ application/vnd.google-earth.kml+xml kml;
+ application/vnd.google-earth.kmz kmz;
diff --git a/www/onlyoffice-documentserver/files/patch-server_Common_package.json b/www/onlyoffice-documentserver/files/patch-server_Common_package.json
deleted file mode 100644
index 33895354240a..000000000000
--- a/www/onlyoffice-documentserver/files/patch-server_Common_package.json
+++ /dev/null
@@ -1,11 +0,0 @@
---- server/Common/package.json.orig 2025-04-08 14:57:41 UTC
-+++ server/Common/package.json
-@@ -7,7 +7,7 @@
- "@aws-sdk/client-s3": "3.637.0",
- "@aws-sdk/node-http-handler": "3.374.0",
- "@aws-sdk/s3-request-presigner": "3.370.0",
-- "amqplib": "0.8.0",
-+ "amqplib": "0.10.7",
- "co": "4.6.0",
- "config": "2.0.1",
- "content-disposition": "0.5.3",
diff --git a/www/onlyoffice-documentserver/files/patch-server_FileConverter_package.json b/www/onlyoffice-documentserver/files/patch-server_FileConverter_package.json
deleted file mode 100644
index 8fce54082464..000000000000
--- a/www/onlyoffice-documentserver/files/patch-server_FileConverter_package.json
+++ /dev/null
@@ -1,12 +0,0 @@
---- server/FileConverter/package.json.orig 2024-03-16 10:12:52.171482000 +0100
-+++ server/FileConverter/package.json 2024-03-16 10:13:07.708291000 +0100
-@@ -9,7 +9,8 @@
- "bytes": "3.0.0",
- "co": "4.6.0",
- "config": "2.0.1",
-- "lcid": "3.1.1"
-+ "lcid": "3.1.1",
-+ "ms": "2.1.1"
- },
- "pkg": {
- "scripts": [
diff --git a/www/onlyoffice-documentserver/files/patch-server_package.json b/www/onlyoffice-documentserver/files/patch-server_package.json
index 984b76c3bcb0..d1a485701de7 100644
--- a/www/onlyoffice-documentserver/files/patch-server_package.json
+++ b/www/onlyoffice-documentserver/files/patch-server_package.json
@@ -1,38 +1,18 @@
---- server/package.json.orig 2024-01-30 12:30:03.000000000 +0100
-+++ server/package.json 2024-03-01 10:57:21.937036000 +0100
-@@ -9,7 +9,7 @@
- "expand": true,
- "src": [
- "./**/sources/*.js",
-- "./Common/package.json",
-+ "./Common/*.json",
- "./DocService/package.json",
- "./DocService/public/healthcheck.docx",
- "./FileConverter/package.json",
-@@ -34,6 +34,7 @@
- "mkdir": {
- "server": {
- "options": {
-+ "mode": "0755",
- "create": [
- "./build/server"
- ]
-@@ -54,9 +55,10 @@
- "./build/server/Metrics"
- ],
+--- server/package.json.orig 2025-06-16 18:22:18 UTC
++++ server/package.json
+@@ -4,6 +4,8 @@
+ "homepage": "https://www.onlyoffice.com",
+ "private": true,
"dependencies": {
-- "grunt": "1.5.3",
+ "grunt": "^1.6.1",
- "grunt-banner": "0.6.0",
- "grunt-check-dependencies": "1.0.0",
+ "grunt-cli": "^1.5.0",
- "grunt-contrib-clean": "2.0.0",
- "grunt-contrib-copy": "1.0.0",
- "grunt-mkdir": "1.1.0",
-@@ -78,10 +80,10 @@
- "integration tests with server instance": "cd ./DocService && jest integration/withServerInstance --inject-globals=false --config=../tests/jest.config.js",
+ "license-downloader": "1.0.8",
+ "license-report": "6.5.0",
+ "npm-run-all": "4.1.5"
+@@ -25,10 +25,10 @@
"integration database tests": "cd ./DocService && jest integration/databaseTests --inject-globals=false --config=../tests/jest.config.js",
"tests": "cd ./DocService && jest --inject-globals=false --config=../tests/jest.config.js",
+ "tests:dev": "cd ./DocService && jest --inject-globals=false --config=../tests/jest.config.js --watch",
- "install:Common": "npm ci --prefix ./Common",
- "install:DocService": "npm ci --prefix ./DocService",
- "install:FileConverter": "npm ci --prefix ./FileConverter",
diff --git a/www/onlyoffice-documentserver/files/patch-web-apps_build_package.json b/www/onlyoffice-documentserver/files/patch-web-apps_build_package.json
index 1c5a7729a173..a29bc7311c2d 100644
--- a/www/onlyoffice-documentserver/files/patch-web-apps_build_package.json
+++ b/www/onlyoffice-documentserver/files/patch-web-apps_build_package.json
@@ -1,5 +1,14 @@
---- web-apps/build/package.json.orig 2025-02-24 09:04:41 UTC
+--- web-apps/build/package.json.orig 2025-06-18 20:13:18 UTC
+++ web-apps/build/package.json
+@@ -29,6 +29,8 @@
+ "iconv-lite": "^0.6.3",
+ "less-plugin-clean-css": "1.5.1",
+ "lodash": "^4.17.21",
++ "optipng-bin": "^5.1.0",
++ "patch-package": "^8.0.0",
+ "terser": "^5.20.0",
+ "vinyl-fs": "^4.0.0"
+ },
@@ -44,8 +46,9 @@
}
},