diff options
Diffstat (limited to 'www/onlyoffice-documentserver')
47 files changed, 657 insertions, 1253 deletions
diff --git a/www/onlyoffice-documentserver/Makefile b/www/onlyoffice-documentserver/Makefile index d887e2e9f95f..a41f0027e3d5 100644 --- a/www/onlyoffice-documentserver/Makefile +++ b/www/onlyoffice-documentserver/Makefile @@ -1,12 +1,12 @@ PORTNAME= onlyoffice-documentserver DISTVERSIONPREFIX= v -DISTVERSION= 9.0.2.16 +DISTVERSION= 9.0.4 CATEGORIES= www MASTER_SITES+= LOCAL/mikael/v8/:source1 \ - https://nodejs.org/dist/v${NODE_VERSION_PKGFETCH}/:source3 \ + https://nodejs.org/dist/v${PKGFETCH_NODE_VERSION}/:source3 \ SF/optipng/OptiPNG/optipng-0.7.8/:source4 DISTFILES+= v8-8.9.255.25_all.tar.gz:source1 \ - node-v${NODE_VERSION_PKGFETCH}.tar.gz:source3 \ + node-v${PKGFETCH_NODE_VERSION}.tar.gz:source3 \ optipng-0.7.8.tar.gz:source4 MAINTAINER= fsbruva@yahoo.com @@ -16,7 +16,13 @@ WWW= https://www.onlyoffice.com/ LICENSE= AGPLv3 LICENSE_FILE= ${WRKSRC}/LICENSE.txt -BROKEN_i386= fails to build +ONLY_FOR_ARCHS= aarch64 amd64 +ONLY_FOR_ARCHS_REASON= "Upstream only supports amd64 and arm64" + +# node version used with "npm install @yao-pkg/pkg@6.6.0" +# keep in sync with patch-build__tools_scripts_build__server.py and patch-document-server-package_Makefile +PKGFETCH_NODE_VERSION= 20.19.4 +DS_BUILD= 50 BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}Jinja2>=0:devel/py-Jinja2@${PY_FLAVOR} \ boost-libs>0:devel/boost-libs \ @@ -24,16 +30,17 @@ BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}Jinja2>=0:devel/py-Jinja2@${PY_FLAVOR} \ gn:devel/gn \ java:java/openjdk11 \ ninja:devel/ninja \ - npm:www/npm-node20 \ - ${LOCALBASE}/lib/libcrypto.a:security/openssl + npm:www/npm-node20 + LIB_DEPENDS= libboost_regex.so:devel/boost-libs \ libetonyek-0.1.so:graphics/libetonyek01 \ libcurl.so:ftp/curl \ libharfbuzz.so:print/harfbuzz \ libiconv.so:converters/libiconv \ - libicutu.so:devel/icu \ + libicuuc.so:devel/icu \ libodfgen-0.1.so:textproc/libodfgen01 \ librevenge-0.0.so:textproc/librevenge + RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}supervisor>0:sysutils/py-supervisor@${PY_FLAVOR} \ ${LOCALBASE}/share/certs/ca-root-nss.crt:security/ca_root_nss \ gsed:textproc/gsed \ @@ -42,55 +49,60 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}supervisor>0:sysutils/py-supervisor@${PY_FLA rabbitmq>0:net/rabbitmq \ webfonts>=0:x11-fonts/webfonts -USES= autoreconf:build dos2unix fakeroot gmake gnome iconv localbase nodejs:22,build pkgconfig \ - python:3.9+,build qt:5 trigger -USE_QT= qmake:build +USES= autoreconf:build dos2unix fakeroot gmake gnome iconv localbase pkgconfig \ + python:3.9+,build qt:5 ssl:build trigger + +DOS2UNIX_FILES= document-server-package/common/documentserver/nginx/includes/http-common.conf.m4 + USE_GITHUB= yes GH_ACCOUNT= ONLYOFFICE GH_PROJECT= DocumentServer -GH_TAGNAME= v${DISTVERSION:C/^([0-9]+\.[0-9]+\.[0-9]+).*/\1/} -GH_TUPLE= ONLYOFFICE:core:v${DISTVERSION}:core/core \ - ONLYOFFICE:core-fonts:v${DISTVERSION}:corefonts/core-fonts \ - ONLYOFFICE:dictionaries:v${DISTVERSION}:dictionaries/dictionaries \ - ONLYOFFICE:document-server-integration:v${DISTVERSION}:dsi/document-server-integration \ - ONLYOFFICE:document-templates:v${DISTVERSION}:dt/document-templates \ - ONLYOFFICE:sdkjs:v${DISTVERSION}:sdkjs/sdkjs \ - ONLYOFFICE:server:v${DISTVERSION}:server/server \ - ONLYOFFICE:web-apps:v${DISTVERSION}:webapps/web-apps \ - ONLYOFFICE:build_tools:v${DISTVERSION}:buildtools/build_tools \ +DS_TAGNAME= ${DISTVERSIONPREFIX}${DISTVERSION}.${DS_BUILD} +GH_TUPLE= ONLYOFFICE:core:${DS_TAGNAME}:core/core \ + ONLYOFFICE:core-fonts:${DS_TAGNAME}:corefonts/core-fonts \ + ONLYOFFICE:dictionaries:${DS_TAGNAME}:dictionaries/dictionaries \ + ONLYOFFICE:document-server-integration:${DS_TAGNAME}:dsi/document-server-integration \ + ONLYOFFICE:document-templates:${DS_TAGNAME}:dt/document-templates \ + ONLYOFFICE:sdkjs:${DS_TAGNAME}:sdkjs/sdkjs \ + ONLYOFFICE:server:${DS_TAGNAME}:server/server \ + ONLYOFFICE:web-apps:${DS_TAGNAME}:webapps/web-apps \ + ONLYOFFICE:build_tools:${DS_TAGNAME}:buildtools/build_tools \ ONLYOFFICE:DocumentBuilder:626d1e44db3d06ceb8298215a67ef0475912d89a:document_builder/DocumentBuilder \ ONLYOFFICE:onlyoffice.github.io:b26d001664d771df4f663d2d3ba7dd4a188b6cab:sdkjs_plugins_v1/onlyoffice.github.io \ - ONLYOFFICE:document-server-package:v${DISTVERSION}:dsp/document-server-package \ + ONLYOFFICE:document-server-package:${DS_TAGNAME}:dsp/document-server-package \ jasenhuang:katana-parser:be6df45:jasenhuang_katana/core/Common/3dParty/html/katana-parser \ google:gumbo-parser:aa91b27:google_gumbo/core/Common/3dParty/html/gumbo-parser \ + google:brotli:a47d747:google_brotli/core/Common/3dParty/brotli/brotli \ hunspell:hyphen:73dd296:hunspell_hyphen/core/Common/3dParty/hyphen/hyphen \ mity:md4c:481fbfb:mity_md4c/core/Common/3dParty/md/md4c \ - fsbruva:onlyoffice-DS-pkg-cache:v${NODE_VERSION_PKGFETCH}:pkg_cache/ \ - fsbruva:onlyoffice-DS-npm-cache:v${DISTVERSION}-20250701:npm_cache/ + fsbruva:onlyoffice-DS-pkg-cache:v${PKGFETCH_NODE_VERSION}:pkg_cache/ \ + fsbruva:onlyoffice-DS-npm-cache:${DS_TAGNAME}-20250831:npm_cache/ -OPTIONS_SINGLE= DB -OPTIONS_SINGLE_DB= MYSQL PGSQL -OPTIONS_DEFAULT= PGSQL +USE_LDCONFIG= yes +USE_QT= qmake:build -MYSQL_USES+= mysql:client -PGSQL_USES+= pgsql -PGSQL_VARS= WANT_PGSQL=client +MAKE_ENV= BUILD_NUMBER=${DS_BUILD} \ + npm_package_config_node_gyp_nodedir=${LOCALBASE} \ + npm_package_config_node_gyp_python=${PYTHON_CMD} \ + PKG_CACHE_PATH=${WRKDIR}/.pkg-cache \ + PRODUCT_VERSION=${DISTVERSION} \ + PYTHON=${PYTHON_CMD} -BINARY_ALIAS= python=${PYTHON_CMD} \ - strip=true -USE_LDCONFIG= yes +# Don't create __pycache__ directory when executing node-gyp +# This is a workaround to avoid filesystem violations during poudriere build +MAKE_ENV+= PYTHONDONTWRITEBYTECODE=1 -WWWDIR= ${PREFIX}/www/onlyoffice -ETCDIR= ${PREFIX}/etc/onlyoffice +CONFLICTS_BUILD= devel/googletest -DS_USERNAME= onlyoffice -DS_GROUPNAME= onlyoffice +# do not strip docservice, converter, metrics and json +STRIP= -USERS= ${DS_USERNAME} -GROUPS= ${DS_GROUPNAME} +ETCDIR= ${PREFIX}/etc/onlyoffice +WWWDIR= ${PREFIX}/www/onlyoffice + +BINARY_ALIAS= python=${PYTHON_CMD} \ + strip=true -PLIST_SUB= DS_GROUPNAME=${DS_GROUPNAME} \ - DS_USERNAME=${DS_USERNAME} SUB_FILES= pkg-message \ onlyoffice.newsyslog.sample SUB_LIST= DS_GROUPNAME=${DS_GROUPNAME} \ @@ -99,32 +111,32 @@ SUB_LIST= DS_GROUPNAME=${DS_GROUPNAME} \ PREFIX=${PREFIX} \ WWWDIR=${WWWDIR} -# node version used with "npm install @yao-pkg/pkg@6.5.1" -# keep in sync with patch-build__tools_scripts_build__server.py and patch-document-server-package_Makefile -NODE_VERSION_PKGFETCH= 20.19.1 +DS_USERNAME= onlyoffice +DS_GROUPNAME= onlyoffice -MAKE_ENV= BUILD_NUMBER="36" \ - PKG_CACHE_PATH=${WRKDIR}/.pkg-cache \ - PRODUCT_VERSION=${DISTVERSION:C/^([0-9]+\.[0-9]+\.[0-9]+).*/\1/} \ - BUILD_NUMBER=${DISTVERSION:C/^[0-9]+\.[0-9]+\.[0-9]+\.([0-9]+)/\1/} +USERS= ${DS_USERNAME} +GROUPS= ${DS_GROUPNAME} -# Don't create __pycache__ directory when executing node-gyp -# This is a workaround to avoid filesystem violations during poudriere build -MAKE_ENV+= PYTHONDONTWRITEBYTECODE=1 +PLIST_SUB= DS_GROUPNAME=${DS_GROUPNAME} \ + DS_USERNAME=${DS_USERNAME} -DOS2UNIX_FILES= document-server-package/common/documentserver/nginx/includes/http-common.conf.m4 +OPTIONS_DEFAULT= PGSQL +OPTIONS_SINGLE= DB +OPTIONS_SINGLE_DB= MYSQL PGSQL -CONFLICTS_BUILD=devel/googletest +MYSQL_USES+= mysql:client +PGSQL_USES+= pgsql +PGSQL_VARS= WANT_PGSQL=client .include <bsd.port.pre.mk> .if ${ARCH} == aarch64 BUILD_DEPENDS+= clang${LLVM_DEFAULT}:devel/llvm${LLVM_DEFAULT} -BINARY_ALIAS+= cpp=${LOCALBASE}/bin/clang-cpp${LLVM_DEFAULT} \ - cc=${LOCALBASE}/bin/clang${LLVM_DEFAULT} \ +BINARY_ALIAS+= ar=${LOCALBASE}/bin/llvm-ar${LLVM_DEFAULT} \ c++=${LOCALBASE}/bin/clang++${LLVM_DEFAULT} \ - ar=${LOCALBASE}/bin/llvm-ar${LLVM_DEFAULT} \ - nm=${LOCALBASE}/bin/llvm-nm${LLVM_DEFAULT} \ - ld=${LOCALBASE}/bin/ld.lld${LLVM_DEFAULT} + cc=${LOCALBASE}/bin/clang${LLVM_DEFAULT} \ + cpp=${LOCALBASE}/bin/clang-cpp${LLVM_DEFAULT} \ + ld=${LOCALBASE}/bin/ld.lld${LLVM_DEFAULT} \ + nm=${LOCALBASE}/bin/llvm-nm${LLVM_DEFAULT} .endif post-extract: @@ -132,7 +144,7 @@ post-extract: @${LN} -s ${WRKSRC_npm_cache} ${WRKDIR}/.npm @${LN} -s ${WRKSRC_pkg_cache} ${WRKDIR}/.pkg-cache - @${CP} ${DISTDIR}/node-v${NODE_VERSION_PKGFETCH}.tar.gz ${WRKDIR}/.pkg-cache/node + @${CP} ${DISTDIR}/node-v${PKGFETCH_NODE_VERSION}.tar.gz ${WRKDIR}/.pkg-cache/node @${MKDIR} ${WRKSRC}/sdkjs-plugins/v1 @${CP} ${WRKSRC}/onlyoffice.github.io/sdkjs-plugins/v1/* ${WRKSRC}/sdkjs-plugins/v1 @@ -147,7 +159,7 @@ post-extract: ${WRKSRC}/document-server-package/common/documentserver/supervisor .endfor -post-patch: +pre-configure: @${REINPLACE_CMD} 's|%%LOCALBASE%%|${LOCALBASE}|' \ ${WRKSRC}/build_tools/tools/freebsd/automate.py \ ${WRKSRC}/core/Apple/IWork.pro \ @@ -164,7 +176,8 @@ post-patch: ${WRKSRC}/document-server-package/common/documentserver/bin/documentserver-update-securelink.sh.m4 \ ${WRKSRC}/document-server-package/common/documentserver/supervisor/ds-converter.conf \ ${WRKSRC}/document-server-package/common/documentserver/supervisor/ds-docservice.conf \ - ${WRKSRC}/document-server-package/common/documentserver/supervisor/ds-metrics.conf + ${WRKSRC}/document-server-package/common/documentserver/supervisor/ds-metrics.conf \ + ${WRKSRC}/server/Metrics/patches/modern-syslog+1.2.0.patch @${REINPLACE_CMD} -e 's|%%CC%%|${CC}|' -e 's|%%CXX%%|${CXX}|' \ ${WRKSRC}/core/Common/3dParty/v8_89/v8/build/toolchain/gcc_toolchain.gni \ ${WRKSRC}/core/Common/base.pri @@ -174,6 +187,9 @@ post-patch: ${WRKSRC}/build_tools/scripts/build_js.py \ ${WRKSRC}/build_tools/scripts/build_server.py \ ${WRKSRC}/document-server-package/Makefile + @${REINPLACE_CMD} 's|%%PKGFETCH_NODE_MAJOR_VERSION%%|${PKGFETCH_NODE_VERSION:C/^([0-9]+)\..*/\1/}|' \ + ${WRKSRC}/build_tools/scripts/build_server.py \ + ${WRKSRC}/document-server-package/Makefile @${REINPLACE_CMD} -e 's|/var/lib|/var/db|' -e 's|/var/www|${LOCALBASE}/www|' \ -e 's|/usr/share|${LOCALBASE}/share|' -e 's|/etc|${LOCALBASE}/etc|' \ ${WRKSRC}/server/Common/config/production-freebsd.json \ @@ -184,6 +200,7 @@ post-patch: ${WRKSRC}/document-server-package/common/documentserver/bin/documentserver-flush-cache.sh.m4 \ ${WRKSRC}/document-server-package/Makefile @${RM} ${WRKSRC}/web-apps/build/patches/optipng-bin+5.1.0.patch.orig + @${RM} ${WRKSRC}/server/Metrics/patches/modern-syslog+1.2.0.patch.orig @${FIND} ${WRKSRC}/server -type f -name npm-shrinkwrap.json -delete @@ -202,15 +219,19 @@ do-build: @cd ${WRKSRC}/server ; ${SETENV} ${MAKE_ENV} npm install grunt-cli @cd ${WRKSRC}/server ; ${SETENV} ${MAKE_ENV} npm install grunt + @cd ${WRKSRC}/server/Metrics ; ${SETENV} ${MAKE_ENV} npm install modern-syslog@1.2.0 --ignore-scripts + @cd ${WRKSRC}/server/Metrics ; ${SETENV} ${MAKE_ENV} npm install patch-package + @cd ${WRKSRC}/server/Metrics ; node_modules/.bin/patch-package + @cd ${WRKSRC}/server/Metrics/node_modules/modern-syslog ; ${SETENV} ${MAKE_ENV} ${GMAKE} @cd ${WRKSRC}/sdkjs ; ${SETENV} ${MAKE_ENV} npm install grunt-cli @cd ${WRKSRC}/sdkjs ; ${SETENV} ${MAKE_ENV} npm install grunt @${MKDIR} ${WRKSRC}/yao-pkg @${CP} ${FILESDIR}/package* ${WRKSRC}/yao-pkg - @cd ${WRKSRC}/yao-pkg ; ${SETENV} ${MAKE_ENV} npm install @yao-pkg/pkg@6.5.1 + @cd ${WRKSRC}/yao-pkg ; ${SETENV} ${MAKE_ENV} npm install @yao-pkg/pkg@6.6.0 @cd ${WRKSRC} && ${PATCH} -N -s -i ${FILESDIR}/extra-patch-pkg-fetch_lib-es5_build.js || ${TRUE} - @cd ${WRKSRC} && ${PATCH} -N -s -i ${FILESDIR}/extra-patch-pkg-fetch_patches_node.v${NODE_VERSION_PKGFETCH}.cpp.patch || ${TRUE} + @cd ${WRKSRC} && ${PATCH} -N -s -i ${FILESDIR}/extra-patch-pkg-fetch_patches_node.v${PKGFETCH_NODE_VERSION}.cpp.patch || ${TRUE} cd ${WRKSRC}/build_tools/tools/freebsd ; ${SETENV} ${MAKE_ENV} ${PYTHON_CMD} automate.py cd ${WRKSRC}/document-server-package ; ${SETENV} ${MAKE_ENV} ${GMAKE} freebsd @@ -236,7 +257,9 @@ do-install: cd ${WRKSRC}/document-server-package/common/documentserver/supervisor && ${COPYTREE_SHARE} . ${STAGEDIR}${ETCDIR}/documentserver/supervisor "-name *\.conf" cd ${WRKSRC}/document-server-package/common/documentserver/logrotate && ${COPYTREE_SHARE} . ${STAGEDIR}${ETCDIR}/documentserver/logrotate "-name *\.conf" @${CP} ${WRKSRC}/document-server-package/common/documentserver/nginx/ds-ssl.conf.tmpl ${WRKSRC}/document-server-package/common/documentserver/nginx/ds-ssl.conf -.for f in ds.conf ds-ssl.conf includes/http-common.conf includes/ds-common.conf includes/ds-docservice.conf includes/ds-letsencrypt.conf includes/ds-mime.types.conf +.for f in ds.conf ds-ssl.conf includes/http-common.conf includes/ds-common.conf \ + includes/ds-docservice.conf includes/ds-letsencrypt.conf \ + includes/ds-mime.types.conf ${INSTALL_DATA} ${WRKSRC}/document-server-package/common/documentserver/nginx/${f} ${STAGEDIR}${ETCDIR}/documentserver/nginx/${f}.sample .endfor @echo "# Production ds-cache.conf is created automatically by documentserver-flush-cache.sh" > ${STAGEDIR}${ETCDIR}/documentserver/nginx/includes/ds-cache.conf.sample @@ -262,11 +285,11 @@ do-install: create-caches-tarball: # do some cleanup first ${RM} -r ${WRKDIR}/.npm/_logs ${WRKDIR}/.npm/_update-notifier-last-checked ${WRKDIR}/.cache/yarn/v6/.tmp ${WRKDIR}/.cache/node-gyp -# ${FIND} ${WRKDIR}/.cache -type f -perm 755 -exec file {} \; | ${EGREP} "ELF|PE32+|Mach-O" | ${AWK} -F ':' '{print $$1}' | ${XARGS} ${RM} - ${FIND} ${WRKDIR}/.pkg-cache -type f -perm 755 -exec file {} \; | ${EGREP} "ELF|PE32+|Mach-O" | ${AWK} -F ':' '{print $$1}' | ${XARGS} ${RM} - ${FIND} ${WRKDIR}/.pkg-cache -type f -perm 644 -exec file {} \; | ${EGREP} -v "${NODE_VERSION_PKGFETCH}" | ${EGREP} "built-v|node-v" | ${EGREP} "tar.gz|sha256sum" | ${AWK} -F ':' '{print $$1}' | ${XARGS} ${RM} +# ${FIND} ${WRKDIR}/.cache -type f -perm 755 -exec ${FILE} {} \; | ${EGREP} "ELF|PE32+|Mach-O" | ${AWK} -F ':' '{print $$1}' | ${XARGS} ${RM} + ${FIND} ${WRKDIR}/.pkg-cache -type f -perm 755 -exec ${FILE} {} \; | ${EGREP} "ELF|PE32+|Mach-O" | ${AWK} -F ':' '{print $$1}' | ${XARGS} ${RM} + ${FIND} ${WRKDIR}/.pkg-cache -type f -perm 644 -exec ${FILE} {} \; | ${EGREP} -v "${PKGFETCH_NODE_VERSION}" | ${EGREP} "built-v|node-v" | ${EGREP} "tar.gz|sha256sum" | ${AWK} -F ':' '{print $$1}' | ${XARGS} ${RM} - cd ${WRKDIR} && \ - ${TAR} czf ${PORTNAME}-${DISTVERSION}_`date +%Y%m%d`-npm-cache.tar.gz .npm .pkg-cache +# cd ${WRKDIR} && \ +# ${TAR} czf ${PORTNAME}-${DISTVERSION}_`date +%Y%m%d`-npm-cache.tar.gz .npm .pkg-cache .include <bsd.port.post.mk> diff --git a/www/onlyoffice-documentserver/distinfo b/www/onlyoffice-documentserver/distinfo index 432711cf408e..7fd9dbac7c4d 100644 --- a/www/onlyoffice-documentserver/distinfo +++ b/www/onlyoffice-documentserver/distinfo @@ -1,47 +1,47 @@ -TIMESTAMP = 1751344944 +TIMESTAMP = 1756745621 SHA256 (v8-8.9.255.25_all.tar.gz) = 54853ef93accc063a82a0dc29457b25c9b6d88315431d62e06ab1f84797c5f80 SIZE (v8-8.9.255.25_all.tar.gz) = 72818814 -SHA256 (node-v20.19.1.tar.gz) = 691011ddb85c9ab86afb7ead2b6db2ddd45592f1c8fd26687d152dcadc182229 -SIZE (node-v20.19.1.tar.gz) = 88078477 +SHA256 (node-v20.19.4.tar.gz) = cc363c0a90fe5025939175c1c29ab67235f36ebe4b5d78506634da27a73eef5d +SIZE (node-v20.19.4.tar.gz) = 89308973 SHA256 (optipng-0.7.8.tar.gz) = 25a3bd68481f21502ccaa0f4c13f84dcf6b20338e4c4e8c51f2cefbd8513398c SIZE (optipng-0.7.8.tar.gz) = 3294014 -SHA256 (onlyoffice-documentserver-9.0.2.16_20250630-npm-cache.tar.gz) = 11738d912f93adb7bf401ae06cb70d2357a4b35177cae7ceb5915fa5267e3522 -SIZE (onlyoffice-documentserver-9.0.2.16_20250630-npm-cache.tar.gz) = 249461250 -SHA256 (ONLYOFFICE-DocumentServer-v9.0.2.16-v9.0.2_GH0.tar.gz) = 272dc092623ca12964c09aa0893676aa508bf0900a5ab04215d7086306d2583d -SIZE (ONLYOFFICE-DocumentServer-v9.0.2.16-v9.0.2_GH0.tar.gz) = 972017 -SHA256 (ONLYOFFICE-core-v9.0.2.16_GH0.tar.gz) = 79d7aaf8b591017911febef0e141f9c3735faa33d1e68d605e80237082805f14 -SIZE (ONLYOFFICE-core-v9.0.2.16_GH0.tar.gz) = 205184118 -SHA256 (ONLYOFFICE-core-fonts-v9.0.2.16_GH0.tar.gz) = 56ba5c76d053d2ae625d2f4a01a955ecb2f1d25b9bef896313281588879f676a -SIZE (ONLYOFFICE-core-fonts-v9.0.2.16_GH0.tar.gz) = 95376454 -SHA256 (ONLYOFFICE-dictionaries-v9.0.2.16_GH0.tar.gz) = c1665cd8de6a528b255b5d0d200f689a53c72bb36218dbf8ac046c4b04a7fe85 -SIZE (ONLYOFFICE-dictionaries-v9.0.2.16_GH0.tar.gz) = 57973827 -SHA256 (ONLYOFFICE-document-server-integration-v9.0.2.16_GH0.tar.gz) = 61759413e2c63ca94117b30442e985e2ea5d3e559b1e6d740adfa916e55a6074 -SIZE (ONLYOFFICE-document-server-integration-v9.0.2.16_GH0.tar.gz) = 6128854 -SHA256 (ONLYOFFICE-document-templates-v9.0.2.16_GH0.tar.gz) = ba8288f4c67ce21d8c4f3ec995b02c5df43464314770805c7c57860b79e31756 -SIZE (ONLYOFFICE-document-templates-v9.0.2.16_GH0.tar.gz) = 3914530 -SHA256 (ONLYOFFICE-sdkjs-v9.0.2.16_GH0.tar.gz) = ecdb6c32c426e86b1bca71fc129f283430a14abc3e747464b8b9167ba08e264b -SIZE (ONLYOFFICE-sdkjs-v9.0.2.16_GH0.tar.gz) = 37688710 -SHA256 (ONLYOFFICE-server-v9.0.2.16_GH0.tar.gz) = 4d1dc02e4be3546bb6c1bbf6547eb4c46262e0554cacf81314ff741ce2ed5027 -SIZE (ONLYOFFICE-server-v9.0.2.16_GH0.tar.gz) = 4082601 -SHA256 (ONLYOFFICE-web-apps-v9.0.2.16_GH0.tar.gz) = 6befc028e52e4176e2007274915efc3354aa474ef7df6bdad0299204fb1ebf2b -SIZE (ONLYOFFICE-web-apps-v9.0.2.16_GH0.tar.gz) = 443520777 -SHA256 (ONLYOFFICE-build_tools-v9.0.2.16_GH0.tar.gz) = fe7b82477a78ed2a272c841d75c8a6383506a194b3893547ee70a86193943f50 -SIZE (ONLYOFFICE-build_tools-v9.0.2.16_GH0.tar.gz) = 33870057 +SHA256 (ONLYOFFICE-DocumentServer-v9.0.4_GH0.tar.gz) = 3315ceaa8b2e07359838d6119a48bf917e60faca8a4480129d5609a217e96f7d +SIZE (ONLYOFFICE-DocumentServer-v9.0.4_GH0.tar.gz) = 974618 +SHA256 (ONLYOFFICE-core-v9.0.4.50_GH0.tar.gz) = eef733db5a8a1b9dfef972eff1c067ab28d1bc22151a0873dfc46dfcb897f22c +SIZE (ONLYOFFICE-core-v9.0.4.50_GH0.tar.gz) = 205212964 +SHA256 (ONLYOFFICE-core-fonts-v9.0.4.50_GH0.tar.gz) = cde61fa272da392386d4055e9df27175e20e9b8d2a352b4b878746b2159d1a3d +SIZE (ONLYOFFICE-core-fonts-v9.0.4.50_GH0.tar.gz) = 95376498 +SHA256 (ONLYOFFICE-dictionaries-v9.0.4.50_GH0.tar.gz) = 5d001458ca1632fcddcfc9b521047d5c1de443bd1ca458ed323540c592d8a3c6 +SIZE (ONLYOFFICE-dictionaries-v9.0.4.50_GH0.tar.gz) = 57973408 +SHA256 (ONLYOFFICE-document-server-integration-v9.0.4.50_GH0.tar.gz) = 3d000d2e82fed9d65b3642cfaa080178175e166698e218651f56f591cadb8e14 +SIZE (ONLYOFFICE-document-server-integration-v9.0.4.50_GH0.tar.gz) = 6129159 +SHA256 (ONLYOFFICE-document-templates-v9.0.4.50_GH0.tar.gz) = 958ce54f58f0d8f36149e62ee395e7c68e536a7d7320b02b135325d2c297be49 +SIZE (ONLYOFFICE-document-templates-v9.0.4.50_GH0.tar.gz) = 3914529 +SHA256 (ONLYOFFICE-sdkjs-v9.0.4.50_GH0.tar.gz) = fd620863636d6de8c1c7e8643f1b0fc29f3fb19f5128bc06ad06d97796f35d36 +SIZE (ONLYOFFICE-sdkjs-v9.0.4.50_GH0.tar.gz) = 37960532 +SHA256 (ONLYOFFICE-server-v9.0.4.50_GH0.tar.gz) = 14f392a47a6084c4b57bdcf7811577699f9297a54ac43e1ff99fed7508ffdb20 +SIZE (ONLYOFFICE-server-v9.0.4.50_GH0.tar.gz) = 4213827 +SHA256 (ONLYOFFICE-web-apps-v9.0.4.50_GH0.tar.gz) = 3d4e8a7df920ed8eb283bb03fec9fb0785d0f6a201a9980ad4be1893fa39b6f7 +SIZE (ONLYOFFICE-web-apps-v9.0.4.50_GH0.tar.gz) = 444518582 +SHA256 (ONLYOFFICE-build_tools-v9.0.4.50_GH0.tar.gz) = d52aacc9d97ed5a0b1174150e5b5b708e44d72718d6d43707ff76bf8ab56a375 +SIZE (ONLYOFFICE-build_tools-v9.0.4.50_GH0.tar.gz) = 33885000 SHA256 (ONLYOFFICE-DocumentBuilder-626d1e44db3d06ceb8298215a67ef0475912d89a_GH0.tar.gz) = 275c3a8c993528fa56c69aedb11dd74a6fba9c3bd372874004584ae9cbb190b5 SIZE (ONLYOFFICE-DocumentBuilder-626d1e44db3d06ceb8298215a67ef0475912d89a_GH0.tar.gz) = 31659 SHA256 (ONLYOFFICE-onlyoffice.github.io-b26d001664d771df4f663d2d3ba7dd4a188b6cab_GH0.tar.gz) = 347b8f1d3c21b1f61a3f1fcae86f402b27ce4f8b826e18158834251046d83cf5 SIZE (ONLYOFFICE-onlyoffice.github.io-b26d001664d771df4f663d2d3ba7dd4a188b6cab_GH0.tar.gz) = 17009005 -SHA256 (ONLYOFFICE-document-server-package-v9.0.2.16_GH0.tar.gz) = c3153d922b38362146a209eade7f645e72504e19d5eb760354c57c223c4b637f -SIZE (ONLYOFFICE-document-server-package-v9.0.2.16_GH0.tar.gz) = 186621 +SHA256 (ONLYOFFICE-document-server-package-v9.0.4.50_GH0.tar.gz) = a94e3a4558afc09ff9e7fab1bb4e334015b0e5e0ff723334b714358f820c684a +SIZE (ONLYOFFICE-document-server-package-v9.0.4.50_GH0.tar.gz) = 186664 SHA256 (jasenhuang-katana-parser-be6df45_GH0.tar.gz) = 363ede45ba6d125fdb7323c43d34acd3d0ae9028ac18aec632eb6a623160f09a SIZE (jasenhuang-katana-parser-be6df45_GH0.tar.gz) = 97712 SHA256 (google-gumbo-parser-aa91b27_GH0.tar.gz) = 1360f85c02fb2573a10f00abcddebc8f1ff277a16f66553439193af93afae335 SIZE (google-gumbo-parser-aa91b27_GH0.tar.gz) = 2119417 +SHA256 (google-brotli-a47d747_GH0.tar.gz) = 695f229d346b006a335d0fe38290af986785d57f3b2a42654e2bc103823f5dd8 +SIZE (google-brotli-a47d747_GH0.tar.gz) = 638096 SHA256 (hunspell-hyphen-73dd296_GH0.tar.gz) = 93e80ad69ee7afd507b12f0b58ca34a6a78347dcbb5fe5d9b6f0e19b02397ef7 SIZE (hunspell-hyphen-73dd296_GH0.tar.gz) = 292528 SHA256 (mity-md4c-481fbfb_GH0.tar.gz) = 04e03a69a2783ab5f2449f8864499dabb150092d5f48415a5e423f762a209d54 SIZE (mity-md4c-481fbfb_GH0.tar.gz) = 238753 -SHA256 (fsbruva-onlyoffice-DS-pkg-cache-v20.19.1_GH0.tar.gz) = df466a0ea8365d10089d3169b224b079bb0ec409c57f2ff79c4f6048f8c5d29c -SIZE (fsbruva-onlyoffice-DS-pkg-cache-v20.19.1_GH0.tar.gz) = 1288 -SHA256 (fsbruva-onlyoffice-DS-npm-cache-v9.0.2.16-20250701_GH0.tar.gz) = c8a355fe7941a29ba6ba51c97c52808ef5cfe3047cb4f31335a2e03cdfd84354 -SIZE (fsbruva-onlyoffice-DS-npm-cache-v9.0.2.16-20250701_GH0.tar.gz) = 161979161 +SHA256 (fsbruva-onlyoffice-DS-pkg-cache-v20.19.4_GH0.tar.gz) = d3b6a1ad3afdfd53b57809980ae83434ae727d421e9e383ae69c32e37a570918 +SIZE (fsbruva-onlyoffice-DS-pkg-cache-v20.19.4_GH0.tar.gz) = 1292 +SHA256 (fsbruva-onlyoffice-DS-npm-cache-v9.0.4.50-20250831_GH0.tar.gz) = 3f25ca729d9ec2f58342376f4be9e6d545364495f2dce0fc0dd0bdb0d5f7a6f0 +SIZE (fsbruva-onlyoffice-DS-npm-cache-v9.0.4.50-20250831_GH0.tar.gz) = 163105782 diff --git a/www/onlyoffice-documentserver/files/extra-patch-pkg-fetch_patches_node.v20.19.1.cpp.patch b/www/onlyoffice-documentserver/files/extra-patch-pkg-fetch_patches_node.v20.19.1.cpp.patch deleted file mode 100644 index 44c114f57dd6..000000000000 --- a/www/onlyoffice-documentserver/files/extra-patch-pkg-fetch_patches_node.v20.19.1.cpp.patch +++ /dev/null @@ -1,1014 +0,0 @@ -https://github.com/yao-pkg/pkg-fetch/raw/refs/tags/v3.5.23/patches/node.v20.19.1.cpp.patch -+ local FreeBSD patches - ---- yao-pkg/node_modules/@yao-pkg/pkg-fetch/patches/node.v20.19.1.cpp.patch -+++ yao-pkg/node_modules/@yao-pkg/pkg-fetch/patches/node.v20.19.1.cpp.patch -@@ -11,6 +11,24 @@ index d3c17d47bc..7970af6ea4 100644 - }], - ], - }, -+@@ -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"', { - diff --git node/deps/ngtcp2/nghttp3/lib/nghttp3_ringbuf.c node/deps/ngtcp2/nghttp3/lib/nghttp3_ringbuf.c - index 5e7775f1a5..eeebf67796 100644 - --- node/deps/ngtcp2/nghttp3/lib/nghttp3_ringbuf.c -@@ -600,3 +618,375 @@ index 2655b9e694..1d951571c7 100644 - 'cflags_cc!': [ '-fno-rtti' ], - }], - [ 'OS == "mac" or OS == "ios"', { -+--- node/Makefile.orig 2025-05-14 12:22:41 UTC -++++ node/Makefile -+@@ -171,8 +171,7 @@ out/Makefile: config.gypi common.gypi node.gyp \ -+ $(warning '$@' target is a noop) -+ -+ out/Makefile: config.gypi common.gypi node.gyp \ -+- deps/uv/uv.gyp deps/llhttp/llhttp.gyp deps/zlib/zlib.gyp \ -+- deps/simdutf/simdutf.gyp deps/ada/ada.gyp \ -++ deps/*/*.gyp \ -+ tools/v8_gypfiles/toolchain.gypi tools/v8_gypfiles/features.gypi \ -+ tools/v8_gypfiles/inspector.gypi tools/v8_gypfiles/v8.gyp -+ $(PYTHON) tools/gyp_node.py -f make -+--- 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 @@ -+ '-Wall -O3 -fomit-frame-pointer', -+ ], -+ 'openssl_ex_libs_linux-elf': [ -+- '-ldl -pthread', -++ '-pthread', -+ ], -+ 'openssl_cli_srcs_linux-elf': [ -+ '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 -+@@ -977,7 +977,7 @@ -+ '-Wall -O3 -fomit-frame-pointer', -+ ], -+ 'openssl_ex_libs_linux-elf': [ -+- '-ldl -pthread', -++ '-pthread', -+ ], -+ }, -+ 'include_dirs': [ -+--- 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 @@ -+ { -++ 'defines': ['OPENSSL_NO_ASM'], -+ 'conditions': [ -+ ['target_arch=="ppc64" and OS in ("aix", "os400")', { -+ 'includes': ['config/archs/aix64-gcc-as/no-asm/openssl-cl.gypi'], -+@@ -45,7 +46,7 @@ -+ 'includes': ['config/archs/linux64-loongarch64/no-asm/openssl-cl.gypi'], -+ }, { -+ # Other architectures don't use assembly -+- 'includes': ['config/archs/linux-x86_64/no-asm/openssl-cl.gypi'], -++ 'includes': ['config/archs/linux-elf/no-asm/openssl-cl.gypi'], -+ }], -+ ], -+ } -+--- node/deps/openssl/openssl_no_asm.gypi.orig 2023-05-16 06:58:20 UTC -++++ node/deps/openssl/openssl_no_asm.gypi -+@@ -44,7 +44,7 @@ -+ 'includes': ['config/archs/linux64-riscv64/no-asm/openssl.gypi'], -+ }, { -+ # Other architectures don't use assembly -+- 'includes': ['config/archs/linux-x86_64/no-asm/openssl.gypi'], -++ 'includes': ['config/archs/linux-elf/no-asm/openssl.gypi'], -+ }], -+ ], -+ } -+--- node/deps/v8/src/base/macros.h.orig 2021-04-12 21:00:33.000000000 +0000 -++++ node/deps/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). -+--- node/deps/v8/src/base/platform/platform-freebsd.cc.orig 2023-05-16 06:58:20 UTC -++++ node/deps/v8/src/base/platform/platform-freebsd.cc -+@@ -82,8 +82,8 @@ std::vector<OS::SharedLibraryAddress> OS::GetSharedLib -+ lib_name = std::string(path); -+ } -+ result.push_back(SharedLibraryAddress( -+- lib_name, reinterpret_cast<uintptr_t>(map->kve_start), -+- reinterpret_cast<uintptr_t>(map->kve_end))); -++ lib_name, static_cast<uintptr_t>(map->kve_start), -++ static_cast<uintptr_t>(map->kve_end))); -+ } -+ -+ start += ssize; -+--- 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 @@ -+ // Use of this source code is governed by a BSD-style license that can be -+ // found in the LICENSE file. -+ -++#include "include/v8config.h" -++ -+ // CPU specific code for arm independent of OS goes here. -+ #ifdef __arm__ -+ #ifdef __QNXNTO__ -+ #include <sys/mman.h> // for cache flushing. -+ #undef MAP_TYPE -+ #elif V8_OS_FREEBSD -++#include <sys/cdefs.h> -+ #include <machine/sysarch.h> // for cache flushing -+ #include <sys/types.h> -+ #elif V8_OS_STARBOARD -+--- node/deps/v8/src/codegen/ppc/constants-ppc.h.orig 2023-05-16 06:58:20 UTC -++++ node/deps/v8/src/codegen/ppc/constants-ppc.h -+@@ -36,7 +36,7 @@ -+ #endif -+ -+ #if !(V8_HOST_ARCH_PPC || V8_HOST_ARCH_PPC64) || !V8_TARGET_ARCH_PPC64 || \ -+- V8_TARGET_LITTLE_ENDIAN || (defined(_CALL_ELF) && _CALL_ELF == 2) -++ (defined(_CALL_ELF) && _CALL_ELF == 2) -+ #define ABI_RETURNS_OBJECT_PAIRS_IN_REGS 1 -+ #else -+ #define ABI_RETURNS_OBJECT_PAIRS_IN_REGS 0 -+@@ -44,7 +44,7 @@ -+ -+ #if !(V8_HOST_ARCH_PPC || V8_HOST_ARCH_PPC64) || \ -+ (V8_TARGET_ARCH_PPC64 && \ -+- (V8_TARGET_LITTLE_ENDIAN || (defined(_CALL_ELF) && _CALL_ELF == 2))) -++ (defined(_CALL_ELF) && _CALL_ELF == 2)) -+ #define ABI_CALL_VIA_IP 1 -+ #else -+ #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 -+@@ -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]); -++#elif V8_TARGET_ARCH_PPC64 -++ state->pc = reinterpret_cast<void*>(mcontext.mc_srr0); -++ state->sp = reinterpret_cast<void*>(mcontext.mc_frame[1]); -++ state->fp = reinterpret_cast<void*>(mcontext.mc_frame[31]); -+ #endif // V8_HOST_ARCH_* -+ #elif V8_OS_NETBSD -+ #if V8_HOST_ARCH_IA32 -+Obtained from: https://chromium.googlesource.com/v8/v8.git/+/182d9c05e78b1ddb1cb8242cd3628a7855a0336f -+ -+commit 182d9c05e78b1ddb1cb8242cd3628a7855a0336f -+Author: Andrey Kosyakov <caseq@chromium.org> -+Date: 2023-08-17T13:50:11-07:00 -+ -+ Define UChar as char16_t -+ -+ We used to have UChar defined as uint16_t which does not go along -+ with STL these days if you try to have an std::basic_string<> of it, -+ as there are no standard std::char_traits<> specialization for uint16_t. -+ -+ This switches UChar to char16_t where practical, introducing a few -+ compatibility shims to keep CL size small, as (1) this would likely -+ have to be back-ported and (2) crdtp extensively uses uint16_t for -+ wide chars. -+ -+ Bug: b:296390693 -+ Change-Id: I66a32d8f0050915225b187de56896c26dd76163d -+ Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4789966 -+ Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> -+ Commit-Queue: Jaroslav Sevcik <jarin@chromium.org> -+ Auto-Submit: Andrey Kosyakov <caseq@chromium.org> -+ Cr-Commit-Position: refs/heads/main@{#89559} -+ -+diff --git node/deps/v8/src/inspector/string-16.cc node/deps/v8/src/inspector/string-16.cc -+index a8b786a8166..6df9963e970 100644 -+--- node/deps/v8/src/inspector/string-16.cc -++++ node/deps/v8/src/inspector/string-16.cc -+@@ -27,7 +27,7 @@ bool isSpaceOrNewLine(UChar c) { -+ return isASCII(c) && c <= ' ' && (c == ' ' || (c <= 0xD && c >= 0x9)); -+ } -+ -+-int64_t charactersToInteger(const UChar* characters, size_t length, -++int64_t charactersToInteger(const uint16_t* characters, size_t length, -+ bool* ok = nullptr) { -+ std::vector<char> buffer; -+ buffer.reserve(length + 1); -+@@ -50,6 +50,8 @@ int64_t charactersToInteger(const UChar* characters, size_t length, -+ -+ String16::String16(const UChar* characters, size_t size) -+ : m_impl(characters, size) {} -++String16::String16(const uint16_t* characters, size_t size) -++ : m_impl(reinterpret_cast<const UChar*>(characters), size) {} -+ -+ String16::String16(const UChar* characters) : m_impl(characters) {} -+ -+@@ -241,6 +243,10 @@ String16 String16::fromUTF16LE(const UChar* stringStart, size_t length) { -+ #endif // V8_TARGET_BIG_ENDIAN -+ } -+ -++String16 String16::fromUTF16LE(const uint16_t* stringStart, size_t length) { -++ return fromUTF16LE(reinterpret_cast<const UChar*>(stringStart), length); -++} -++ -+ std::string String16::utf8() const { -+ return UTF16ToUTF8(m_impl.data(), m_impl.size()); -+ } -+diff --git node/deps/v8/src/inspector/string-16.h node/deps/v8/src/inspector/string-16.h -+index 1678ffb2e1e..d9f6c466ab1 100644 -+--- node/deps/v8/src/inspector/string-16.h -++++ node/deps/v8/src/inspector/string-16.h -+@@ -6,6 +6,7 @@ -+ #define V8_INSPECTOR_STRING_16_H_ -+ -+ #include <stdint.h> -++#include <uchar.h> -+ -+ #include <cctype> -+ #include <climits> -+@@ -18,7 +19,7 @@ -+ -+ namespace v8_inspector { -+ -+-using UChar = uint16_t; -++using UChar = char16_t; -+ -+ class String16 { -+ public: -+@@ -28,6 +29,7 @@ class String16 { -+ String16(const String16&) V8_NOEXCEPT = default; -+ String16(String16&&) V8_NOEXCEPT = default; -+ String16(const UChar* characters, size_t size); -++ String16(const uint16_t* characters, size_t size); -+ V8_EXPORT String16(const UChar* characters); -+ V8_EXPORT String16(const char* characters); -+ String16(const char* characters, size_t size); -+@@ -49,7 +51,9 @@ class String16 { -+ int toInteger(bool* ok = nullptr) const; -+ std::pair<size_t, size_t> getTrimmedOffsetAndLength() const; -+ String16 stripWhiteSpace() const; -+- const UChar* characters16() const { return m_impl.c_str(); } -++ const uint16_t* characters16() const { -++ return reinterpret_cast<const uint16_t*>(m_impl.c_str()); -++ } -+ size_t length() const { return m_impl.length(); } -+ bool isEmpty() const { return !m_impl.length(); } -+ UChar operator[](size_t index) const { return m_impl[index]; } -+@@ -79,6 +83,8 @@ class String16 { -+ // On Big endian architectures, byte order needs to be flipped. -+ V8_EXPORT static String16 fromUTF16LE(const UChar* stringStart, -+ size_t length); -++ V8_EXPORT static String16 fromUTF16LE(const uint16_t* stringStart, -++ size_t length); -+ -+ std::size_t hash() const { -+ if (!hash_code) { -+diff --git node/deps/v8/src/inspector/v8-string-conversions.cc node/deps/v8/src/inspector/v8-string-conversions.cc -+index 0c75e66b972..8cf19be816c 100644 -+--- node/deps/v8/src/inspector/v8-string-conversions.cc -++++ node/deps/v8/src/inspector/v8-string-conversions.cc -+@@ -12,7 +12,7 @@ -+ -+ namespace v8_inspector { -+ namespace { -+-using UChar = uint16_t; -++using UChar = char16_t; -+ using UChar32 = uint32_t; -+ -+ bool isASCII(UChar c) { return !(c & ~0x7F); } -+@@ -386,7 +386,7 @@ std::string UTF16ToUTF8(const UChar* stringStart, size_t length) { -+ -+ std::basic_string<UChar> UTF8ToUTF16(const char* stringStart, size_t length) { -+ if (!stringStart || !length) return std::basic_string<UChar>(); -+- std::vector<uint16_t> buffer(length); -++ std::vector<UChar> buffer(length); -+ UChar* bufferStart = buffer.data(); -+ -+ UChar* bufferCurrent = bufferStart; -+@@ -395,7 +395,7 @@ std::basic_string<UChar> UTF8ToUTF16(const char* stringStart, size_t length) { -+ reinterpret_cast<const char*>(stringStart + length), -+ &bufferCurrent, bufferCurrent + buffer.size(), nullptr, -+ true) != conversionOK) -+- return std::basic_string<uint16_t>(); -++ return std::basic_string<UChar>(); -+ size_t utf16Length = bufferCurrent - bufferStart; -+ return std::basic_string<UChar>(bufferStart, bufferStart + utf16Length); -+ } -+diff --git node/deps/v8/src/inspector/v8-string-conversions.h node/deps/v8/src/inspector/v8-string-conversions.h -+index eb33c6816a5..1126255dac2 100644 -+--- node/deps/v8/src/inspector/v8-string-conversions.h -++++ node/deps/v8/src/inspector/v8-string-conversions.h -+@@ -5,14 +5,16 @@ -+ #ifndef V8_INSPECTOR_V8_STRING_CONVERSIONS_H_ -+ #define V8_INSPECTOR_V8_STRING_CONVERSIONS_H_ -+ -++#include <uchar.h> -++ -+ #include <cstdint> -+ #include <string> -+ -+ // Conversion routines between UT8 and UTF16, used by string-16.{h,cc}. You may -+ // want to use string-16.h directly rather than these. -+ namespace v8_inspector { -+-std::basic_string<uint16_t> UTF8ToUTF16(const char* stringStart, size_t length); -+-std::string UTF16ToUTF8(const uint16_t* stringStart, size_t length); -++std::basic_string<char16_t> UTF8ToUTF16(const char* stringStart, size_t length); -++std::string UTF16ToUTF8(const char16_t* stringStart, size_t length); -+ } // namespace v8_inspector -+ -+ #endif // V8_INSPECTOR_V8_STRING_CONVERSIONS_H_ -+diff --git node/deps/v8/third_party/inspector_protocol/crdtp/test_platform_v8.cc node/deps/v8/third_party/inspector_protocol/crdtp/test_platform_v8.cc -+index c9d89eaa42f..1a46d781b89 100644 -+--- node/deps/v8/third_party/inspector_protocol/crdtp/test_platform_v8.cc -++++ node/deps/v8/third_party/inspector_protocol/crdtp/test_platform_v8.cc -+@@ -11,13 +11,16 @@ -+ namespace v8_crdtp { -+ -+ std::string UTF16ToUTF8(span<uint16_t> in) { -+- return v8_inspector::UTF16ToUTF8(in.data(), in.size()); -++ return v8_inspector::UTF16ToUTF8(reinterpret_cast<const char16_t*>(in.data()), -++ in.size()); -+ } -+ -+ std::vector<uint16_t> UTF8ToUTF16(span<uint8_t> in) { -+- std::basic_string<uint16_t> utf16 = v8_inspector::UTF8ToUTF16( -++ std::basic_string<char16_t> utf16 = v8_inspector::UTF8ToUTF16( -+ reinterpret_cast<const char*>(in.data()), in.size()); -+- return std::vector<uint16_t>(utf16.begin(), utf16.end()); -++ return std::vector<uint16_t>( -++ reinterpret_cast<const uint16_t*>(utf16.data()), -++ reinterpret_cast<const uint16_t*>(utf16.data()) + utf16.size()); -+ } -+ -+ } // namespace v8_crdtp -+--- node/node.gypi.orig 2023-05-16 06:58:21 UTC -++++ node/node.gypi -+@@ -349,6 +349,9 @@ -+ [ 'node_use_openssl=="true"', { -+ 'defines': [ 'HAVE_OPENSSL=1' ], -+ 'conditions': [ -++ ['openssl_no_asm==1', { -++ 'defines': [ 'OPENSSL_NO_ASM' ], -++ }], -+ [ '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 @@ -+ # include <netdb.h> -+ #endif // __POSIX__ -+ -+-# include <ares_nameser.h> -++# include <arpa/nameser.h> -+ -+ namespace node { -+ namespace cares_wrap { -+--- node/tools/v8_gypfiles/v8.gyp.orig 2023-05-16 06:58:22 UTC -++++ node/tools/v8_gypfiles/v8.gyp -+@@ -1091,7 +1091,7 @@ -+ }], -+ # Platforms that don't have Compare-And-Swap (CAS) support need to link atomic library -+ # to implement atomic memory access -+- ['v8_current_cpu in ["mips64", "mips64el", "ppc", "arm", "riscv64", "loong64"]', { -++ ['v8_current_cpu in ["mips64", "mips64el", "ppc", "riscv64", "loong64"]', { -+ 'link_settings': { -+ 'libraries': ['-latomic', ], -+ }, -diff --git a/node_modules/@yao-pkg/pkg-fetch/patches/node.v20.19.1.cpp.patch.orig b/node_modules/@yao-pkg/pkg-fetch/patches/node.v20.19.1.cpp.patch.orig -new file mode 100644 -index 0000000..6b9de6d ---- /dev/null -+++ b/node_modules/@yao-pkg/pkg-fetch/patches/node.v20.19.1.cpp.patch.orig -@@ -0,0 +1,602 @@ -+diff --git node/common.gypi node/common.gypi -+index d3c17d47bc..7970af6ea4 100644 -+--- node/common.gypi -++++ node/common.gypi -+@@ -184,7 +184,7 @@ -+ ['clang==1', { -+ 'lto': ' -flto ', # Clang -+ }, { -+- 'lto': ' -flto=4 -fuse-linker-plugin -ffat-lto-objects ', # GCC -++ 'lto': ' -flto=4 -ffat-lto-objects ', # GCC -+ }], -+ ], -+ }, -+diff --git node/deps/ngtcp2/nghttp3/lib/nghttp3_ringbuf.c node/deps/ngtcp2/nghttp3/lib/nghttp3_ringbuf.c -+index 5e7775f1a5..eeebf67796 100644 -+--- node/deps/ngtcp2/nghttp3/lib/nghttp3_ringbuf.c -++++ node/deps/ngtcp2/nghttp3/lib/nghttp3_ringbuf.c -+@@ -33,16 +33,6 @@ -+ -+ #include "nghttp3_macro.h" -+ -+-#if defined(_MSC_VER) && !defined(__clang__) && (defined(_M_ARM) || defined(_M_ARM64)) -+-unsigned int __popcnt(unsigned int x) { -+- unsigned int c = 0; -+- for (; x; ++c) { -+- x &= x - 1; -+- } -+- return c; -+-} -+-#endif -+- -+ int nghttp3_ringbuf_init(nghttp3_ringbuf *rb, size_t nmemb, size_t size, -+ const nghttp3_mem *mem) { -+ if (nmemb) { -+diff --git node/deps/ngtcp2/ngtcp2/lib/ngtcp2_ringbuf.c node/deps/ngtcp2/ngtcp2/lib/ngtcp2_ringbuf.c -+index 74e488bce7..36ca05e80e 100644 -+--- node/deps/ngtcp2/ngtcp2/lib/ngtcp2_ringbuf.c -++++ node/deps/ngtcp2/ngtcp2/lib/ngtcp2_ringbuf.c -+@@ -31,16 +31,6 @@ -+ -+ #include "ngtcp2_macro.h" -+ -+-#if defined(_MSC_VER) && !defined(__clang__) && (defined(_M_ARM) || defined(_M_ARM64)) -+-unsigned int __popcnt(unsigned int x) { -+- unsigned int c = 0; -+- for (; x; ++c) { -+- x &= x - 1; -+- } -+- return c; -+-} -+-#endif -+- -+ int ngtcp2_ringbuf_init(ngtcp2_ringbuf *rb, size_t nmemb, size_t size, -+ const ngtcp2_mem *mem) { -+ uint8_t *buf = ngtcp2_mem_malloc(mem, nmemb * size); -+diff --git node/deps/v8/include/v8-initialization.h node/deps/v8/include/v8-initialization.h -+index d3e35d6ec5..6e9bbe3849 100644 -+--- node/deps/v8/include/v8-initialization.h -++++ node/deps/v8/include/v8-initialization.h -+@@ -89,6 +89,10 @@ class V8_EXPORT V8 { -+ static void SetFlagsFromCommandLine(int* argc, char** argv, -+ bool remove_flags); -+ -++ static void EnableCompilationForSourcelessUse(); -++ static void DisableCompilationForSourcelessUse(); -++ static void FixSourcelessScript(Isolate* v8_isolate, Local<UnboundScript> script); -++ -+ /** Get the version string. */ -+ static const char* GetVersion(); -+ -+diff --git node/deps/v8/src/api/api.cc node/deps/v8/src/api/api.cc -+index a06394e6c1..154b7a82a8 100644 -+--- node/deps/v8/src/api/api.cc -++++ node/deps/v8/src/api/api.cc -+@@ -806,6 +806,28 @@ void V8::SetFlagsFromCommandLine(int* argc, char** argv, bool remove_flags) { -+ HelpOptions(HelpOptions::kDontExit)); -+ } -+ -++bool save_lazy; -++bool save_predictable; -++ -++void V8::EnableCompilationForSourcelessUse() { -++ save_lazy = i::v8_flags.lazy; -++ i::v8_flags.lazy = false; -++ save_predictable = i::v8_flags.predictable; -++ i::v8_flags.predictable = true; -++} -++ -++void V8::DisableCompilationForSourcelessUse() { -++ i::v8_flags.lazy = save_lazy; -++ i::v8_flags.predictable = save_predictable; -++} -++ -++void V8::FixSourcelessScript(Isolate* v8_isolate, Local<UnboundScript> unbound_script) { -++ auto isolate = reinterpret_cast<i::Isolate*>(v8_isolate); -++ auto function_info = i::Handle<i::SharedFunctionInfo>::cast(Utils::OpenHandle(*unbound_script)); -++ i::Handle<i::Script> script(i::Script::cast(function_info->script()), isolate); -++ script->set_source(i::ReadOnlyRoots(isolate).undefined_value()); -++} -++ -+ RegisteredExtension* RegisteredExtension::first_extension_ = nullptr; -+ -+ RegisteredExtension::RegisteredExtension(std::unique_ptr<Extension> extension) -+diff --git node/deps/v8/src/codegen/compiler.cc node/deps/v8/src/codegen/compiler.cc -+index 31c5acceeb..56cad8671f 100644 -+--- node/deps/v8/src/codegen/compiler.cc -++++ node/deps/v8/src/codegen/compiler.cc -+@@ -3475,7 +3475,7 @@ MaybeHandle<SharedFunctionInfo> GetSharedFunctionInfoForScriptImpl( -+ maybe_script = lookup_result.script(); -+ maybe_result = lookup_result.toplevel_sfi(); -+ is_compiled_scope = lookup_result.is_compiled_scope(); -+- if (!maybe_result.is_null()) { -++ if (!maybe_result.is_null() && source->length()) { -+ compile_timer.set_hit_isolate_cache(); -+ } else if (can_consume_code_cache) { -+ compile_timer.set_consuming_code_cache(); -+diff --git node/deps/v8/src/objects/js-function.cc node/deps/v8/src/objects/js-function.cc -+index 94f7a672a7..57bb3fc7f1 100644 -+--- node/deps/v8/src/objects/js-function.cc -++++ node/deps/v8/src/objects/js-function.cc -+@@ -1280,6 +1280,9 @@ Handle<String> JSFunction::ToString(Handle<JSFunction> function) { -+ Handle<Object> maybe_class_positions = JSReceiver::GetDataProperty( -+ isolate, function, isolate->factory()->class_positions_symbol()); -+ if (maybe_class_positions->IsClassPositions()) { -++ if (String::cast(Script::cast(shared_info->script()).source()).IsUndefined(isolate)) { -++ return isolate->factory()->NewStringFromAsciiChecked("class {}"); -++ } -+ ClassPositions class_positions = -+ ClassPositions::cast(*maybe_class_positions); -+ int start_position = class_positions.start(); -+diff --git node/deps/v8/src/objects/shared-function-info-inl.h node/deps/v8/src/objects/shared-function-info-inl.h -+index 5621b15d98..722e1d18cb 100644 -+--- node/deps/v8/src/objects/shared-function-info-inl.h -++++ node/deps/v8/src/objects/shared-function-info-inl.h -+@@ -635,6 +635,14 @@ bool SharedFunctionInfo::ShouldFlushCode( -+ } -+ if (!data.IsBytecodeArray()) return false; -+ -++ Object script_obj = script(); -++ if (!script_obj.IsUndefined()) { -++ Script script = Script::cast(script_obj); -++ if (script.source().IsUndefined()) { -++ return false; -++ } -++ } -++ -+ if (IsStressFlushingEnabled(code_flush_mode)) return true; -+ -+ BytecodeArray bytecode = BytecodeArray::cast(data); -+diff --git node/deps/v8/src/parsing/parsing.cc node/deps/v8/src/parsing/parsing.cc -+index 8c55a6fb6e..70bf82a57d 100644 -+--- node/deps/v8/src/parsing/parsing.cc -++++ node/deps/v8/src/parsing/parsing.cc -+@@ -42,6 +42,7 @@ bool ParseProgram(ParseInfo* info, Handle<Script> script, -+ Isolate* isolate, ReportStatisticsMode mode) { -+ DCHECK(info->flags().is_toplevel()); -+ DCHECK_NULL(info->literal()); -++ if (String::cast(script->source()).IsUndefined(isolate)) return false; -+ -+ VMState<PARSER> state(isolate); -+ -+@@ -75,6 +76,7 @@ bool ParseFunction(ParseInfo* info, Handle<SharedFunctionInfo> shared_info, -+ -+ // Create a character stream for the parser. -+ Handle<Script> script(Script::cast(shared_info->script()), isolate); -++ if (String::cast(script->source()).IsUndefined(isolate)) return false; -+ Handle<String> source(String::cast(script->source()), isolate); -+ std::unique_ptr<Utf16CharacterStream> stream( -+ ScannerStream::For(isolate, source, shared_info->StartPosition(), -+diff --git node/deps/v8/src/snapshot/code-serializer.cc node/deps/v8/src/snapshot/code-serializer.cc -+index c83e8e4581..8cb451e147 100644 -+--- node/deps/v8/src/snapshot/code-serializer.cc -++++ node/deps/v8/src/snapshot/code-serializer.cc -+@@ -659,10 +659,6 @@ SerializedCodeSanityCheckResult SerializedCodeData::SanityCheck( -+ -+ SerializedCodeSanityCheckResult SerializedCodeData::SanityCheckJustSource( -+ uint32_t expected_source_hash) const { -+- uint32_t source_hash = GetHeaderValue(kSourceHashOffset); -+- if (source_hash != expected_source_hash) { -+- return SerializedCodeSanityCheckResult::kSourceMismatch; -+- } -+ return SerializedCodeSanityCheckResult::kSuccess; -+ } -+ -+@@ -679,10 +675,6 @@ SerializedCodeSanityCheckResult SerializedCodeData::SanityCheckWithoutSource() -+ if (version_hash != Version::Hash()) { -+ return SerializedCodeSanityCheckResult::kVersionMismatch; -+ } -+- uint32_t flags_hash = GetHeaderValue(kFlagHashOffset); -+- if (flags_hash != FlagList::Hash()) { -+- return SerializedCodeSanityCheckResult::kFlagsMismatch; -+- } -+ uint32_t payload_length = GetHeaderValue(kPayloadLengthOffset); -+ uint32_t max_payload_length = this->size_ - kHeaderSize; -+ if (payload_length > max_payload_length) { -+diff --git node/lib/child_process.js node/lib/child_process.js -+index cc81cb373d..e06da1048a 100644 -+--- node/lib/child_process.js -++++ node/lib/child_process.js -+@@ -169,7 +169,7 @@ function fork(modulePath, args = [], options) { -+ throw new ERR_CHILD_PROCESS_IPC_REQUIRED('options.stdio'); -+ } -+ -+- return spawn(options.execPath, args, options); -++ return module.exports.spawn(options.execPath, args, options); -+ } -+ -+ function _forkChild(fd, serializationMode) { -+diff --git node/lib/internal/bootstrap/pkg.js node/lib/internal/bootstrap/pkg.js -+new file mode 100644 -+index 0000000000..a697294fdf -+--- /dev/null -++++ node/lib/internal/bootstrap/pkg.js -+@@ -0,0 +1,49 @@ -++'use strict'; -++ -++const { -++ prepareWorkerThreadExecution, -++ prepareMainThreadExecution -++} = require('internal/process/pre_execution'); -++ -++if (internalBinding('worker').isMainThread) { -++ prepareMainThreadExecution(true); -++} else { -++ prepareWorkerThreadExecution(); -++} -++ -++(function () { -++ var __require__ = require; -++ var fs = __require__('fs'); -++ var vm = __require__('vm'); -++ function readPrelude (fd) { -++ var PAYLOAD_POSITION = '// PAYLOAD_POSITION //' | 0; -++ var PAYLOAD_SIZE = '// PAYLOAD_SIZE //' | 0; -++ var PRELUDE_POSITION = '// PRELUDE_POSITION //' | 0; -++ var PRELUDE_SIZE = '// PRELUDE_SIZE //' | 0; -++ if (!PRELUDE_POSITION) { -++ // no prelude - remove entrypoint from argv[1] -++ process.argv.splice(1, 1); -++ return { undoPatch: true }; -++ } -++ var prelude = Buffer.alloc(PRELUDE_SIZE); -++ var read = fs.readSync(fd, prelude, 0, PRELUDE_SIZE, PRELUDE_POSITION); -++ if (read !== PRELUDE_SIZE) { -++ console.error('Pkg: Error reading from file.'); -++ process.exit(1); -++ } -++ var s = new vm.Script(prelude, { filename: 'pkg/prelude/bootstrap.js' }); -++ var fn = s.runInThisContext(); -++ return fn(process, __require__, -++ console, fd, PAYLOAD_POSITION, PAYLOAD_SIZE); -++ } -++ (function () { -++ var fd = fs.openSync(process.execPath, 'r'); -++ var result = readPrelude(fd); -++ if (result && result.undoPatch) { -++ var bindingFs = process.binding('fs'); -++ fs.internalModuleStat = bindingFs.internalModuleStat; -++ fs.internalModuleReadJSON = bindingFs.internalModuleReadJSON; -++ fs.closeSync(fd); -++ } -++ }()); -++}()); -+diff --git node/lib/internal/modules/cjs/loader.js node/lib/internal/modules/cjs/loader.js -+index ebccdb2825..178299c752 100644 -+--- node/lib/internal/modules/cjs/loader.js -++++ node/lib/internal/modules/cjs/loader.js -+@@ -141,7 +141,7 @@ const { -+ const assert = require('internal/assert'); -+ const fs = require('fs'); -+ const path = require('path'); -+-const { internalModuleStat } = internalBinding('fs'); -++const internalModuleStat = function (f) { return require('fs').internalModuleStat(f); } -+ const { safeGetenv } = internalBinding('credentials'); -+ const { -+ privateSymbols: { -+diff --git node/lib/internal/modules/package_json_reader.js node/lib/internal/modules/package_json_reader.js -+index 88c079d10d..a7eaca0574 100644 -+--- node/lib/internal/modules/package_json_reader.js -++++ node/lib/internal/modules/package_json_reader.js -+@@ -12,7 +12,7 @@ const { -+ const { -+ ERR_INVALID_PACKAGE_CONFIG, -+ } = require('internal/errors').codes; -+-const { internalModuleReadJSON } = internalBinding('fs'); -++const internalModuleReadJSON = function (f) { return require('fs').internalModuleReadJSON(f); } -+ const { resolve, sep, toNamespacedPath } = require('path'); -+ const permission = require('internal/process/permission'); -+ const { kEmptyObject } = require('internal/util'); -+diff --git node/lib/internal/process/pre_execution.js node/lib/internal/process/pre_execution.js -+index 0bbabb80c2..5dd097b69e 100644 -+--- node/lib/internal/process/pre_execution.js -++++ node/lib/internal/process/pre_execution.js -+@@ -50,7 +50,11 @@ const { -+ }, -+ } = require('internal/v8/startup_snapshot'); -+ -++let _alreadyPrepared = false; -++ -+ function prepareMainThreadExecution(expandArgv1 = false, initializeModules = true) { -++ if (_alreadyPrepared === true) return; -++ _alreadyPrepared = true; -+ return prepareExecution({ -+ expandArgv1, -+ initializeModules, -+@@ -243,7 +247,12 @@ function patchProcessObject(expandArgv1) { -+ let mainEntry; -+ // If requested, update process.argv[1] to replace whatever the user provided with the resolved absolute file path of -+ // the entry point. -+- if (expandArgv1 && process.argv[1] && process.argv[1][0] !== '-') { -++ if ( -++ expandArgv1 && -++ process.argv[1] && -++ process.argv[1][0] !== '-' && -++ process.argv[1] !== 'PKG_DUMMY_ENTRYPOINT' -++ ) { -+ // Expand process.argv[1] into a full path. -+ const path = require('path'); -+ try { -+@@ -739,6 +748,7 @@ function loadPreloadModules() { -+ // For user code, we preload modules if `-r` is passed -+ const preloadModules = getOptionValue('--require'); -+ if (preloadModules && preloadModules.length > 0) { -++ assert(false, '--require is not supported'); -+ const { -+ Module: { -+ _preloadModules, -+diff --git node/lib/vm.js node/lib/vm.js -+index a12e932d8d..931a996330 100644 -+--- node/lib/vm.js -++++ node/lib/vm.js -+@@ -98,6 +98,7 @@ class Script extends ContextifyScript { -+ produceCachedData = false, -+ importModuleDynamically, -+ [kParsingContext]: parsingContext, -++ sourceless = false, -+ } = options; -+ -+ validateString(filename, 'options.filename'); -+@@ -121,7 +122,8 @@ class Script extends ContextifyScript { -+ cachedData, -+ produceCachedData, -+ parsingContext, -+- hostDefinedOptionId); -++ hostDefinedOptionId, -++ sourceless); -+ } catch (e) { -+ throw e; /* node-do-not-add-exception-line */ -+ } -+diff --git node/src/inspector_agent.cc node/src/inspector_agent.cc -+index bb39a0cb42..5fa6cb65cc 100644 -+--- node/src/inspector_agent.cc -++++ node/src/inspector_agent.cc -+@@ -766,11 +766,6 @@ bool Agent::Start(const std::string& path, -+ StartIoThreadAsyncCallback)); -+ uv_unref(reinterpret_cast<uv_handle_t*>(&start_io_thread_async)); -+ start_io_thread_async.data = this; -+- if (parent_env_->should_start_debug_signal_handler()) { -+- // Ignore failure, SIGUSR1 won't work, but that should not block node -+- // start. -+- StartDebugSignalHandler(); -+- } -+ -+ parent_env_->AddCleanupHook([](void* data) { -+ Environment* env = static_cast<Environment*>(data); -+diff --git node/src/node.cc node/src/node.cc -+index 4ad2c8b804..ab6174fab6 100644 -+--- node/src/node.cc -++++ node/src/node.cc -+@@ -389,6 +389,8 @@ MaybeLocal<Value> StartExecution(Environment* env, StartExecutionCallback cb) { -+ return env->RunSnapshotDeserializeMain(); -+ } -+ -++ StartExecution(env, "internal/bootstrap/pkg"); -++ -+ if (env->worker_context() != nullptr) { -+ return StartExecution(env, "internal/main/worker_thread"); -+ } -+@@ -613,14 +615,6 @@ static void PlatformInit(ProcessInitializationFlags::Flags flags) { -+ } -+ -+ if (!(flags & ProcessInitializationFlags::kNoDefaultSignalHandling)) { -+-#if HAVE_INSPECTOR -+- sigset_t sigmask; -+- sigemptyset(&sigmask); -+- sigaddset(&sigmask, SIGUSR1); -+- const int err = pthread_sigmask(SIG_SETMASK, &sigmask, nullptr); -+- CHECK_EQ(err, 0); -+-#endif // HAVE_INSPECTOR -+- -+ ResetSignalHandlers(); -+ } -+ -+diff --git node/src/node_contextify.cc node/src/node_contextify.cc -+index 7f82bca746..62705f04c5 100644 -+--- node/src/node_contextify.cc -++++ node/src/node_contextify.cc -+@@ -79,6 +79,7 @@ using v8::String; -+ using v8::Symbol; -+ using v8::Uint32; -+ using v8::UnboundScript; -++using v8::V8; -+ using v8::Value; -+ using v8::WeakCallbackInfo; -+ -+@@ -817,13 +818,14 @@ void ContextifyScript::New(const FunctionCallbackInfo<Value>& args) { -+ Local<ArrayBufferView> cached_data_buf; -+ bool produce_cached_data = false; -+ Local<Context> parsing_context = context; -++ bool sourceless = false; -+ -+ Local<Symbol> id_symbol; -+ if (argc > 2) { -+ // new ContextifyScript(code, filename, lineOffset, columnOffset, -+ // cachedData, produceCachedData, parsingContext, -+- // hostDefinedOptionId) -+- CHECK_EQ(argc, 8); -++ // hostDefinedOptionId, sourceless) -++ CHECK_GE(argc, 8); -+ CHECK(args[2]->IsNumber()); -+ line_offset = args[2].As<Int32>()->Value(); -+ CHECK(args[3]->IsNumber()); -+@@ -844,6 +846,10 @@ void ContextifyScript::New(const FunctionCallbackInfo<Value>& args) { -+ } -+ CHECK(args[7]->IsSymbol()); -+ id_symbol = args[7].As<Symbol>(); -++ if (argc > 8) { -++ CHECK(args[8]->IsBoolean()); -++ sourceless = args[8]->IsTrue(); -++ } -+ } -+ -+ ContextifyScript* contextify_script = -+@@ -892,6 +898,10 @@ void ContextifyScript::New(const FunctionCallbackInfo<Value>& args) { -+ ShouldNotAbortOnUncaughtScope no_abort_scope(env); -+ Context::Scope scope(parsing_context); -+ -++ if (sourceless && produce_cached_data) { -++ V8::EnableCompilationForSourcelessUse(); -++ } -++ -+ MaybeLocal<UnboundScript> maybe_v8_script = -+ ScriptCompiler::CompileUnboundScript(isolate, &source, compile_options); -+ -+@@ -906,6 +916,11 @@ void ContextifyScript::New(const FunctionCallbackInfo<Value>& args) { -+ return; -+ } -+ -++ if (sourceless && compile_options == ScriptCompiler::kConsumeCodeCache) { -++ if (!source.GetCachedData()->rejected) { -++ V8::FixSourcelessScript(env->isolate(), v8_script); -++ } -++ } -+ contextify_script->script_.Reset(isolate, v8_script); -+ contextify_script->script_.SetWeak(); -+ contextify_script->object()->SetInternalFieldForNodeCore(kUnboundScriptSlot, -+@@ -939,6 +954,10 @@ void ContextifyScript::New(const FunctionCallbackInfo<Value>& args) { -+ .IsNothing()) -+ return; -+ -++ if (sourceless && produce_cached_data) { -++ V8::DisableCompilationForSourcelessUse(); -++ } -++ -+ TRACE_EVENT_END0(TRACING_CATEGORY_NODE2(vm, script), "ContextifyScript::New"); -+ } -+ -+diff --git node/src/node_main.cc node/src/node_main.cc -+index f66099a557..4048f6bd93 100644 -+--- node/src/node_main.cc -++++ node/src/node_main.cc -+@@ -22,6 +22,8 @@ -+ #include "node.h" -+ #include <cstdio> -+ -++int reorder(int argc, char** argv); -++ -+ #ifdef _WIN32 -+ #include <windows.h> -+ #include <VersionHelpers.h> -+@@ -88,12 +90,95 @@ int wmain(int argc, wchar_t* wargv[]) { -+ } -+ argv[argc] = nullptr; -+ // Now that conversion is done, we can finally start. -+- return node::Start(argc, argv); -++ return reorder(argc, argv); -+ } -+ #else -+ // UNIX -+ -+ int main(int argc, char* argv[]) { -++ return reorder(argc, argv); -++} -++#endif -++ -++#include <string.h> -++ -++int strlen2 (char* s) { -++ int len = 0; -++ while (*s) { -++ len += 1; -++ s += 1; -++ } -++ return len; -++} -++ -++bool should_set_dummy() { -++#ifdef _WIN32 -++ #define MAX_ENV_LENGTH 32767 -++ wchar_t execpath_env[MAX_ENV_LENGTH]; -++ DWORD result = GetEnvironmentVariableW(L"PKG_EXECPATH", execpath_env, MAX_ENV_LENGTH); -++ if (result == 0 && GetLastError() != ERROR_SUCCESS) return true; -++ return wcscmp(execpath_env, L"PKG_INVOKE_NODEJS") != 0; -++#else -++ const char* execpath_env = getenv("PKG_EXECPATH"); -++ if (!execpath_env) return true; -++ return strcmp(execpath_env, "PKG_INVOKE_NODEJS") != 0; -++#endif -++} -++ -++// for uv_setup_args -++int adjacent(int argc, char** argv) { -++ size_t size = 0; -++ for (int i = 0; i < argc; i++) { -++ size += strlen(argv[i]) + 1; -++ } -++ char* args = new char[size]; -++ size_t pos = 0; -++ for (int i = 0; i < argc; i++) { -++ memcpy(&args[pos], argv[i], strlen(argv[i]) + 1); -++ argv[i] = &args[pos]; -++ pos += strlen(argv[i]) + 1; -++ } -+ return node::Start(argc, argv); -+ } -++ -++volatile char* BAKERY = (volatile char*) "\0// BAKERY // BAKERY " \ -++ "// BAKERY // BAKERY // BAKERY // BAKERY // BAKERY // BAKERY " \ -++ "// BAKERY // BAKERY // BAKERY // BAKERY // BAKERY // BAKERY " \ -++ "// BAKERY // BAKERY // BAKERY // BAKERY // BAKERY // BAKERY "; -++ -++#ifdef __clang__ -++__attribute__((optnone)) -++#elif defined(__GNUC__) -++__attribute__((optimize(0))) -+ #endif -++ -++int load_baked(char** nargv) { -++ int c = 1; -++ -++ char* bakery = (char*) BAKERY; -++ while (true) { -++ size_t width = strlen2(bakery); -++ if (width == 0) break; -++ nargv[c++] = bakery; -++ bakery += width + 1; -++ } -++ -++ return c; -++} -++ -++int reorder(int argc, char** argv) { -++ char** nargv = new char*[argc + 64]; -++ -++ nargv[0] = argv[0]; -++ int c = load_baked(nargv); -++ -++ if (should_set_dummy()) { -++ nargv[c++] = (char*) "PKG_DUMMY_ENTRYPOINT"; -++ } -++ -++ for (int i = 1; i < argc; i++) { -++ nargv[c++] = argv[i]; -++ } -++ -++ return adjacent(c, nargv); -++} -+diff --git node/src/node_options.cc node/src/node_options.cc -+index 9d5accc3eb..8e3c304a13 100644 -+--- node/src/node_options.cc -++++ node/src/node_options.cc -+@@ -316,6 +316,7 @@ void Parse( -+ // TODO(addaleax): Make that unnecessary. -+ -+ DebugOptionsParser::DebugOptionsParser() { -++ return; -+ #ifndef DISABLE_SINGLE_EXECUTABLE_APPLICATION -+ if (sea::IsSingleExecutable()) return; -+ #endif -+diff --git node/tools/icu/icu-generic.gyp node/tools/icu/icu-generic.gyp -+index 2655b9e694..1d951571c7 100644 -+--- node/tools/icu/icu-generic.gyp -++++ node/tools/icu/icu-generic.gyp -+@@ -52,7 +52,7 @@ -+ 'conditions': [ -+ [ 'os_posix == 1 and OS != "mac" and OS != "ios"', { -+ 'cflags': [ '-Wno-deprecated-declarations', '-Wno-strict-aliasing' ], -+- 'cflags_cc': [ '-frtti' ], -++ 'cflags_cc': [ '-frtti', '-fno-lto' ], -+ 'cflags_cc!': [ '-fno-rtti' ], -+ }], -+ [ 'OS == "mac" or OS == "ios"', { diff --git a/www/onlyoffice-documentserver/files/extra-patch-pkg-fetch_patches_node.v20.19.4.cpp.patch b/www/onlyoffice-documentserver/files/extra-patch-pkg-fetch_patches_node.v20.19.4.cpp.patch new file mode 100644 index 000000000000..0940e6667edd --- /dev/null +++ b/www/onlyoffice-documentserver/files/extra-patch-pkg-fetch_patches_node.v20.19.4.cpp.patch @@ -0,0 +1,192 @@ +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.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 @@ ++ '-Wall -O3 -fomit-frame-pointer', ++ ], ++ 'openssl_ex_libs_linux-elf': [ ++- '-ldl -pthread', +++ '-pthread', ++ ], ++ 'openssl_cli_srcs_linux-elf': [ ++ '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 ++@@ -977,7 +977,7 @@ ++ '-Wall -O3 -fomit-frame-pointer', ++ ], ++ 'openssl_ex_libs_linux-elf': [ ++- '-ldl -pthread', +++ '-pthread', ++ ], ++ }, ++ 'include_dirs': [ ++--- 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 @@ ++ { +++ 'defines': ['OPENSSL_NO_ASM'], ++ 'conditions': [ ++ ['target_arch=="ppc64" and OS in ("aix", "os400")', { ++ 'includes': ['config/archs/aix64-gcc-as/no-asm/openssl-cl.gypi'], ++@@ -45,7 +46,7 @@ ++ 'includes': ['config/archs/linux64-loongarch64/no-asm/openssl-cl.gypi'], ++ }, { ++ # Other architectures don't use assembly ++- 'includes': ['config/archs/linux-x86_64/no-asm/openssl-cl.gypi'], +++ 'includes': ['config/archs/linux-elf/no-asm/openssl-cl.gypi'], ++ }], ++ ], ++ } ++--- node/deps/openssl/openssl_no_asm.gypi.orig 2023-05-16 06:58:20 UTC +++++ node/deps/openssl/openssl_no_asm.gypi ++@@ -44,7 +44,7 @@ ++ 'includes': ['config/archs/linux64-riscv64/no-asm/openssl.gypi'], ++ }, { ++ # Other architectures don't use assembly ++- 'includes': ['config/archs/linux-x86_64/no-asm/openssl.gypi'], +++ 'includes': ['config/archs/linux-elf/no-asm/openssl.gypi'], ++ }], ++ ], ++ } ++--- node/deps/v8/src/base/platform/platform-freebsd.cc.orig 2023-05-16 06:58:20 UTC +++++ node/deps/v8/src/base/platform/platform-freebsd.cc ++@@ -82,8 +82,8 @@ std::vector<OS::SharedLibraryAddress> OS::GetSharedLib ++ lib_name = std::string(path); ++ } ++ result.push_back(SharedLibraryAddress( ++- lib_name, reinterpret_cast<uintptr_t>(map->kve_start), ++- reinterpret_cast<uintptr_t>(map->kve_end))); +++ lib_name, static_cast<uintptr_t>(map->kve_start), +++ static_cast<uintptr_t>(map->kve_end))); ++ } ++ ++ start += ssize; ++--- 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 @@ ++ // Use of this source code is governed by a BSD-style license that can be ++ // found in the LICENSE file. ++ +++#include "include/v8config.h" +++ ++ // CPU specific code for arm independent of OS goes here. ++ #ifdef __arm__ ++ #ifdef __QNXNTO__ ++ #include <sys/mman.h> // for cache flushing. ++ #undef MAP_TYPE ++ #elif V8_OS_FREEBSD +++#include <sys/cdefs.h> ++ #include <machine/sysarch.h> // for cache flushing ++ #include <sys/types.h> ++ #elif V8_OS_STARBOARD ++--- node/deps/v8/src/codegen/ppc/constants-ppc.h.orig 2023-05-16 06:58:20 UTC +++++ node/deps/v8/src/codegen/ppc/constants-ppc.h ++@@ -36,7 +36,7 @@ ++ #endif ++ ++ #if !(V8_HOST_ARCH_PPC || V8_HOST_ARCH_PPC64) || !V8_TARGET_ARCH_PPC64 || \ ++- V8_TARGET_LITTLE_ENDIAN || (defined(_CALL_ELF) && _CALL_ELF == 2) +++ (defined(_CALL_ELF) && _CALL_ELF == 2) ++ #define ABI_RETURNS_OBJECT_PAIRS_IN_REGS 1 ++ #else ++ #define ABI_RETURNS_OBJECT_PAIRS_IN_REGS 0 ++@@ -44,7 +44,7 @@ ++ ++ #if !(V8_HOST_ARCH_PPC || V8_HOST_ARCH_PPC64) || \ ++ (V8_TARGET_ARCH_PPC64 && \ ++- (V8_TARGET_LITTLE_ENDIAN || (defined(_CALL_ELF) && _CALL_ELF == 2))) +++ (defined(_CALL_ELF) && _CALL_ELF == 2)) ++ #define ABI_CALL_VIA_IP 1 ++ #else ++ #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 ++@@ -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]); +++#elif V8_TARGET_ARCH_PPC64 +++ state->pc = reinterpret_cast<void*>(mcontext.mc_srr0); +++ state->sp = reinterpret_cast<void*>(mcontext.mc_frame[1]); +++ state->fp = reinterpret_cast<void*>(mcontext.mc_frame[31]); ++ #endif // V8_HOST_ARCH_* ++ #elif V8_OS_NETBSD ++ #if V8_HOST_ARCH_IA32 ++--- 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': [ +++ ['openssl_no_asm==1', { +++ 'defines': [ 'OPENSSL_NO_ASM' ], +++ }], ++ [ '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 @@ ++ # include <netdb.h> ++ #endif // __POSIX__ ++ ++-# include <ares_nameser.h> +++# include <arpa/nameser.h> ++ ++ namespace node { ++ namespace cares_wrap { ++--- node/tools/v8_gypfiles/v8.gyp.orig 2023-05-16 06:58:22 UTC +++++ node/tools/v8_gypfiles/v8.gyp ++@@ -1091,7 +1091,7 @@ ++ }], ++ # Platforms that don't have Compare-And-Swap (CAS) support need to link atomic library ++ # to implement atomic memory access ++- ['v8_current_cpu in ["mips64", "mips64el", "ppc", "arm", "riscv64", "loong64"]', { +++ ['v8_current_cpu in ["mips64", "mips64el", "ppc", "riscv64", "loong64"]', { ++ 'link_settings': { ++ 'libraries': ['-latomic', ], ++ }, diff --git a/www/onlyoffice-documentserver/files/npm b/www/onlyoffice-documentserver/files/npm index 63b3d2d821f1..303b86ba9102 100644 --- a/www/onlyoffice-documentserver/files/npm +++ b/www/onlyoffice-documentserver/files/npm @@ -1,3 +1,3 @@ #!/bin/sh -exec %%LOCALBASE%%/bin/npm --offline --nodedir=%%LOCALBASE%% "$@" -#exec %%LOCALBASE%%/bin/npm --nodedir=%%LOCALBASE%% "$@" +exec %%LOCALBASE%%/bin/npm --offline "$@" +#exec %%LOCALBASE%%/bin/npm "$@" diff --git a/www/onlyoffice-documentserver/files/package-lock.json b/www/onlyoffice-documentserver/files/package-lock.json index 3894802eb620..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.5.1" + "@yao-pkg/pkg": "^6.6.0" } }, "node_modules/@babel/generator": { @@ -118,15 +118,15 @@ } }, "node_modules/@yao-pkg/pkg": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@yao-pkg/pkg/-/pkg-6.5.1.tgz", - "integrity": "sha512-z6XlySYfnqfm1AfVlBN8A3yeAQniIwL7TKQfDCGsswYSVYLt2snbRefQYsfQQ3pw5lVXrZdLqgTjzaqID9IkWA==", + "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.23", + "@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.23", - "resolved": "https://registry.npmjs.org/@yao-pkg/pkg-fetch/-/pkg-fetch-3.5.23.tgz", - "integrity": "sha512-rn45sqVQSkcJNSBdTnYze3n+kyub4CN8aiWYlPgA9yp9FZeEF+BlpL68kSIm3HaVuANniF+7RBMH5DkC4zlHZA==", + "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", diff --git a/www/onlyoffice-documentserver/files/package.json b/www/onlyoffice-documentserver/files/package.json index 942f29ed7251..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.5.1" + "@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 74dddee61746..4d6a198f38f6 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,8 +1,11 @@ --- build_tools/scripts/build_server.py.orig 2025-06-11 12:56:35 UTC +++ build_tools/scripts/build_server.py -@@ -41,6 +41,10 @@ def make(): +@@ -39,8 +39,12 @@ + base.copy_file(custom_public_key, server_dir + '/Common/sources') + #node22 packaging has issue https://github.com/yao-pkg/pkg/issues/87 - pkg_target = "node20" +- pkg_target = "node20" ++ pkg_target = "node%%PKGFETCH_NODE_MAJOR_VERSION%%" + if ("freebsd" == base.host_platform()): + pkg_target += "-freebsd" @@ -11,7 +14,7 @@ if ("linux" == base.host_platform()): pkg_target += "-linux" if (-1 != config.option("platform").find("linux_arm64")): -@@ -49,14 +53,15 @@ def make(): +@@ -49,14 +53,15 @@ 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 c1fbe9c44b38..cea340cf686e 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 2025-06-11 12:56:35 UTC +--- build_tools/scripts/core_common/make_common.py.orig 2025-08-05 15:06:08 UTC +++ build_tools/scripts/core_common/make_common.py -@@ -8,21 +8,21 @@ import config +@@ -8,22 +8,22 @@ import config import base import glob @@ -22,6 +22,7 @@ +#import hunspell import glew import harfbuzz + import oo_brotli -import hyphen -import googletest +#import hyphen @@ -29,7 +30,7 @@ import libvlc def check_android_ndk_macos_arm(dir): -@@ -38,19 +38,19 @@ def make(): +@@ -39,19 +39,19 @@ def make(): if base.is_dir(toolchain): check_android_ndk_macos_arm(toolchain + "/prebuilt") @@ -54,6 +55,6 @@ - googletest.make() +# hyphen.make() +# googletest.make() + oo_brotli.make() if config.check_option("build-libvlc", "1"): - libvlc.make() 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-build__tools_scripts_core__common_modules_iwork.py b/www/onlyoffice-documentserver/files/patch-build__tools_scripts_core__common_modules_iwork.py index fc7d27d3fabf..74b86c964128 100644 --- a/www/onlyoffice-documentserver/files/patch-build__tools_scripts_core__common_modules_iwork.py +++ b/www/onlyoffice-documentserver/files/patch-build__tools_scripts_core__common_modules_iwork.py @@ -1,5 +1,5 @@ ---- build_tools/scripts/core_common/modules/iwork.py.orig 2025-03-08 16:01:52.467009000 +0100 -+++ build_tools/scripts/core_common/modules/iwork.py 2025-03-08 16:19:57.046228000 +0100 +--- build_tools/scripts/core_common/modules/iwork.py.orig 2025-08-05 15:06:08 UTC ++++ build_tools/scripts/core_common/modules/iwork.py @@ -30,9 +30,9 @@ def make(use_gperf = True): if use_gperf: cmd_args.append("--gperf") diff --git a/www/onlyoffice-documentserver/files/patch-build__tools_scripts_core__common_modules_v8.py b/www/onlyoffice-documentserver/files/patch-build__tools_scripts_core__common_modules_v8.py index b2204a037714..2b9632e8092f 100644 --- a/www/onlyoffice-documentserver/files/patch-build__tools_scripts_core__common_modules_v8.py +++ b/www/onlyoffice-documentserver/files/patch-build__tools_scripts_core__common_modules_v8.py @@ -1,14 +1,14 @@ ---- build_tools/scripts/core_common/modules/v8.py.orig 2024-02-07 10:44:24.000000000 +0100 -+++ build_tools/scripts/core_common/modules/v8.py 2024-03-01 10:40:07.626578000 +0100 -@@ -9,6 +9,7 @@ def clean(): +--- build_tools/scripts/core_common/modules/v8.py.orig 2025-08-05 15:06:08 UTC ++++ build_tools/scripts/core_common/modules/v8.py +@@ -9,6 +9,7 @@ import subprocess import v8_89 def clean(): + return if base.is_dir("depot_tools"): - base.delete_dir_with_access_error("depot_tools"); + base.delete_dir_with_access_error("depot_tools") base.delete_dir("depot_tools") -@@ -26,6 +27,8 @@ def is_main_platform(): +@@ -26,6 +27,8 @@ def clean(): def is_main_platform(): if (config.check_option("platform", "win_64") or config.check_option("platform", "win_32")): return True @@ -44,7 +44,7 @@ if not base.is_dir("v8"): @@ -121,8 +109,8 @@ def make(): base.delete_dir_with_access_error("v8/buildtools/win") - base.cmd("git", ["config", "--system", "core.longpaths", "true"]) + base.cmd("git", ["config", "--system", "core.longpaths", "true"], True) base.cmd("gclient", ["sync", "--force"], True) - else: - base.cmd("gclient", ["sync"], True) diff --git a/www/onlyoffice-documentserver/files/patch-build__tools_scripts_core__common_modules_v8__89.py b/www/onlyoffice-documentserver/files/patch-build__tools_scripts_core__common_modules_v8__89.py index 187eb0d78e41..23d05d781124 100644 --- a/www/onlyoffice-documentserver/files/patch-build__tools_scripts_core__common_modules_v8__89.py +++ b/www/onlyoffice-documentserver/files/patch-build__tools_scripts_core__common_modules_v8__89.py @@ -1,6 +1,6 @@ ---- build_tools/scripts/core_common/modules/v8_89.py.orig 2024-02-07 10:44:24.000000000 +0100 -+++ build_tools/scripts/core_common/modules/v8_89.py 2024-03-01 10:42:06.847661000 +0100 -@@ -115,46 +115,7 @@ def make(): +--- build_tools/scripts/core_common/modules/v8_89.py.orig 2025-08-05 15:06:08 UTC ++++ build_tools/scripts/core_common/modules/v8_89.py +@@ -123,46 +123,7 @@ def make(): base.cmd("git", ["config", "--global", "http.postBuffer", "157286400"], True) os.chdir(base_dir) @@ -47,9 +47,9 @@ os.chdir("v8") gn_args = ["v8_static_library=true", -@@ -163,6 +124,11 @@ def make(): +@@ -170,6 +131,11 @@ def make(): + "v8_monolithic=true", "v8_use_external_startup_data=false", - "use_custom_libcxx=false", "treat_warnings_as_errors=false"] + + if config.check_option("platform", "freebsd_64"): diff --git a/www/onlyoffice-documentserver/files/patch-clang19 b/www/onlyoffice-documentserver/files/patch-clang19 index a17acc4bf5f9..b095611d738d 100644 --- a/www/onlyoffice-documentserver/files/patch-clang19 +++ b/www/onlyoffice-documentserver/files/patch-clang19 @@ -21,9 +21,7 @@ Date: 2023-08-17T13:50:11-07:00 Auto-Submit: Andrey Kosyakov <caseq@chromium.org> Cr-Commit-Position: refs/heads/main@{#89559} -diff --git deps/v8/src/inspector/string-16.cc deps/v8/src/inspector/string-16.cc -index a8b786a8166..6df9963e970 100644 ---- core/Common/3dParty/v8_89/v8/src/inspector/string-16.cc +--- core/Common/3dParty/v8_89/v8/src/inspector/string-16.cc.orig 2021-04-12 21:00:33 UTC +++ core/Common/3dParty/v8_89/v8/src/inspector/string-16.cc @@ -27,7 +27,7 @@ bool isSpaceOrNewLine(UChar c) { return isASCII(c) && c <= ' ' && (c == ' ' || (c <= 0xD && c >= 0x9)); @@ -34,7 +32,7 @@ index a8b786a8166..6df9963e970 100644 bool* ok = nullptr) { std::vector<char> buffer; buffer.reserve(length + 1); -@@ -50,6 +50,8 @@ int64_t charactersToInteger(const UChar* characters, size_t length, +@@ -50,6 +50,8 @@ int64_t charactersToInteger(const UChar* characters, s String16::String16(const UChar* characters, size_t size) : m_impl(characters, size) {} @@ -43,21 +41,18 @@ index a8b786a8166..6df9963e970 100644 String16::String16(const UChar* characters) : m_impl(characters) {} -@@ -241,6 +243,10 @@ String16 String16::fromUTF16LE(const UChar* stringStart, size_t length) { +@@ -231,6 +233,10 @@ String16 String16::fromUTF16LE(const UChar* stringStar + // No need to do anything on little endian machines. + return String16(stringStart, length); #endif // V8_TARGET_BIG_ENDIAN - } - -+String16 String16::fromUTF16LE(const uint16_t* stringStart, size_t length) { -+ return fromUTF16LE(reinterpret_cast<const UChar*>(stringStart), length); +} + - std::string String16::utf8() const { - return UTF16ToUTF8(m_impl.data(), m_impl.size()); ++String16 String16::fromUTF16LE(const uint16_t* stringStart, size_t length) { ++ return fromUTF16LE(reinterpret_cast<const UChar*>(stringStart), length); } - -diff --git deps/v8/src/inspector/string-16.h deps/v8/src/inspector/string-16.h -index 1678ffb2e1e..d9f6c466ab1 100644 ---- core/Common/3dParty/v8_89/v8/src/inspector/string-16.h + + std::string String16::utf8() const { +--- core/Common/3dParty/v8_89/v8/src/inspector/string-16.h.orig 2021-04-12 21:00:33 UTC +++ core/Common/3dParty/v8_89/v8/src/inspector/string-16.h @@ -6,6 +6,7 @@ #define V8_INSPECTOR_STRING_16_H_ @@ -67,7 +62,7 @@ index 1678ffb2e1e..d9f6c466ab1 100644 #include <cctype> #include <climits> #include <cstring> -@@ -17,7 +18,7 @@ namespace v8_inspector { +@@ -17,7 +18,7 @@ namespace v8_inspector { @@ -104,10 +99,7 @@ index 1678ffb2e1e..d9f6c466ab1 100644 size_t length); std::size_t hash() const { - -diff --git deps/v8/src/inspector/v8-string-conversions.cc deps/v8/src/inspector/v8-string-conversions.cc -index 0c75e66b972..8cf19be816c 100644 ---- core/Common/3dParty/v8_89/v8/src/inspector/v8-string-conversions.cc +--- core/Common/3dParty/v8_89/v8/src/inspector/v8-string-conversions.cc.orig 2021-04-12 21:00:33 UTC +++ core/Common/3dParty/v8_89/v8/src/inspector/v8-string-conversions.cc @@ -12,7 +12,7 @@ @@ -118,7 +110,7 @@ index 0c75e66b972..8cf19be816c 100644 using UChar32 = uint32_t; bool isASCII(UChar c) { return !(c & ~0x7F); } -@@ -386,7 +386,7 @@ std::string UTF16ToUTF8(const UChar* stringStart, size_t length) { +@@ -389,7 +389,7 @@ std::string UTF16ToUTF8(const UChar* stringStart, size std::basic_string<UChar> UTF8ToUTF16(const char* stringStart, size_t length) { if (!stringStart || !length) return std::basic_string<UChar>(); @@ -127,7 +119,7 @@ index 0c75e66b972..8cf19be816c 100644 UChar* bufferStart = buffer.data(); UChar* bufferCurrent = bufferStart; -@@ -395,7 +395,7 @@ std::basic_string<UChar> UTF8ToUTF16(const char* stringStart, size_t length) { +@@ -398,7 +398,7 @@ std::basic_string<UChar> UTF8ToUTF16(const char* strin reinterpret_cast<const char*>(stringStart + length), &bufferCurrent, bufferCurrent + buffer.size(), nullptr, true) != conversionOK) @@ -136,9 +128,7 @@ index 0c75e66b972..8cf19be816c 100644 size_t utf16Length = bufferCurrent - bufferStart; return std::basic_string<UChar>(bufferStart, bufferStart + utf16Length); } -diff --git deps/v8/src/inspector/v8-string-conversions.h deps/v8/src/inspector/v8-string-conversions.h -index eb33c6816a5..1126255dac2 100644 ---- core/Common/3dParty/v8_89/v8/src/inspector/v8-string-conversions.h +--- core/Common/3dParty/v8_89/v8/src/inspector/v8-string-conversions.h.orig 2021-04-12 21:00:33 UTC +++ core/Common/3dParty/v8_89/v8/src/inspector/v8-string-conversions.h @@ -5,13 +5,15 @@ #ifndef V8_INSPECTOR_V8_STRING_CONVERSIONS_H_ @@ -158,7 +148,7 @@ index eb33c6816a5..1126255dac2 100644 } // namespace v8_inspector #endif // V8_INSPECTOR_V8_STRING_CONVERSIONS_H_ ---- core/Common/3dParty/v8_89/v8/third_party/inspector_protocol/crdtp/test_platform_v8.cc +--- core/Common/3dParty/v8_89/v8/third_party/inspector_protocol/crdtp/test_platform_v8.cc.orig 2021-04-12 21:00:33 UTC +++ core/Common/3dParty/v8_89/v8/third_party/inspector_protocol/crdtp/test_platform_v8.cc @@ -11,13 +11,16 @@ namespace v8_crdtp { diff --git a/www/onlyoffice-documentserver/files/patch-core_Apple_IWork.cpp b/www/onlyoffice-documentserver/files/patch-core_Apple_IWork.cpp index 3ee3b46a22d5..1ff708a7590b 100644 --- a/www/onlyoffice-documentserver/files/patch-core_Apple_IWork.cpp +++ b/www/onlyoffice-documentserver/files/patch-core_Apple_IWork.cpp @@ -1,5 +1,5 @@ ---- core/Apple/IWork.cpp.orig 2025-03-08 16:26:16.590289000 +0100 -+++ core/Apple/IWork.cpp 2025-03-08 16:45:14.932729000 +0100 +--- core/Apple/IWork.cpp.orig 2025-08-02 18:33:34 UTC ++++ core/Apple/IWork.cpp @@ -6,7 +6,8 @@ #include <libodfgen/OdtGenerator.hxx> #include <libodfgen/OdsGenerator.hxx> diff --git a/www/onlyoffice-documentserver/files/patch-core_Apple_IWork.pro b/www/onlyoffice-documentserver/files/patch-core_Apple_IWork.pro index 49dbd6d80585..ae16f66a185b 100644 --- a/www/onlyoffice-documentserver/files/patch-core_Apple_IWork.pro +++ b/www/onlyoffice-documentserver/files/patch-core_Apple_IWork.pro @@ -1,6 +1,6 @@ ---- core/Apple/IWork.pro.orig 2025-03-08 16:31:03.447633000 +0100 -+++ core/Apple/IWork.pro 2025-03-08 17:07:58.170674000 +0100 -@@ -10,6 +10,14 @@ DEFINES += IWORK_USE_DYNAMIC_LIBRARY +--- core/Apple/IWork.pro.orig 2025-08-02 18:33:34 UTC ++++ core/Apple/IWork.pro +@@ -10,6 +10,14 @@ CONFIG += plugin DEFINES += IWORK_USE_DYNAMIC_LIBRARY @@ -15,7 +15,7 @@ CORE_ROOT_DIR = $$PWD/.. PWD_ROOT_DIR = $$PWD include($$CORE_ROOT_DIR/Common/base.pri) -@@ -38,8 +46,8 @@ include($$CORE_ROOT_DIR/Common/3dParty/apple/apple.pri +@@ -38,8 +46,8 @@ include($$PWD/../DesktopEditor/xml/build/qt/libxml2.pr include($$CORE_ROOT_DIR/Common/3dParty/apple/apple.pri) # TEST diff --git a/www/onlyoffice-documentserver/files/patch-core_Apple_StringDocumentHandler.hxx b/www/onlyoffice-documentserver/files/patch-core_Apple_StringDocumentHandler.hxx index 2ba2e7398244..47c1e5bbbbd7 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-08-08 19:00:43 UTC ++++ core/Apple/StringDocumentHandler.hxx +@@ -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_brotli_make.py b/www/onlyoffice-documentserver/files/patch-core_Common_3dParty_brotli_make.py new file mode 100644 index 000000000000..5313593d9366 --- /dev/null +++ b/www/onlyoffice-documentserver/files/patch-core_Common_3dParty_brotli_make.py @@ -0,0 +1,11 @@ +--- core/Common/3dParty/brotli/make.py.orig 2025-08-02 18:33:34 UTC ++++ core/Common/3dParty/brotli/make.py +@@ -10,7 +10,7 @@ def clear_module(): + base.delete_dir_with_access_error("brotli") + return + +-base.check_module_version("1", clear_module) ++#base.check_module_version("1", clear_module) + + # fetch harfbuzz + if not base.is_dir("brotli"): 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_openssl_openssl.pri b/www/onlyoffice-documentserver/files/patch-core_Common_3dParty_openssl_openssl.pri index dc322326cf8e..bdd57c356f17 100644 --- a/www/onlyoffice-documentserver/files/patch-core_Common_3dParty_openssl_openssl.pri +++ b/www/onlyoffice-documentserver/files/patch-core_Common_3dParty_openssl_openssl.pri @@ -1,5 +1,5 @@ ---- core/Common/3dParty/openssl/openssl.pri.orig 2023-06-14 14:31:26.960051000 +0200 -+++ core/Common/3dParty/openssl/openssl.pri 2023-06-14 14:31:00.960232000 +0200 +--- core/Common/3dParty/openssl/openssl.pri.orig 2025-08-02 18:33:34 UTC ++++ core/Common/3dParty/openssl/openssl.pri @@ -32,8 +32,8 @@ core_windows { LIBS += $$OPENSSL_LIBS_DIRECTORY/libssl.lib LIBS += $$OPENSSL_LIBS_DIRECTORY/libcrypto.lib diff --git a/www/onlyoffice-documentserver/files/patch-core_Common_3dParty_v8__89_v8_build_config_clang_BUILD.gn b/www/onlyoffice-documentserver/files/patch-core_Common_3dParty_v8__89_v8_build_config_clang_BUILD.gn index 179516c183f5..c58ca9dcf1f7 100644 --- a/www/onlyoffice-documentserver/files/patch-core_Common_3dParty_v8__89_v8_build_config_clang_BUILD.gn +++ b/www/onlyoffice-documentserver/files/patch-core_Common_3dParty_v8__89_v8_build_config_clang_BUILD.gn @@ -1,7 +1,7 @@ Fix build with llvm16 ---- core/Common/3dParty/v8_89/v8/build/config/clang/BUILD.gn.orig 2023-07-17 10:46:22.246271000 +0200 -+++ core/Common/3dParty/v8_89/v8/build/config/clang/BUILD.gn 2023-07-17 10:46:59.136940000 +0200 +--- core/Common/3dParty/v8_89/v8/build/config/clang/BUILD.gn.orig 2022-05-13 11:39:36 UTC ++++ core/Common/3dParty/v8_89/v8/build/config/clang/BUILD.gn @@ -38,5 +38,6 @@ config("extra_warnings") { "-Wstring-conversion", diff --git a/www/onlyoffice-documentserver/files/patch-core_Common_3dParty_v8_v8_build_config_compiler_BUILD.gn b/www/onlyoffice-documentserver/files/patch-core_Common_3dParty_v8_v8_build_config_compiler_BUILD.gn index cf77653a481b..42e4830a4c7a 100644 --- a/www/onlyoffice-documentserver/files/patch-core_Common_3dParty_v8_v8_build_config_compiler_BUILD.gn +++ b/www/onlyoffice-documentserver/files/patch-core_Common_3dParty_v8_v8_build_config_compiler_BUILD.gn @@ -1,4 +1,4 @@ ---- core/Common/3dParty/v8_89/v8/build/config/compiler/BUILD.gn.orig 2022-04-04 20:12:27 UTC +--- core/Common/3dParty/v8_89/v8/build/config/compiler/BUILD.gn.orig 2022-05-13 11:39:36 UTC +++ core/Common/3dParty/v8_89/v8/build/config/compiler/BUILD.gn @@ -132,7 +132,7 @@ declare_args() { # @@ -27,7 +27,18 @@ cflags += [ "-fcrash-diagnostics-dir=" + clang_diagnostic_dir ] cflags += [ -@@ -799,7 +799,7 @@ config("compiler_cpu_abi") { +@@ -785,10 +785,6 @@ config("compiler_cpu_abi") { + ] + } + } else if (current_cpu == "arm") { +- if (is_clang && !is_android && !is_nacl) { +- cflags += [ "--target=arm-linux-gnueabihf" ] +- ldflags += [ "--target=arm-linux-gnueabihf" ] +- } + if (!is_nacl) { + cflags += [ + "-march=$arm_arch", +@@ -799,7 +795,7 @@ config("compiler_cpu_abi") { cflags += [ "-mtune=$arm_tune" ] } } else if (current_cpu == "arm64") { @@ -36,7 +47,7 @@ cflags += [ "--target=aarch64-linux-gnu" ] ldflags += [ "--target=aarch64-linux-gnu" ] } -@@ -1149,7 +1149,7 @@ config("compiler_deterministic") { +@@ -1149,7 +1145,7 @@ config("compiler_deterministic") { "-Xclang", ".", ] @@ -45,7 +56,7 @@ # We don't use clang -cc1as on Windows (yet? https://crbug.com/762167) asmflags = [ "-Wa,-fdebug-compilation-dir,." ] } -@@ -1177,7 +1177,7 @@ config("clang_revision") { +@@ -1177,7 +1173,7 @@ config("clang_revision") { } config("clang_revision") { @@ -54,7 +65,7 @@ update_args = [ "--print-revision", "--verify-version=$clang_version", -@@ -1526,7 +1526,7 @@ config("default_warnings") { +@@ -1526,7 +1522,7 @@ config("default_warnings") { "-Wno-undefined-var-template", ] @@ -63,7 +74,7 @@ # TODO(thakis): https://crbug.com/617318 # Currently goma can not handle case sensitiveness for windows well. cflags += [ "-Wno-nonportable-include-path" ] -@@ -1780,7 +1780,7 @@ config("thin_archive") { +@@ -1780,7 +1776,7 @@ config("thin_archive") { config("thin_archive") { # The macOS and iOS default linker ld64 does not support reading thin # archives. @@ -72,7 +83,7 @@ arflags = [ "-T" ] } else if (is_win && use_lld) { arflags = [ "/llvmlibthin" ] -@@ -2321,11 +2321,11 @@ config("symbols") { +@@ -2321,11 +2317,11 @@ config("symbols") { # flag, so we can use use -g1 for pnacl and nacl-clang compiles. # gcc nacl is is_nacl && !is_clang, pnacl and nacl-clang are && is_clang. if (!is_nacl || is_clang) { 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 index 156b89cc28f9..2a60db707302 100644 --- 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 @@ -1,5 +1,5 @@ ---- 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 +--- core/Common/3dParty/v8_89/v8/src/base/macros.h.orig 2021-04-12 21:00:33 UTC ++++ core/Common/3dParty/v8_89/v8/src/base/macros.h @@ -203,7 +203,8 @@ // base::is_trivially_copyable will differ for these cases. template <typename T> diff --git a/www/onlyoffice-documentserver/files/patch-core_Common_3dParty_v8_v8_testing_gmock_BUILD.gn b/www/onlyoffice-documentserver/files/patch-core_Common_3dParty_v8_v8_testing_gmock_BUILD.gn index 6cc129f1398e..121d7547862b 100644 --- a/www/onlyoffice-documentserver/files/patch-core_Common_3dParty_v8_v8_testing_gmock_BUILD.gn +++ b/www/onlyoffice-documentserver/files/patch-core_Common_3dParty_v8_v8_testing_gmock_BUILD.gn @@ -1,5 +1,5 @@ ---- core/Common/3dParty/v8_89/v8/testing/gmock/BUILD.gn.orig 2022-05-13 18:53:22.198863000 +0200 -+++ core/Common/3dParty/v8_89/v8/testing/gmock/BUILD.gn 2022-05-13 18:53:05.169357000 +0200 +--- core/Common/3dParty/v8_89/v8/testing/gmock/BUILD.gn.orig 2022-05-13 20:53:22 UTC ++++ core/Common/3dParty/v8_89/v8/testing/gmock/BUILD.gn @@ -15,12 +15,13 @@ source_set("gmock") { "include/gmock/gmock-matchers.h", "include/gmock/gmock.h", diff --git a/www/onlyoffice-documentserver/files/patch-core_DesktopEditor_common_Directory.cpp b/www/onlyoffice-documentserver/files/patch-core_DesktopEditor_common_Directory.cpp index 8677840d1541..b227bfc3e1fa 100644 --- a/www/onlyoffice-documentserver/files/patch-core_DesktopEditor_common_Directory.cpp +++ b/www/onlyoffice-documentserver/files/patch-core_DesktopEditor_common_Directory.cpp @@ -45,7 +45,7 @@ BYTE* pUtf8 = NULL; LONG lLen = 0; NSFile::CUtf8Converter::GetUtf8StringFromUnicode(strSrc.c_str(), strSrc.length(), pUtf8, lLen, false); -@@ -495,14 +495,14 @@ namespace NSDirectory +@@ -495,7 +495,7 @@ namespace NSDirectory } #if defined(_WIN32) || defined (_WIN64) if (deleteRoot) RemoveDirectoryW(strDirectory.c_str()); @@ -54,11 +54,3 @@ BYTE* pUtf8 = NULL; LONG lLen = 0; NSFile::CUtf8Converter::GetUtf8StringFromUnicode(strDirectory.c_str(), strDirectory.length(), pUtf8, lLen, false); - rmdir((char*)pUtf8); - delete [] pUtf8; - -- if (deleteRoot = false)CreateDirectory(strDirectory); -+ if (deleteRoot == false)CreateDirectory(strDirectory); - #elif MAC - BYTE* pUtf8 = NULL; - LONG lLen = 0; diff --git a/www/onlyoffice-documentserver/files/patch-core_DesktopEditor_doctrenderer_doctrenderer.pri b/www/onlyoffice-documentserver/files/patch-core_DesktopEditor_doctrenderer_doctrenderer.pri index fff991f7c095..a04a6f66f14c 100644 --- a/www/onlyoffice-documentserver/files/patch-core_DesktopEditor_doctrenderer_doctrenderer.pri +++ b/www/onlyoffice-documentserver/files/patch-core_DesktopEditor_doctrenderer_doctrenderer.pri @@ -1,6 +1,6 @@ ---- ./core/DesktopEditor/doctrenderer/doctrenderer.pri.orig 2025-03-07 15:39:12.468049000 +0100 -+++ ./core/DesktopEditor/doctrenderer/doctrenderer.pri 2025-03-07 15:38:54.771039000 +0100 -@@ -22,6 +22,10 @@ core_android:DEFINES += DISABLE_MEMORY_LIMITATION +--- core/DesktopEditor/doctrenderer/doctrenderer.pri.orig 2025-08-02 18:33:34 UTC ++++ core/DesktopEditor/doctrenderer/doctrenderer.pri +@@ -22,6 +22,10 @@ ADD_DEPENDENCY(graphics, kernel, UnicodeConverter, ker #CONFIG += v8_version_60 core_android:DEFINES += DISABLE_MEMORY_LIMITATION diff --git a/www/onlyoffice-documentserver/files/patch-core_DesktopEditor_doctrenderer_hash.cpp b/www/onlyoffice-documentserver/files/patch-core_DesktopEditor_doctrenderer_hash.cpp index c0d1ba12e105..c3be6a05a0db 100644 --- a/www/onlyoffice-documentserver/files/patch-core_DesktopEditor_doctrenderer_hash.cpp +++ b/www/onlyoffice-documentserver/files/patch-core_DesktopEditor_doctrenderer_hash.cpp @@ -1,5 +1,5 @@ ---- core/DesktopEditor/doctrenderer/hash.cpp.orig 2023-06-14 12:14:26.656325000 +0200 -+++ core/DesktopEditor/doctrenderer/hash.cpp 2023-06-14 14:23:39.149523000 +0200 +--- core/DesktopEditor/doctrenderer/hash.cpp.orig 2025-08-02 18:33:34 UTC ++++ core/DesktopEditor/doctrenderer/hash.cpp @@ -4,12 +4,12 @@ #include "../common/Base64.h" #endif diff --git a/www/onlyoffice-documentserver/files/patch-core_DesktopEditor_fontengine_TextShaper.cpp b/www/onlyoffice-documentserver/files/patch-core_DesktopEditor_fontengine_TextShaper.cpp index c87f8a976e29..41272dabf360 100644 --- a/www/onlyoffice-documentserver/files/patch-core_DesktopEditor_fontengine_TextShaper.cpp +++ b/www/onlyoffice-documentserver/files/patch-core_DesktopEditor_fontengine_TextShaper.cpp @@ -1,5 +1,5 @@ ---- core/DesktopEditor/fontengine/TextShaper.cpp.orig 2022-09-27 21:25:17.640269000 +0200 -+++ core/DesktopEditor/fontengine/TextShaper.cpp 2022-09-27 21:21:12.793630000 +0200 +--- core/DesktopEditor/fontengine/TextShaper.cpp.orig 2025-08-02 18:33:34 UTC ++++ core/DesktopEditor/fontengine/TextShaper.cpp @@ -649,9 +649,9 @@ namespace NSShaper #ifdef SUPPORT_HARFBUZZ_SHAPER diff --git a/www/onlyoffice-documentserver/files/patch-core_DesktopEditor_fontengine_js_cpp_text.cpp b/www/onlyoffice-documentserver/files/patch-core_DesktopEditor_fontengine_js_cpp_text.cpp index b25ccec02bb0..7600e5857aae 100644 --- a/www/onlyoffice-documentserver/files/patch-core_DesktopEditor_fontengine_js_cpp_text.cpp +++ b/www/onlyoffice-documentserver/files/patch-core_DesktopEditor_fontengine_js_cpp_text.cpp @@ -1,6 +1,6 @@ ---- core/DesktopEditor/fontengine/js/cpp/text.cpp.orig 2022-09-27 21:25:17.640548000 +0200 -+++ core/DesktopEditor/fontengine/js/cpp/text.cpp 2022-09-27 21:22:11.216341000 +0200 -@@ -532,9 +532,9 @@ WASM_EXPORT unsigned char* ASC_FT_Get_Glyph_Render_Buf +--- core/DesktopEditor/fontengine/js/cpp/text.cpp.orig 2025-08-02 18:33:34 UTC ++++ core/DesktopEditor/fontengine/js/cpp/text.cpp +@@ -558,9 +558,9 @@ WASM_EXPORT unsigned char* ASC_FT_Get_Glyph_Render_Buf // ------------------------------------------------------------ // HARFBUZZ diff --git a/www/onlyoffice-documentserver/files/patch-core_DesktopEditor_freetype-2.10.4_src_autofit_afshaper.h b/www/onlyoffice-documentserver/files/patch-core_DesktopEditor_freetype-2.10.4_src_autofit_afshaper.h index a8b84e99b90a..aa02570df4ef 100644 --- a/www/onlyoffice-documentserver/files/patch-core_DesktopEditor_freetype-2.10.4_src_autofit_afshaper.h +++ b/www/onlyoffice-documentserver/files/patch-core_DesktopEditor_freetype-2.10.4_src_autofit_afshaper.h @@ -1,5 +1,5 @@ ---- core/DesktopEditor/freetype-2.10.4/src/autofit/afshaper.h.orig 2022-09-27 21:25:17.639848000 +0200 -+++ core/DesktopEditor/freetype-2.10.4/src/autofit/afshaper.h 2022-09-27 21:21:29.147465000 +0200 +--- core/DesktopEditor/freetype-2.10.4/src/autofit/afshaper.h.orig 2025-08-02 18:33:34 UTC ++++ core/DesktopEditor/freetype-2.10.4/src/autofit/afshaper.h @@ -25,9 +25,9 @@ #ifdef FT_CONFIG_OPTION_USE_HARFBUZZ diff --git a/www/onlyoffice-documentserver/files/patch-core_DesktopEditor_pluginsmanager_main.cpp b/www/onlyoffice-documentserver/files/patch-core_DesktopEditor_pluginsmanager_main.cpp index 0388d97191e9..2274a7dc29a9 100644 --- a/www/onlyoffice-documentserver/files/patch-core_DesktopEditor_pluginsmanager_main.cpp +++ b/www/onlyoffice-documentserver/files/patch-core_DesktopEditor_pluginsmanager_main.cpp @@ -1,5 +1,5 @@ ---- core/DesktopEditor/pluginsmanager/main.cpp.orig 2023-06-19 10:50:14.262222000 +0200 -+++ core/DesktopEditor/pluginsmanager/main.cpp 2023-06-19 10:50:48.083404000 +0200 +--- core/DesktopEditor/pluginsmanager/main.cpp.orig 2025-08-02 18:33:34 UTC ++++ core/DesktopEditor/pluginsmanager/main.cpp @@ -52,7 +52,7 @@ #undef GetTempPath #endif diff --git a/www/onlyoffice-documentserver/files/patch-core_MsBinaryFile_XlsFile_Format_Logic_Biff__structures_BitMarkedStructs.h b/www/onlyoffice-documentserver/files/patch-core_MsBinaryFile_XlsFile_Format_Logic_Biff__structures_BitMarkedStructs.h index 93c92cc9fcba..9e69da74cb0a 100644 --- a/www/onlyoffice-documentserver/files/patch-core_MsBinaryFile_XlsFile_Format_Logic_Biff__structures_BitMarkedStructs.h +++ b/www/onlyoffice-documentserver/files/patch-core_MsBinaryFile_XlsFile_Format_Logic_Biff__structures_BitMarkedStructs.h @@ -1,5 +1,5 @@ ---- core/MsBinaryFile/XlsFile/Format/Logic/Biff_structures/BitMarkedStructs.h.orig 2023-01-27 21:00:04.000000000 +0100 -+++ core/MsBinaryFile/XlsFile/Format/Logic/Biff_structures/BitMarkedStructs.h 2023-02-13 11:18:01.384933000 +0100 +--- core/MsBinaryFile/XlsFile/Format/Logic/Biff_structures/BitMarkedStructs.h.orig 2025-08-02 18:33:34 UTC ++++ core/MsBinaryFile/XlsFile/Format/Logic/Biff_structures/BitMarkedStructs.h @@ -31,7 +31,7 @@ */ #pragma once diff --git a/www/onlyoffice-documentserver/files/patch-core_OOXML_Base_Types__32.h b/www/onlyoffice-documentserver/files/patch-core_OOXML_Base_Types__32.h index 8e3814ae3609..e81ae497b6ec 100644 --- a/www/onlyoffice-documentserver/files/patch-core_OOXML_Base_Types__32.h +++ b/www/onlyoffice-documentserver/files/patch-core_OOXML_Base_Types__32.h @@ -1,5 +1,5 @@ ---- ./core/OOXML/Base/Types_32.h.orig 2023-02-13 11:19:10.378060000 +0100 -+++ ./core/OOXML/Base/Types_32.h 2023-02-13 11:19:35.144374000 +0100 +--- core/OOXML/Base/Types_32.h.orig 2025-08-02 18:33:34 UTC ++++ core/OOXML/Base/Types_32.h @@ -38,7 +38,7 @@ typedef unsigned __int16 _UINT16; typedef unsigned __int32 _UINT32; diff --git a/www/onlyoffice-documentserver/files/patch-core_OOXML_Binary_Sheets_Reader_ChartFromToBinary.cpp b/www/onlyoffice-documentserver/files/patch-core_OOXML_Binary_Sheets_Reader_ChartFromToBinary.cpp index 839338642d3b..efc36eda738f 100644 --- a/www/onlyoffice-documentserver/files/patch-core_OOXML_Binary_Sheets_Reader_ChartFromToBinary.cpp +++ b/www/onlyoffice-documentserver/files/patch-core_OOXML_Binary_Sheets_Reader_ChartFromToBinary.cpp @@ -1,6 +1,6 @@ ---- core/OOXML/Binary/Sheets/Reader/ChartFromToBinary.cpp.orig 2023-06-14 14:53:55.376306000 +0200 -+++ core/OOXML/Binary/Sheets/Reader/ChartFromToBinary.cpp 2023-06-14 14:54:16.425588000 +0200 -@@ -10010,7 +10010,7 @@ namespace BinXlsxRW +--- core/OOXML/Binary/Sheets/Reader/ChartFromToBinary.cpp.orig 2025-08-02 18:33:34 UTC ++++ core/OOXML/Binary/Sheets/Reader/ChartFromToBinary.cpp +@@ -10121,7 +10121,7 @@ namespace BinXlsxRW WriteCT_String(*oVal.m_gapDepth); m_oBcw.WriteItemEnd(nCurPos); } diff --git a/www/onlyoffice-documentserver/files/patch-core_OOXML_XlsxFormat_Chart_ChartSerialize.cpp b/www/onlyoffice-documentserver/files/patch-core_OOXML_XlsxFormat_Chart_ChartSerialize.cpp index 3e627ca23ed7..74fa1aabd8e0 100644 --- a/www/onlyoffice-documentserver/files/patch-core_OOXML_XlsxFormat_Chart_ChartSerialize.cpp +++ b/www/onlyoffice-documentserver/files/patch-core_OOXML_XlsxFormat_Chart_ChartSerialize.cpp @@ -1,5 +1,5 @@ ---- core/OOXML/XlsxFormat/Chart/ChartSerialize.cpp.orig 2023-06-14 14:33:42.265435000 +0200 -+++ core/OOXML/XlsxFormat/Chart/ChartSerialize.cpp 2023-06-14 14:33:54.354616000 +0200 +--- core/OOXML/XlsxFormat/Chart/ChartSerialize.cpp.orig 2025-08-02 18:33:34 UTC ++++ core/OOXML/XlsxFormat/Chart/ChartSerialize.cpp @@ -1282,7 +1282,7 @@ xmlns:c16r2=\"http://schemas.microsoft.com/office/draw { writer.WriteString(L"<"); diff --git a/www/onlyoffice-documentserver/files/patch-core_OOXML_XlsxFormat_Common.cpp b/www/onlyoffice-documentserver/files/patch-core_OOXML_XlsxFormat_Common.cpp index 7ed08a65819b..b56bb6c6e380 100644 --- a/www/onlyoffice-documentserver/files/patch-core_OOXML_XlsxFormat_Common.cpp +++ b/www/onlyoffice-documentserver/files/patch-core_OOXML_XlsxFormat_Common.cpp @@ -1,5 +1,5 @@ ---- core/OOXML/XlsxFormat/Common.cpp.orig 2023-02-13 11:53:45.780601000 +0100 -+++ core/OOXML/XlsxFormat/Common.cpp 2023-02-13 11:54:15.232608000 +0100 +--- core/OOXML/XlsxFormat/Common.cpp.orig 2025-08-02 18:33:34 UTC ++++ core/OOXML/XlsxFormat/Common.cpp @@ -48,6 +48,10 @@ char* gcvt(double x, int n, char* b) #define _gcvt gcvt #endif 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 index 89f4e678060d..f69125a7034c 100644 --- 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 @@ -1,5 +1,5 @@ ---- 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 +--- core/OfficeUtils/src/zlib-1.2.11/gzguts.h.orig 2025-04-16 08:37:24 UTC ++++ core/OfficeUtils/src/zlib-1.2.11/gzguts.h @@ -33,6 +33,8 @@ #ifdef _WIN32 diff --git a/www/onlyoffice-documentserver/files/patch-core_PdfFile_PdfFile.pro b/www/onlyoffice-documentserver/files/patch-core_PdfFile_PdfFile.pro index 08b3375f3170..5f6e12410a78 100644 --- a/www/onlyoffice-documentserver/files/patch-core_PdfFile_PdfFile.pro +++ b/www/onlyoffice-documentserver/files/patch-core_PdfFile_PdfFile.pro @@ -1,6 +1,6 @@ ---- core/PdfFile/PdfFile.pro.orig 2023-02-13 12:29:53.978119000 +0100 -+++ core/PdfFile/PdfFile.pro 2023-02-13 12:30:22.230355000 +0100 -@@ -113,6 +113,11 @@ LIBS += -L$$CORE_BUILDS_LIBRARIES_PATH -lCryptoPPLib +--- core/PdfFile/PdfFile.pro.orig 2025-08-02 18:33:34 UTC ++++ core/PdfFile/PdfFile.pro +@@ -110,6 +110,11 @@ DEFINES += CRYPTOPP_DISABLE_ASM \ NOMINMAX LIBS += -L$$CORE_BUILDS_LIBRARIES_PATH -lCryptoPPLib diff --git a/www/onlyoffice-documentserver/files/patch-core_PdfFile_SrcWriter_Types.h b/www/onlyoffice-documentserver/files/patch-core_PdfFile_SrcWriter_Types.h index 7d9f7fb7ca52..19d91074ad5f 100644 --- a/www/onlyoffice-documentserver/files/patch-core_PdfFile_SrcWriter_Types.h +++ b/www/onlyoffice-documentserver/files/patch-core_PdfFile_SrcWriter_Types.h @@ -1,6 +1,6 @@ ---- core/PdfFile/SrcWriter/Types.h.orig 2023-02-13 11:25:36.702286000 +0100 -+++ core/PdfFile/SrcWriter/Types.h 2023-02-13 11:25:55.342494000 +0100 -@@ -46,7 +46,7 @@ +--- core/PdfFile/SrcWriter/Types.h.orig 2025-08-02 18:33:34 UTC ++++ core/PdfFile/SrcWriter/Types.h +@@ -47,7 +47,7 @@ #include <algorithm> #include <math.h> diff --git a/www/onlyoffice-documentserver/files/patch-document-server-package_Makefile b/www/onlyoffice-documentserver/files/patch-document-server-package_Makefile index ba4ae3c069d7..dba479793706 100644 --- a/www/onlyoffice-documentserver/files/patch-document-server-package_Makefile +++ b/www/onlyoffice-documentserver/files/patch-document-server-package_Makefile @@ -1,5 +1,5 @@ ---- document-server-package/Makefile.orig 2024-02-12 13:46:57.000000000 +0100 -+++ document-server-package/Makefile 2024-03-01 10:49:36.212407000 +0100 +--- document-server-package/Makefile.orig 2024-02-12 14:46:57 UTC ++++ document-server-package/Makefile @@ -23,6 +23,7 @@ PACKAGE_VERSION := $(PRODUCT_VERSION)-$(BUILD_NUMBER) PACKAGE_NAME := $(COMPANY_NAME_LOW)-$(PRODUCT_NAME_LOW) PACKAGE_VERSION := $(PRODUCT_VERSION)-$(BUILD_NUMBER) @@ -26,7 +26,7 @@ + DS_FILES := /var/db/$(DS_PREFIX) + DS_EXAMLE := %%LOCALBASE%%/www/$(DS_PREFIX)-example + DEV_NULL := /dev/null -+ PKG_TARGET := node20 ++ PKG_TARGET := node%%PKGFETCH_NODE_MAJOR_VERSION%% + endif ifeq ($(UNAME_S),Linux) PLATFORM := linux diff --git a/www/onlyoffice-documentserver/files/patch-document-server-package_common_documentserver_bin_documentserver-flush-cache.sh.m4 b/www/onlyoffice-documentserver/files/patch-document-server-package_common_documentserver_bin_documentserver-flush-cache.sh.m4 index 92cb656f9917..deea13716080 100644 --- a/www/onlyoffice-documentserver/files/patch-document-server-package_common_documentserver_bin_documentserver-flush-cache.sh.m4 +++ b/www/onlyoffice-documentserver/files/patch-document-server-package_common_documentserver_bin_documentserver-flush-cache.sh.m4 @@ -1,6 +1,6 @@ ---- document-server-package/common/documentserver/bin/documentserver-flush-cache.sh.m4.orig 2024-11-05 14:03:05.897987000 +0100 +--- document-server-package/common/documentserver/bin/documentserver-flush-cache.sh.m4.orig 2025-07-18 12:53:25 UTC +++ document-server-package/common/documentserver/bin/documentserver-flush-cache.sh.m4 -@@ -24,18 +24,16 @@ HASH=${HASH:-$(date +'%Y.%m.%d-%H%M' | openssl md5 | a +@@ -24,18 +24,16 @@ done HASH=${HASH:-$(date +'%Y.%m.%d-%H%M' | openssl md5 | awk '{print $2}')} # Save the hash to a variable in the configuration file 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 231a6247a51a..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:-$(tr -dc A-Za-z0-9 </dev/urandom | head -c 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..0208f79889d0 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 @@ +--- document-server-package/common/documentserver/nginx/includes/ds-mime.types.conf.orig 2025-08-08 19:00:44 UTC ++++ document-server-package/common/documentserver/nginx/includes/ds-mime.types.conf +@@ -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_Metrics_patches_modern-syslog b/www/onlyoffice-documentserver/files/patch-server_Metrics_patches_modern-syslog new file mode 100644 index 000000000000..7a10ecbd0a4e --- /dev/null +++ b/www/onlyoffice-documentserver/files/patch-server_Metrics_patches_modern-syslog @@ -0,0 +1,11 @@ +--- server/Metrics/patches/modern-syslog+1.2.0.patch.orig 2025-08-31 16:23:19 UTC ++++ server/Metrics/patches/modern-syslog+1.2.0.patch +@@ -0,0 +1,8 @@ ++diff --git a/node_modules/modern-syslog/Makefile b/node_modules/modern-syslog/Makefile ++index 8d2ec3a..125d526 100644 ++--- a/node_modules/modern-syslog/Makefile +++++ b/node_modules/modern-syslog/Makefile ++@@ -1,2 +1,2 @@ ++ rebuild: ++- node-gyp rebuild +++ node-gyp --nodedir=%%LOCALBASE%% rebuild diff --git a/www/onlyoffice-documentserver/files/patch-server_package.json b/www/onlyoffice-documentserver/files/patch-server_package.json index d1a485701de7..3fa6a4cd95b3 100644 --- a/www/onlyoffice-documentserver/files/patch-server_package.json +++ b/www/onlyoffice-documentserver/files/patch-server_package.json @@ -1,6 +1,6 @@ --- server/package.json.orig 2025-06-16 18:22:18 UTC +++ server/package.json -@@ -4,6 +4,8 @@ +@@ -4,9 +4,11 @@ "homepage": "https://www.onlyoffice.com", "private": true, "dependencies": { @@ -8,8 +8,12 @@ + "grunt-cli": "^1.5.0", "license-downloader": "1.0.8", "license-report": "6.5.0", - "npm-run-all": "4.1.5" -@@ -25,10 +25,10 @@ +- "npm-run-all": "4.1.5" ++ "concurrently": "^9.2.0" + }, + "devDependencies": { + "@jest/globals": "29.7.0", +@@ -23,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", @@ -24,3 +28,11 @@ "3d-party-lic-json:Common": "license-report --output=json --package=./Common/package.json --config ./3d-party-lic-report/license-report-config.json > ./3d-party-lic-report/license-report.json", "3d-party-lic-json:DocService": "license-report --output=json --package=./DocService/package.json --config ./3d-party-lic-report/license-report-config.json > ./3d-party-lic-report/license-report.json", "3d-party-lic-json:FileConverter": "license-report --output=json --package=./FileConverter/package.json --config ./3d-party-lic-report/license-report-config.json > ./3d-party-lic-report/license-report.json", +@@ -39,6 +41,6 @@ + "3d-party-lic-report:FileConverter": "run-s 3d-party-lic-json:FileConverter 3d-party-lic-downloader 3d-party-lic-md", + "3d-party-lic-report:Metrics": "run-s 3d-party-lic-json:Metrics 3d-party-lic-downloader 3d-party-lic-md", + "3d-party-lic-report": "run-s 3d-party-lic-md-header 3d-party-lic-report:*", +- "build": "run-p install:*" ++ "build": "concurrently \"npm run install:Common\" \"npm run install:DocService\" \"npm run install:FileConverter\" \"npm run install:Metrics\"" + } + } diff --git a/www/onlyoffice-documentserver/files/pkg-message.in b/www/onlyoffice-documentserver/files/pkg-message.in index 9bf36aae43ac..1e04f7732830 100644 --- a/www/onlyoffice-documentserver/files/pkg-message.in +++ b/www/onlyoffice-documentserver/files/pkg-message.in @@ -59,7 +59,7 @@ files = %%ETCDIR%%/documentserver/supervisor/*.conf include %%ETCDIR%%/documentserver/nginx/ds.conf; NOTE: documentserver-update-securelink.sh will only update ./nginx/ds.conf and local.json under %%ETCDIR%%/documentserver/! - - run documentserver-update-securelink.sh once for creationg a verysecretstring + - run documentserver-update-securelink.sh once for creating a verysecretstring - start nginx: # service nginx start diff --git a/www/onlyoffice-documentserver/pkg-plist b/www/onlyoffice-documentserver/pkg-plist index 8c1f22b765b3..5f23f55a295f 100644 --- a/www/onlyoffice-documentserver/pkg-plist +++ b/www/onlyoffice-documentserver/pkg-plist @@ -1156,7 +1156,7 @@ lib/libkernel_network.so %%WWWDIR%%/documentserver/sdkjs/pdf/src/annotations/stamps/ja-JA.json %%WWWDIR%%/documentserver/sdkjs/pdf/src/annotations/stamps/pt-BR.json %%WWWDIR%%/documentserver/sdkjs/pdf/src/annotations/stamps/ru-RU.json -%%WWWDIR%%/documentserver/sdkjs/pdf/src/annotations/stamps/zh-ZH.json +%%WWWDIR%%/documentserver/sdkjs/pdf/src/annotations/stamps/zh-CN.json %%WWWDIR%%/documentserver/sdkjs/pdf/src/engine/cmap.bin %%WWWDIR%%/documentserver/sdkjs/pdf/src/engine/drawingfile.js %%WWWDIR%%/documentserver/sdkjs/pdf/src/engine/drawingfile.wasm @@ -1215,18 +1215,23 @@ lib/libkernel_network.so %%WWWDIR%%/documentserver/server/Metrics/node_modules/modern-syslog/build/Release/core.node %%WWWDIR%%/documentserver/server/dictionaries/update.py %%WWWDIR%%/documentserver/server/info/ai/CHANGELOG.md +%%WWWDIR%%/documentserver/server/info/ai/LICENSE.txt %%WWWDIR%%/documentserver/server/info/ai/aiModelEdit.html %%WWWDIR%%/documentserver/server/info/ai/aiModelsList.html %%WWWDIR%%/documentserver/server/info/ai/chat.html +%%WWWDIR%%/documentserver/server/info/ai/codeDesktop.js %%WWWDIR%%/documentserver/server/info/ai/components/ListView/script.js %%WWWDIR%%/documentserver/server/info/ai/components/ListView/style.css %%WWWDIR%%/documentserver/server/info/ai/components/Tooltip/script.js %%WWWDIR%%/documentserver/server/info/ai/components/Tooltip/style.css %%WWWDIR%%/documentserver/server/info/ai/config.json +%%WWWDIR%%/documentserver/server/info/ai/configDesktop.json %%WWWDIR%%/documentserver/server/info/ai/customProviders.html %%WWWDIR%%/documentserver/server/info/ai/deploy/ai.plugin +%%WWWDIR%%/documentserver/server/info/ai/helper.html %%WWWDIR%%/documentserver/server/info/ai/hyperlink.html %%WWWDIR%%/documentserver/server/info/ai/index.html +%%WWWDIR%%/documentserver/server/info/ai/indexDesktop.html %%WWWDIR%%/documentserver/server/info/ai/resources/dark/icon.png %%WWWDIR%%/documentserver/server/info/ai/resources/dark/icon@1.25x.png %%WWWDIR%%/documentserver/server/info/ai/resources/dark/icon@1.5x.png @@ -1402,6 +1407,11 @@ lib/libkernel_network.so %%WWWDIR%%/documentserver/server/info/ai/resources/icons/dark/info@1.5x.png %%WWWDIR%%/documentserver/server/info/ai/resources/icons/dark/info@1.75x.png %%WWWDIR%%/documentserver/server/info/ai/resources/icons/dark/info@2x.png +%%WWWDIR%%/documentserver/server/info/ai/resources/icons/dark/ocr.png +%%WWWDIR%%/documentserver/server/info/ai/resources/icons/dark/ocr@1.25x.png +%%WWWDIR%%/documentserver/server/info/ai/resources/icons/dark/ocr@1.5x.png +%%WWWDIR%%/documentserver/server/info/ai/resources/icons/dark/ocr@1.75x.png +%%WWWDIR%%/documentserver/server/info/ai/resources/icons/dark/ocr@2x.png %%WWWDIR%%/documentserver/server/info/ai/resources/icons/dark/summarization.png %%WWWDIR%%/documentserver/server/info/ai/resources/icons/dark/summarization@1.25x.png %%WWWDIR%%/documentserver/server/info/ai/resources/icons/dark/summarization@1.5x.png @@ -1597,6 +1607,11 @@ lib/libkernel_network.so %%WWWDIR%%/documentserver/server/info/ai/resources/icons/light/info@1.5x.png %%WWWDIR%%/documentserver/server/info/ai/resources/icons/light/info@1.75x.png %%WWWDIR%%/documentserver/server/info/ai/resources/icons/light/info@2x.png +%%WWWDIR%%/documentserver/server/info/ai/resources/icons/light/ocr.png +%%WWWDIR%%/documentserver/server/info/ai/resources/icons/light/ocr@1.25x.png +%%WWWDIR%%/documentserver/server/info/ai/resources/icons/light/ocr@1.5x.png +%%WWWDIR%%/documentserver/server/info/ai/resources/icons/light/ocr@1.75x.png +%%WWWDIR%%/documentserver/server/info/ai/resources/icons/light/ocr@2x.png %%WWWDIR%%/documentserver/server/info/ai/resources/icons/light/summarization.png %%WWWDIR%%/documentserver/server/info/ai/resources/icons/light/summarization@1.25x.png %%WWWDIR%%/documentserver/server/info/ai/resources/icons/light/summarization@1.5x.png @@ -1714,6 +1729,7 @@ lib/libkernel_network.so %%WWWDIR%%/documentserver/server/info/ai/scripts/engine/providers/internal/google-gemini.js %%WWWDIR%%/documentserver/server/info/ai/scripts/engine/providers/internal/gpt4all.js %%WWWDIR%%/documentserver/server/info/ai/scripts/engine/providers/internal/groq.js +%%WWWDIR%%/documentserver/server/info/ai/scripts/engine/providers/internal/lmstudio.js %%WWWDIR%%/documentserver/server/info/ai/scripts/engine/providers/internal/mistral.js %%WWWDIR%%/documentserver/server/info/ai/scripts/engine/providers/internal/ollama.js %%WWWDIR%%/documentserver/server/info/ai/scripts/engine/providers/internal/open-ai-models.txt @@ -1723,15 +1739,23 @@ lib/libkernel_network.so %%WWWDIR%%/documentserver/server/info/ai/scripts/engine/providers/internal/together-ai-models.txt %%WWWDIR%%/documentserver/server/info/ai/scripts/engine/providers/internal/together.ai.js %%WWWDIR%%/documentserver/server/info/ai/scripts/engine/providers/internal/xAI.js +%%WWWDIR%%/documentserver/server/info/ai/scripts/engine/providers/internal/zhipu.js %%WWWDIR%%/documentserver/server/info/ai/scripts/engine/providers/preinstall-example.json %%WWWDIR%%/documentserver/server/info/ai/scripts/engine/providers/provider.js %%WWWDIR%%/documentserver/server/info/ai/scripts/engine/register.js %%WWWDIR%%/documentserver/server/info/ai/scripts/engine/storage.js +%%WWWDIR%%/documentserver/server/info/ai/scripts/helper.js +%%WWWDIR%%/documentserver/server/info/ai/scripts/helperFuncs.js +%%WWWDIR%%/documentserver/server/info/ai/scripts/helpers/cell.js +%%WWWDIR%%/documentserver/server/info/ai/scripts/helpers/slide.js +%%WWWDIR%%/documentserver/server/info/ai/scripts/helpers/word.js %%WWWDIR%%/documentserver/server/info/ai/scripts/hyperlink.js %%WWWDIR%%/documentserver/server/info/ai/scripts/settings.js %%WWWDIR%%/documentserver/server/info/ai/scripts/summarization.js +%%WWWDIR%%/documentserver/server/info/ai/scripts/utils/theme.js %%WWWDIR%%/documentserver/server/info/ai/settings.html %%WWWDIR%%/documentserver/server/info/ai/summarization.html +%%WWWDIR%%/documentserver/server/info/ai/translations/ar-SA.json %%WWWDIR%%/documentserver/server/info/ai/translations/cs-CS.json %%WWWDIR%%/documentserver/server/info/ai/translations/de-DE.json %%WWWDIR%%/documentserver/server/info/ai/translations/es-ES.json @@ -2469,6 +2493,7 @@ lib/libkernel_network.so %%WWWDIR%%/documentserver/web-apps/apps/documenteditor/main/resources/help/de/images/customtable.png %%WWWDIR%%/documentserver/web-apps/apps/documenteditor/main/resources/help/de/images/darkmode_oform.png %%WWWDIR%%/documentserver/web-apps/apps/documenteditor/main/resources/help/de/images/date_time.png +%%WWWDIR%%/documentserver/web-apps/apps/documenteditor/main/resources/help/de/images/date_time_settings.png %%WWWDIR%%/documentserver/web-apps/apps/documenteditor/main/resources/help/de/images/datecontentcontrol2.png %%WWWDIR%%/documentserver/web-apps/apps/documenteditor/main/resources/help/de/images/datesettings.png %%WWWDIR%%/documentserver/web-apps/apps/documenteditor/main/resources/help/de/images/drawio_diagram.png @@ -8285,6 +8310,7 @@ lib/libkernel_network.so %%WWWDIR%%/documentserver/web-apps/apps/spreadsheeteditor/main/resources/help/de/images/lookup_function.gif %%WWWDIR%%/documentserver/web-apps/apps/spreadsheeteditor/main/resources/help/de/images/lower.png %%WWWDIR%%/documentserver/web-apps/apps/spreadsheeteditor/main/resources/help/de/images/managerules.png +%%WWWDIR%%/documentserver/web-apps/apps/spreadsheeteditor/main/resources/help/de/images/margins.png %%WWWDIR%%/documentserver/web-apps/apps/spreadsheeteditor/main/resources/help/de/images/match.png %%WWWDIR%%/documentserver/web-apps/apps/spreadsheeteditor/main/resources/help/de/images/max.png %%WWWDIR%%/documentserver/web-apps/apps/spreadsheeteditor/main/resources/help/de/images/maxa.png @@ -17705,7 +17731,7 @@ lib/libkernel_network.so %%WWWDIR%%/documentserver/web-apps/apps/spreadsheeteditor/main/resources/img/v2/iconssmall@2.5x.svg %%WWWDIR%%/documentserver/web-apps/apps/spreadsheeteditor/main/resources/img/v2/iconssmall@2x.png %%WWWDIR%%/documentserver/web-apps/apps/spreadsheeteditor/main/resources/symboltable/ru.json -%%WWWDIR%%/documentserver/web-apps/apps/spreadsheeteditor/mobile/css/611.2ad5c287215269bcc9de.css +%%WWWDIR%%/documentserver/web-apps/apps/spreadsheeteditor/mobile/css/611.219690714751ff3c27cf.css %%WWWDIR%%/documentserver/web-apps/apps/spreadsheeteditor/mobile/css/app.43cfb55a2bbb45252e03.css %%WWWDIR%%/documentserver/web-apps/apps/spreadsheeteditor/mobile/css/framework7-rtl.css %%WWWDIR%%/documentserver/web-apps/apps/spreadsheeteditor/mobile/css/framework7.css @@ -17894,9 +17920,12 @@ lib/libkernel_network.so %%WWWDIR%%/documentserver/web-apps/apps/visioeditor/embed/locale/fr.json %%WWWDIR%%/documentserver/web-apps/apps/visioeditor/embed/locale/he.json %%WWWDIR%%/documentserver/web-apps/apps/visioeditor/embed/locale/hu.json +%%WWWDIR%%/documentserver/web-apps/apps/visioeditor/embed/locale/hy.json %%WWWDIR%%/documentserver/web-apps/apps/visioeditor/embed/locale/id.json %%WWWDIR%%/documentserver/web-apps/apps/visioeditor/embed/locale/it.json %%WWWDIR%%/documentserver/web-apps/apps/visioeditor/embed/locale/ja.json +%%WWWDIR%%/documentserver/web-apps/apps/visioeditor/embed/locale/ko.json +%%WWWDIR%%/documentserver/web-apps/apps/visioeditor/embed/locale/pl.json %%WWWDIR%%/documentserver/web-apps/apps/visioeditor/embed/locale/pt.json %%WWWDIR%%/documentserver/web-apps/apps/visioeditor/embed/locale/ro.json %%WWWDIR%%/documentserver/web-apps/apps/visioeditor/embed/locale/ru.json @@ -17914,6 +17943,7 @@ lib/libkernel_network.so %%WWWDIR%%/documentserver/web-apps/apps/visioeditor/main/index.html %%WWWDIR%%/documentserver/web-apps/apps/visioeditor/main/index_loader.html %%WWWDIR%%/documentserver/web-apps/apps/visioeditor/main/locale/ar.json +%%WWWDIR%%/documentserver/web-apps/apps/visioeditor/main/locale/cs.json %%WWWDIR%%/documentserver/web-apps/apps/visioeditor/main/locale/de.json %%WWWDIR%%/documentserver/web-apps/apps/visioeditor/main/locale/el.json %%WWWDIR%%/documentserver/web-apps/apps/visioeditor/main/locale/en.json @@ -17924,6 +17954,8 @@ lib/libkernel_network.so %%WWWDIR%%/documentserver/web-apps/apps/visioeditor/main/locale/hy.json %%WWWDIR%%/documentserver/web-apps/apps/visioeditor/main/locale/it.json %%WWWDIR%%/documentserver/web-apps/apps/visioeditor/main/locale/ja.json +%%WWWDIR%%/documentserver/web-apps/apps/visioeditor/main/locale/ko.json +%%WWWDIR%%/documentserver/web-apps/apps/visioeditor/main/locale/pl.json %%WWWDIR%%/documentserver/web-apps/apps/visioeditor/main/locale/pt.json %%WWWDIR%%/documentserver/web-apps/apps/visioeditor/main/locale/ro.json %%WWWDIR%%/documentserver/web-apps/apps/visioeditor/main/locale/ru.json @@ -17934,18 +17966,46 @@ lib/libkernel_network.so %%WWWDIR%%/documentserver/web-apps/apps/visioeditor/main/locale/ur.json %%WWWDIR%%/documentserver/web-apps/apps/visioeditor/main/locale/zh.json %%WWWDIR%%/documentserver/web-apps/apps/visioeditor/main/resources/css/app.css +%%WWWDIR%%/documentserver/web-apps/apps/visioeditor/main/resources/help/de/Contents.json +%%WWWDIR%%/documentserver/web-apps/apps/visioeditor/main/resources/help/de/HelpfulHints/About.htm +%%WWWDIR%%/documentserver/web-apps/apps/visioeditor/main/resources/help/de/HelpfulHints/AdvancedSettings.htm +%%WWWDIR%%/documentserver/web-apps/apps/visioeditor/main/resources/help/de/HelpfulHints/Communicating.htm +%%WWWDIR%%/documentserver/web-apps/apps/visioeditor/main/resources/help/de/HelpfulHints/KeyboardShortcuts.htm +%%WWWDIR%%/documentserver/web-apps/apps/visioeditor/main/resources/help/de/HelpfulHints/Navigation.htm +%%WWWDIR%%/documentserver/web-apps/apps/visioeditor/main/resources/help/de/HelpfulHints/SupportedFormats.htm +%%WWWDIR%%/documentserver/web-apps/apps/visioeditor/main/resources/help/de/ProgramInterface/FileTab.htm +%%WWWDIR%%/documentserver/web-apps/apps/visioeditor/main/resources/help/de/ProgramInterface/ProgramInterface.htm +%%WWWDIR%%/documentserver/web-apps/apps/visioeditor/main/resources/help/de/ProgramInterface/ViewTab.htm +%%WWWDIR%%/documentserver/web-apps/apps/visioeditor/main/resources/help/de/UsageInstructions/SavePrintDownload.htm +%%WWWDIR%%/documentserver/web-apps/apps/visioeditor/main/resources/help/de/UsageInstructions/ViewDiagramViewerInfo.htm +%%WWWDIR%%/documentserver/web-apps/apps/visioeditor/main/resources/help/de/callback.js +%%WWWDIR%%/documentserver/web-apps/apps/visioeditor/main/resources/help/de/images/interface/desktop_editorwindow.png +%%WWWDIR%%/documentserver/web-apps/apps/visioeditor/main/resources/help/de/images/interface/desktop_filetab.png +%%WWWDIR%%/documentserver/web-apps/apps/visioeditor/main/resources/help/de/images/interface/desktop_viewtab.png +%%WWWDIR%%/documentserver/web-apps/apps/visioeditor/main/resources/help/de/images/interface/editorwindow.png +%%WWWDIR%%/documentserver/web-apps/apps/visioeditor/main/resources/help/de/images/interface/filetab.png +%%WWWDIR%%/documentserver/web-apps/apps/visioeditor/main/resources/help/de/images/interface/viewtab.png +%%WWWDIR%%/documentserver/web-apps/apps/visioeditor/main/resources/help/de/images/keytips1.png +%%WWWDIR%%/documentserver/web-apps/apps/visioeditor/main/resources/help/de/images/keytips2.png +%%WWWDIR%%/documentserver/web-apps/apps/visioeditor/main/resources/help/de/images/printsettingswindow.png +%%WWWDIR%%/documentserver/web-apps/apps/visioeditor/main/resources/help/de/search/indexes.js +%%WWWDIR%%/documentserver/web-apps/apps/visioeditor/main/resources/help/de/search/search.html %%WWWDIR%%/documentserver/web-apps/apps/visioeditor/main/resources/help/en/Contents.json %%WWWDIR%%/documentserver/web-apps/apps/visioeditor/main/resources/help/en/HelpfulHints/About.htm %%WWWDIR%%/documentserver/web-apps/apps/visioeditor/main/resources/help/en/HelpfulHints/AdvancedSettings.htm %%WWWDIR%%/documentserver/web-apps/apps/visioeditor/main/resources/help/en/HelpfulHints/Communicating.htm %%WWWDIR%%/documentserver/web-apps/apps/visioeditor/main/resources/help/en/HelpfulHints/KeyboardShortcuts.htm %%WWWDIR%%/documentserver/web-apps/apps/visioeditor/main/resources/help/en/HelpfulHints/Navigation.htm +%%WWWDIR%%/documentserver/web-apps/apps/visioeditor/main/resources/help/en/HelpfulHints/SupportedFormats.htm %%WWWDIR%%/documentserver/web-apps/apps/visioeditor/main/resources/help/en/ProgramInterface/FileTab.htm %%WWWDIR%%/documentserver/web-apps/apps/visioeditor/main/resources/help/en/ProgramInterface/ProgramInterface.htm %%WWWDIR%%/documentserver/web-apps/apps/visioeditor/main/resources/help/en/ProgramInterface/ViewTab.htm %%WWWDIR%%/documentserver/web-apps/apps/visioeditor/main/resources/help/en/UsageInstructions/SavePrintDownload.htm %%WWWDIR%%/documentserver/web-apps/apps/visioeditor/main/resources/help/en/UsageInstructions/ViewDiagramViewerInfo.htm %%WWWDIR%%/documentserver/web-apps/apps/visioeditor/main/resources/help/en/callback.js +%%WWWDIR%%/documentserver/web-apps/apps/visioeditor/main/resources/help/en/images/interface/desktop_editorwindow.png +%%WWWDIR%%/documentserver/web-apps/apps/visioeditor/main/resources/help/en/images/interface/desktop_filetab.png +%%WWWDIR%%/documentserver/web-apps/apps/visioeditor/main/resources/help/en/images/interface/desktop_viewtab.png %%WWWDIR%%/documentserver/web-apps/apps/visioeditor/main/resources/help/en/images/interface/editorwindow.png %%WWWDIR%%/documentserver/web-apps/apps/visioeditor/main/resources/help/en/images/interface/filetab.png %%WWWDIR%%/documentserver/web-apps/apps/visioeditor/main/resources/help/en/images/interface/viewtab.png @@ -18017,6 +18077,8 @@ lib/libkernel_network.so %%WWWDIR%%/documentserver/web-apps/apps/visioeditor/mobile/locale/hy.json %%WWWDIR%%/documentserver/web-apps/apps/visioeditor/mobile/locale/it.json %%WWWDIR%%/documentserver/web-apps/apps/visioeditor/mobile/locale/ja.json +%%WWWDIR%%/documentserver/web-apps/apps/visioeditor/mobile/locale/ko.json +%%WWWDIR%%/documentserver/web-apps/apps/visioeditor/mobile/locale/pl.json %%WWWDIR%%/documentserver/web-apps/apps/visioeditor/mobile/locale/pt-pt.json %%WWWDIR%%/documentserver/web-apps/apps/visioeditor/mobile/locale/pt.json %%WWWDIR%%/documentserver/web-apps/apps/visioeditor/mobile/locale/ro.json @@ -18025,6 +18087,7 @@ lib/libkernel_network.so %%WWWDIR%%/documentserver/web-apps/apps/visioeditor/mobile/locale/sq.json %%WWWDIR%%/documentserver/web-apps/apps/visioeditor/mobile/locale/sr-cyrl.json %%WWWDIR%%/documentserver/web-apps/apps/visioeditor/mobile/locale/sr.json +%%WWWDIR%%/documentserver/web-apps/apps/visioeditor/mobile/locale/sv.json %%WWWDIR%%/documentserver/web-apps/apps/visioeditor/mobile/locale/ur.json %%WWWDIR%%/documentserver/web-apps/apps/visioeditor/mobile/locale/zh.json %%WWWDIR%%/documentserver/web-apps/apps/visioeditor/mobile/resources/img/about/logo-new-white.svg |