Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 27 Mar 2026 08:46:06 +0000
From:      Mikael Urankar <mikael@FreeBSD.org>
To:        ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org
Cc:        Matt Kempe <fsbruva@yahoo.com>
Subject:   git: 84c1c58e02cf - main - www/onlyoffice-documentserver: Update to 9.3.1
Message-ID:  <69c643ce.226ff.7d4f6e47@gitrepo.freebsd.org>

index | next in thread | raw e-mail

The branch main has been updated by mikael:

URL: https://cgit.FreeBSD.org/ports/commit/?id=84c1c58e02cffe3e611adb826665f431051c1c02

commit 84c1c58e02cffe3e611adb826665f431051c1c02
Author:     Matt Kempe <fsbruva@yahoo.com>
AuthorDate: 2026-03-27 08:44:50 +0000
Commit:     Mikael Urankar <mikael@FreeBSD.org>
CommitDate: 2026-03-27 08:46:02 +0000

    www/onlyoffice-documentserver: Update to 9.3.1
    
    - Update node and @yao-pkg dependencies
    - Shift most dependencies to use ports
    - Implement new offline caching mechanism
    
    Changes:
      https://github.com/ONLYOFFICE/DocumentServer/blob/master/CHANGELOG.md#931
    
    PR:             294028
---
 www/onlyoffice-documentserver/Makefile             |  181 +--
 www/onlyoffice-documentserver/distinfo             |   66 +-
 .../files/ds-adminpanel.conf                       |   13 -
 www/onlyoffice-documentserver/files/ds.conf        |    2 +-
 ...patch-pkg-fetch_patches_node.v20.19.5.cpp.patch |  192 ---
 .../files/local.json.sample                        |   24 +-
 .../files/package-lock.json                        | 1404 --------------------
 www/onlyoffice-documentserver/files/package.json   |    5 -
 .../patch-build__tools_scripts_build__server.py    |   18 +-
 ...ild__tools_scripts_core__common_make__common.py |   27 +-
 ...ld__tools_scripts_core__common_modules_html2.py |   20 -
 ...d__tools_scripts_core__common_modules_v8__89.py |   15 +-
 .../patch-build__tools_scripts_deploy__server.py   |   11 +
 .../files/patch-core_Apple_IWork.pro               |    9 +-
 .../patch-core_Common_3dParty_brotli_brotli.pri    |   14 +
 .../files/patch-core_Common_3dParty_brotli_make.py |   11 -
 .../files/patch-core_Common_3dParty_heif_heif.pri  |    6 +-
 ...Common_3dParty_html_css_src_StyleProperties.cpp |   20 -
 .../files/patch-core_Common_3dParty_html_fetch.py  |   25 -
 .../files/patch-core_Common_3dParty_html_gumbo.pri |   11 +-
 .../patch-core_Common_3dParty_html_htmltoxhtml.cpp |   11 +
 .../patch-core_Common_3dParty_html_katana-parser   |   68 +
 .../files/patch-core_Common_3dParty_icu_icu.pri    |    6 +-
 .../files/patch-core_Common_3dParty_md_md2html.cpp |   10 +
 .../files/patch-core_Common_3dParty_md_md2html.pri |   18 +
 .../patch-core_Common_3dParty_openssl_openssl.pri  |    5 +-
 ...on_3dParty_v8_v8_build_config_compiler_BUILD.gn |   32 +-
 .../files/patch-core_HtmlFile2_HTMLReader.cpp      |   11 +
 ..._DrawingConverter_ASCOfficeDrawingConverter.cpp |   16 -
 ...tch-core_X2tConverter_build_Qt_X2tConverter.pri |    2 +-
 .../files/patch-document-server-package_Makefile   |   37 +-
 ...rver_bin_documentserver-generate-allfonts.sh.m4 |   18 +-
 ...tserver_bin_documentserver-pluginsmanager.sh.m4 |   25 +-
 .../files/patch-server_DocService_package.json     |   31 +
 .../files/patch-server_DocService_patches_sharp    |   47 +-
 .../patch-server_Metrics_patches_modern-syslog     |   11 -
 .../files/patch-server_package.json                |   12 +-
 .../files/patch-web-apps_build_patches_optipng-bin |   57 +-
 www/onlyoffice-documentserver/files/pkg-message.in |   45 +-
 www/onlyoffice-documentserver/pkg-plist            |  844 +++---------
 40 files changed, 799 insertions(+), 2581 deletions(-)

diff --git a/www/onlyoffice-documentserver/Makefile b/www/onlyoffice-documentserver/Makefile
index 667d93d88367..d4ce007ffb4b 100644
--- a/www/onlyoffice-documentserver/Makefile
+++ b/www/onlyoffice-documentserver/Makefile
@@ -1,14 +1,11 @@
 PORTNAME=	onlyoffice-documentserver
 DISTVERSIONPREFIX=	v
-DISTVERSION=	9.1.0
-PORTREVISION=	1
+DISTVERSION=	9.3.1
 CATEGORIES=	www
 MASTER_SITES+=	LOCAL/mikael/v8/:source1 \
-		https://nodejs.org/dist/v${PKGFETCH_NODE_VERSION}/:source3 \
-		SF/optipng/OptiPNG/optipng-0.7.8/:source4
+		https://nodejs.org/dist/v${_PKGFETCH_NODE_VERSION}/:source2
 DISTFILES+=	v8-8.9.255.25_all.tar.gz:source1 \
-		node-v${PKGFETCH_NODE_VERSION}.tar.gz:source3 \
-		optipng-0.7.8.tar.gz:source4
+		node-v${_PKGFETCH_NODE_VERSION}.tar.gz:source2
 
 MAINTAINER=	fsbruva@yahoo.com
 COMMENT=	Secure office and productivity apps
@@ -20,27 +17,45 @@ LICENSE_FILE=	${WRKSRC}/LICENSE.txt
 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.9.0"
+# node version used with "npm install @yao-pkg/pkg@6.14.1"
 # keep in sync with patch-build__tools_scripts_build__server.py and patch-document-server-package_Makefile
-PKGFETCH_NODE_VERSION=	20.19.5
-DS_BUILD=	177
-DS_MODERN_SYSLOG_VER=       1.2.0
-DS_SHARP_VER=        0.32.6
+_DS_BUILD=		8
+_DS_SHARP_VER=		0.32.6
+_PKGFETCH_NODE_VERSION=	20.20.0
+_YAOPKG_VER=		6.14.1
+_NODE_DISTFILE=	node-v${_PKGFETCH_NODE_VERSION}.tar.gz
+
+# Map FreeBSD ARCH to the node/sharp platform-arch suffix
+.if ${MACHINE_ARCH} == aarch64
+_SHARP_NODE_ARCH=   arm64v8
+.else
+_SHARP_NODE_ARCH=   x64
+.endif
+
+_SHARP_NODE_FILE=   sharp-freebsd-${_SHARP_NODE_ARCH}.node
+_SHARP_INSTALL_DIR= ${WWWDIR}/documentserver/server/DocService/sharp
 
 BUILD_DEPENDS=	${PYTHON_PKGNAMEPREFIX}Jinja2>=0:devel/py-Jinja2@${PY_FLAVOR} \
 		boost-libs>0:devel/boost-libs \
 		glib>=2.54:devel/glib20 \
 		gn:devel/gn \
 		ninja:devel/ninja \
-		npm:www/npm-node20
+		npm:www/npm-node20 \
+		optipng:graphics/optipng
 
 # Need libvips because npm module sharp requires it on Unix OS's
 LIB_DEPENDS=	libboost_regex.so:devel/boost-libs \
+		libbrotlicommon.so:archivers/brotli \
+		libbrotlidec.so:archivers/brotli \
 		libcurl.so:ftp/curl \
 		libetonyek-0.1.so:graphics/libetonyek01 \
+		libgumbo.so:devel/gumbo \
 		libharfbuzz.so:print/harfbuzz \
 		libheif.so:graphics/libheif \
+		libicudata.so:devel/icu \
 		libicuuc.so:devel/icu \
+		libmd4c-html.so:textproc/md4c \
+		libmd4c.so:textproc/md4c \
 		libodfgen-0.1.so:textproc/libodfgen01 \
 		librevenge-0.0.so:textproc/librevenge \
 		libvips.so:graphics/vips
@@ -64,35 +79,33 @@ DOS2UNIX_FILES=	document-server-package/common/documentserver/nginx/includes/htt
 USE_GITHUB=	yes
 GH_ACCOUNT=	ONLYOFFICE
 GH_PROJECT=	DocumentServer
-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 \
+_DS_TAGNAME=	${DISTVERSIONPREFIX}${DISTVERSION}.${_DS_BUILD}
+GH_TUPLE=	ONLYOFFICE:build_tools:${_DS_TAGNAME}:buildtools/build_tools \
+		ONLYOFFICE:core:${_DS_TAGNAME}:core/core \
+		ONLYOFFICE:core-fonts:${_DS_TAGNAME}:corefonts/core-fonts \
+		ONLYOFFICE:dictionaries:${_DS_TAGNAME}:dictionaries/dictionaries \
+		ONLYOFFICE:document-formats:${_DS_TAGNAME}:df/document-formats \
+		ONLYOFFICE:document-server-integration:${_DS_TAGNAME}:dsi/document-server-integration \
+		ONLYOFFICE:document-server-package:${_DS_TAGNAME}:dsp/document-server-package \
+		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:DocumentBuilder:626d1e44db3d06ceb8298215a67ef0475912d89a:document_builder/DocumentBuilder \
 		ONLYOFFICE:onlyoffice.github.io:b26d001664d771df4f663d2d3ba7dd4a188b6cab:sdkjs_plugins_v1/onlyoffice.github.io \
-		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${PKGFETCH_NODE_VERSION}:pkg_cache/ \
-		fsbruva:onlyoffice-DS-npm-cache:${DS_TAGNAME}-20251019:npm_cache
+		fsbruva:onlyoffice-DS-npm-cache:${_DS_TAGNAME}-202603231741-prodmatch:npm_cache
 
 JAVA_VERSION=	11+
 
 USE_LDCONFIG=	yes
 USE_QT=		qmake:build
 
-MAKE_ENV=	BUILD_NUMBER=${DS_BUILD} \
+MAKE_ENV=	BUILD_NUMBER=${_DS_BUILD} \
 		npm_package_config_node_gyp_nodedir=${LOCALBASE} \
 		npm_package_config_node_gyp_python=${PYTHON_CMD} \
+		PKG_BUILD_PATH=${WRKDIR}/.pkg-build \
 		PKG_CACHE_PATH=${WRKDIR}/.pkg-cache \
 		PRODUCT_VERSION=${DISTVERSION} \
 		PYTHON=${PYTHON_CMD}
@@ -127,7 +140,8 @@ USERS=		${DS_USERNAME}
 GROUPS=		${DS_GROUPNAME}
 
 PLIST_SUB=	DS_GROUPNAME=${DS_GROUPNAME} \
-		DS_USERNAME=${DS_USERNAME}
+		DS_USERNAME=${DS_USERNAME} \
+		SHARP_NODE_FILE=${_SHARP_NODE_FILE}
 
 OPTIONS_DEFAULT=	PGSQL
 OPTIONS_SINGLE=		DB
@@ -152,8 +166,16 @@ post-extract:
 	@${MV} ${WRKDIR}/v8 ${WRKSRC}/core/Common/3dParty/v8_89
 
 	@${LN} -s ${WRKSRC_npm_cache} ${WRKDIR}/.npm
-	@${LN} -s ${WRKSRC_pkg_cache} ${WRKDIR}/.pkg-cache
-	@${CP} ${DISTDIR}/node-v${PKGFETCH_NODE_VERSION}.tar.gz ${WRKDIR}/.pkg-cache/node
+	@${MKDIR} ${WRKDIR}/.pkg-build
+	@${MKDIR} -p ${WRKDIR}/.pkg-cache/node
+
+	# Copy node tarball to pkg-cache directory, and create sha256sum file
+	@${CP} ${DISTDIR}/${_NODE_DISTFILE} ${WRKDIR}/.pkg-cache/node
+	@${EGREP} '^\s*SHA256[[:space:]]\(${_NODE_DISTFILE}\)' \
+			${.CURDIR}/distinfo | \
+			${AWK} '{print $$4 "  ${_NODE_DISTFILE}"}' \
+			> ${WRKDIR}/.pkg-cache/node/${_NODE_DISTFILE}.sha256sum
+	@${ECHO_MSG} "===>  Created pkg-fetch cache entry for ${_NODE_DISTFILE}"
 
 	@${MKDIR} ${WRKSRC}/sdkjs-plugins/v1
 	@${CP} ${WRKSRC}/onlyoffice.github.io/sdkjs-plugins/v1/* ${WRKSRC}/sdkjs-plugins/v1
@@ -163,7 +185,7 @@ post-extract:
 
 	# linux has moved to systemd init files, continue to using supervisord for now
 	${MKDIR} ${WRKSRC}/document-server-package/common/documentserver/supervisor
-.for i in ds-adminpanel.conf ds-converter.conf ds-docservice.conf ds-metrics.conf ds.conf
+.for i in ds-converter.conf ds-docservice.conf ds-metrics.conf ds.conf
 	${CP} ${FILESDIR}/${i} \
 		${WRKSRC}/document-server-package/common/documentserver/supervisor
 .endfor
@@ -173,22 +195,24 @@ pre-configure:
 		${WRKSRC}/build_tools/tools/freebsd/automate.py \
 		${WRKSRC}/core/Apple/IWork.pro \
 		${WRKSRC}/core/Common/3dParty/boost/boost.pri \
+		${WRKSRC}/core/Common/3dParty/brotli/brotli.pri \
 		${WRKSRC}/core/Common/3dParty/heif/heif.pri \
+		${WRKSRC}/core/Common/3dParty/html/gumbo.pri \
 		${WRKSRC}/core/Common/3dParty/icu/icu.pri \
+		${WRKSRC}/core/Common/3dParty/md/md2html.pri \
 		${WRKSRC}/core/Common/3dParty/v8_89/v8/build/toolchain/gcc_toolchain.gni \
 		${WRKSRC}/core/Common/3dParty/v8_89/v8/buildtools/third_party/libc++/BUILD.gn \
 		${WRKSRC}/core/DesktopEditor/fontengine/ApplicationFonts.cpp \
+		${WRKSRC}/core/X2tConverter/build/Qt/X2tConverter.pri \
 		${WRKSRC}/document-server-package/common/documentserver/bin/documentserver-generate-allfonts.sh.m4 \
 		${WRKSRC}/document-server-package/common/documentserver/bin/documentserver-jwt-status.sh.m4 \
 		${WRKSRC}/document-server-package/common/documentserver/bin/documentserver-pluginsmanager.sh.m4 \
 		${WRKSRC}/document-server-package/common/documentserver/bin/documentserver-static-gzip.sh.m4 \
 		${WRKSRC}/document-server-package/common/documentserver/bin/documentserver-update-securelink.sh.m4 \
-		${WRKSRC}/document-server-package/common/documentserver/supervisor/ds-adminpanel.conf \
 		${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}/server/DocService/patches/sharp+${DS_SHARP_VER}.patch \
-		${WRKSRC}/server/Metrics/patches/modern-syslog+${DS_MODERN_SYSLOG_VER}.patch
+		${WRKSRC}/web-apps/build/patches/optipng-bin+5.1.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
@@ -198,25 +222,35 @@ pre-configure:
 		${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/}|' \
+	@${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 \
 		${WRKSRC}/server/Common/config/development-freebsd.json
-	@${REINPLACE_CMD} 's|%%DISTDIR%%|${DISTDIR}|' \
-		${WRKSRC}/web-apps/build/patches/optipng-bin+5.1.0.patch
 	@${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|' -e 's|%%ETCDIR%%|${ETCDIR}|' \
 		${WRKSRC}/document-server-package/common/documentserver/bin/documentserver-flush-cache.sh.m4 \
 		${WRKSRC}/document-server-package/Makefile
 	@${REINPLACE_CMD} 's|%%OPENSSL_LIB%%|${OPENSSLLIB}|' \
 		${WRKSRC}/core/Common/3dParty/openssl/openssl.pri
 	@${RM} ${WRKSRC}/web-apps/build/patches/optipng-bin+5.1.0.patch.orig
-	@${RM} ${WRKSRC}/server/DocService/patches/sharp+${DS_SHARP_VER}.patch.orig
-	@${RM} ${WRKSRC}/server/Metrics/patches/modern-syslog+${DS_MODERN_SYSLOG_VER}.patch.orig
 
-	@${FIND} ${WRKSRC}/server -type f -name npm-shrinkwrap.json -delete
+	# Copy new package.json for sdkjs root
+	@${CP} ${WRKSRC_npm_cache}/sdkjs-package.json ${WRKSRC}/sdkjs/package.json
+	@${ECHO_MSG} "  Installed: sdkjs/package.json"
+
+	# Copy optimized shrinkwrap files from cache repo, overwriting upstream
+	@${ECHO_MSG} "Installing optimized npm-shrinkwrap.json files..."
+	@(cd ${WRKSRC_npm_cache}/shrinkwrap && \
+		${FIND} . -name npm-shrinkwrap.json | while read shrinkwrap; do \
+			rel_path=$${shrinkwrap#./}; \
+			target="${WRKSRC}/$${rel_path}"; \
+			target_dir=$$(dirname "$$target"); \
+			${MKDIR} -p "$$target_dir"; \
+			${CP} "$$shrinkwrap" "$$target"; \
+			${ECHO_MSG} "  Installed: $${rel_path}"; \
+		done)
 
 	@${ECHO} "# Generated from 'DEPS'" > ${WRKSRC}/core/Common/3dParty/v8_89/v8/build/config/gclient_args.gni
 	@${ECHO} "checkout_google_benchmark = false" >> ${WRKSRC}/core/Common/3dParty/v8_89/v8/build/config/gclient_args.gni
@@ -225,38 +259,28 @@ do-build:
 	${INSTALL_SCRIPT} ${FILESDIR}/npm ${BINARY_LINKDIR}/npm
 	@${REINPLACE_CMD} 's|%%LOCALBASE%%|${LOCALBASE}|g' ${WRKDIR}/.bin/npm
 
-#	@cd ${WRKSRC}/web-apps/build ; ${SETENV} ${MAKE_ENV} npm cache clean --force
-	@cd ${WRKSRC}/web-apps/build ; ${SETENV} ${MAKE_ENV} npm install patch-package
-	@cd ${WRKSRC}/web-apps/build ; ${SETENV} ${MAKE_ENV} npm install optipng-bin@5.1.0
+	@cd ${WRKSRC}/web-apps/build ; ${SETENV} ${MAKE_ENV} NODE_ENV=production npm install --ignore-scripts
 	@cd ${WRKSRC}/web-apps/build ; node_modules/.bin/patch-package
 	@cd ${WRKSRC}/web-apps/build/node_modules/optipng-bin ; ${SETENV} ${MAKE_ENV} npm run postinstall optipng-bin
 
-	@cd ${WRKSRC}/server ; ${SETENV} ${MAKE_ENV} npm install grunt-cli
-	@cd ${WRKSRC}/server ; ${SETENV} ${MAKE_ENV} npm install grunt
+	@cd ${WRKSRC}/sdkjs ; ${SETENV} ${MAKE_ENV} npm install
 
-	# This is required for offline builds on whichever architecture didn't build the npm cache, so do it universally
-	@cd ${WRKSRC}/server/DocService ; ${SETENV} ${MAKE_ENV} npm install sharp@${DS_SHARP_VER} --ignore-scripts
-	@cd ${WRKSRC}/server/DocService ; ${SETENV} ${MAKE_ENV} npm install patch-package
+	# During offline builds the install script doesn't run, and must patch for external native addon
+	@cd ${WRKSRC}/server/DocService ; ${SETENV} ${MAKE_ENV} NODE_ENV=production npm install --ignore-scripts
 	@cd ${WRKSRC}/server/DocService ; node_modules/.bin/patch-package
-	@cd ${WRKSRC}/server/DocService ; ${SETENV} ${MAKE_ENV} npm install sharp@${DS_SHARP_VER}
-
-	# This is required for offline builds
-	@cd ${WRKSRC}/server/Metrics ; ${SETENV} ${MAKE_ENV} npm install modern-syslog@${DS_MODERN_SYSLOG_VER} --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
+	@cd ${WRKSRC}/server/DocService/node_modules/sharp ; ${SETENV} ${MAKE_ENV} NODE_ENV=production npm run install
 
 	@${MKDIR} ${WRKSRC}/yao-pkg
-	@${CP} ${FILESDIR}/package* ${WRKSRC}/yao-pkg
-	@cd ${WRKSRC}/yao-pkg ; ${SETENV} ${MAKE_ENV} npm install @yao-pkg/pkg@6.9.0
+	@${CP} ${WRKSRC_npm_cache}/yao-pkg-package.json      ${WRKSRC}/yao-pkg/package.json
+	@${CP} ${WRKSRC_npm_cache}/yao-pkg-package-lock.json ${WRKSRC}/yao-pkg/package-lock.json
+	@cd ${WRKSRC}/yao-pkg ; ${SETENV} ${MAKE_ENV} npm install @yao-pkg/pkg@${_YAOPKG_VER}
 
 	@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${PKGFETCH_NODE_VERSION}.cpp.patch || ${TRUE}
+	@cd ${WRKSRC} && ${PATCH} -N -s -i ${WRKSRC_npm_cache}/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
+
+# Warning regarding missing modern-syslog is harmless - unused syslog backend of statsd requires it
 	cd ${WRKSRC}/document-server-package ; ${SETENV} ${MAKE_ENV} ${GMAKE} freebsd
 
 do-install:
@@ -270,7 +294,6 @@ do-install:
 	${INSTALL_PROGRAM} ${WRKSRC}/document-server-package/common/documentserver/home/server/tools/pluginsmanager ${STAGEDIR}${WWWDIR}/documentserver/server/tools
 	${INSTALL_DATA} ${WRKSRC}/document-server-package/common/documentserver/home/npm/json ${STAGEDIR}${WWWDIR}/documentserver/npm
 	${INSTALL_LIB} ${WRKSRC}/document-server-package/common/documentserver/home/server/FileConverter/bin/*.so ${STAGEDIR}${PREFIX}/lib
-	${RM} ${STAGEDIR}${PREFIX}/bin/documentserver-letsencrypt.sh
 
 # install conf
 	${MKDIR} ${STAGEDIR}${ETCDIR}/documentserver/supervisor \
@@ -279,8 +302,8 @@ do-install:
 	${RM} ${WRKSRC}/document-server-package/common/documentserver/config/*-mac.json ${WRKSRC}/document-server-package/common/documentserver/config/*-windows.json
 	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-adminpanel.conf includes/ds-common.conf \
+	${INSTALL_DATA} ${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
 	${INSTALL_DATA} ${WRKSRC}/document-server-package/common/documentserver/nginx/${f} ${STAGEDIR}${ETCDIR}/documentserver/nginx/${f}.sample
@@ -292,9 +315,15 @@ do-install:
 	${MKDIR} ${STAGEDIR}/${ETCDIR}/documentserver/newsyslog.conf.d
 	${INSTALL_DATA} ${WRKDIR}/onlyoffice.newsyslog.sample ${STAGEDIR}/${ETCDIR}/documentserver/newsyslog.conf.d
 
+# Install arch-specific sharp native binding adjacent to the docservice
+# binary.  sharp.js resolves this at runtime via path.dirname(process.execPath).
+	@${MKDIR} ${STAGEDIR}${_SHARP_INSTALL_DIR}
+	${INSTALL_LIB} \
+		${WRKSRC}/server/DocService/node_modules/sharp/build/Release/${_SHARP_NODE_FILE} \
+		${STAGEDIR}${_SHARP_INSTALL_DIR}/${_SHARP_NODE_FILE}
+
 # create missing dir
 	${MKDIR} ${STAGEDIR}/var/log/onlyoffice/documentserver/docservice \
-		 ${STAGEDIR}/var/log/onlyoffice/documentserver/adminpanel \
 		 ${STAGEDIR}/var/log/onlyoffice/documentserver/converter \
 		 ${STAGEDIR}/var/log/onlyoffice/documentserver/metrics \
 		 ${STAGEDIR}/var/db/onlyoffice/documentserver/App_Data/cache/files \
@@ -302,18 +331,16 @@ do-install:
 		 ${STAGEDIR}${WWWDIR}/Data \
 		 ${STAGEDIR}${WWWDIR}/documentserver/fonts
 
-# Remove bak file
+post-install:
+# Remove unwanted files from STAGE
+	${RM} ${STAGEDIR}${PREFIX}/bin/documentserver-letsencrypt.sh
 	${RM} ${STAGEDIR}${WWWDIR}/documentserver/server/Common/config/*.bak
 	${RM} ${STAGEDIR}${WWWDIR}/documentserver/dictionaries/sl_SI/hyph_sl_SI.dic.bak
 
-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 "${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
+# formats@2.5x.svg is generated by grunt-svg-sprite (web-apps/build/sprites/Gruntfile.js) as
+# part of the editor-specific deploy phase, which runs after the common deploy step that would
+# have copied it to staging via its **/*.svg glob. Copy it manually until fixed upstream.
+	${INSTALL_DATA} ${WRKSRC}/web-apps/apps/common/main/resources/img/doc-formats/formats@2.5x.svg \
+		${STAGEDIR}${WWWDIR}/documentserver/web-apps/apps/common/main/resources/img/doc-formats/
 
 .include <bsd.port.post.mk>
diff --git a/www/onlyoffice-documentserver/distinfo b/www/onlyoffice-documentserver/distinfo
index cb06d85ffe98..c19343463f41 100644
--- a/www/onlyoffice-documentserver/distinfo
+++ b/www/onlyoffice-documentserver/distinfo
@@ -1,47 +1,39 @@
-TIMESTAMP = 1760928970
+TIMESTAMP = 1774288218
 SHA256 (v8-8.9.255.25_all.tar.gz) = 54853ef93accc063a82a0dc29457b25c9b6d88315431d62e06ab1f84797c5f80
 SIZE (v8-8.9.255.25_all.tar.gz) = 72818814
-SHA256 (node-v20.19.5.tar.gz) = b34d3f57666d91deb6a148b604d7f2f4051d540087e9f6c627dedc1fcb866d5a
-SIZE (node-v20.19.5.tar.gz) = 89329824
-SHA256 (optipng-0.7.8.tar.gz) = 25a3bd68481f21502ccaa0f4c13f84dcf6b20338e4c4e8c51f2cefbd8513398c
-SIZE (optipng-0.7.8.tar.gz) = 3294014
-SHA256 (ONLYOFFICE-DocumentServer-v9.1.0_GH0.tar.gz) = 243318838d7a477ba81f591a55ea7f61d5fba637af18935f7ada046009db98dd
-SIZE (ONLYOFFICE-DocumentServer-v9.1.0_GH0.tar.gz) = 974624
-SHA256 (ONLYOFFICE-core-v9.1.0.177_GH0.tar.gz) = 61e055f88e7b711c6ec34380ca952d4b769ca232ff8b521366e4fbc7faf46463
-SIZE (ONLYOFFICE-core-v9.1.0.177_GH0.tar.gz) = 221353056
-SHA256 (ONLYOFFICE-core-fonts-v9.1.0.177_GH0.tar.gz) = ec6edc728a39324421eeb0cfd43302f5141cae9fbf28330581b1e77986876cd8
-SIZE (ONLYOFFICE-core-fonts-v9.1.0.177_GH0.tar.gz) = 95376733
-SHA256 (ONLYOFFICE-dictionaries-v9.1.0.177_GH0.tar.gz) = 9de8f1b2222095b0990d10b203679f7fb6196f1e99b50d5c2468a788d66f58f5
-SIZE (ONLYOFFICE-dictionaries-v9.1.0.177_GH0.tar.gz) = 57973598
-SHA256 (ONLYOFFICE-document-server-integration-v9.1.0.177_GH0.tar.gz) = 87622dfb74d9d23caf564fd62f0bb0d247064be51f5caa632215c44bc09a0441
-SIZE (ONLYOFFICE-document-server-integration-v9.1.0.177_GH0.tar.gz) = 6128879
-SHA256 (ONLYOFFICE-document-templates-v9.1.0.177_GH0.tar.gz) = 621cd114d3716ae50c3efb19844d4d9777052a99b8435dceac2f3a7d5dd9dece
-SIZE (ONLYOFFICE-document-templates-v9.1.0.177_GH0.tar.gz) = 3914480
-SHA256 (ONLYOFFICE-sdkjs-v9.1.0.177_GH0.tar.gz) = c51d81b18fdaae21e4daaec9dd36ba5cebce084af0ab2944eba933a735080b39
-SIZE (ONLYOFFICE-sdkjs-v9.1.0.177_GH0.tar.gz) = 38523813
-SHA256 (ONLYOFFICE-server-v9.1.0.177_GH0.tar.gz) = a11804919ab97b864a47e7ba9af476afe87061c863f3d48f5784977b1ddb8a91
-SIZE (ONLYOFFICE-server-v9.1.0.177_GH0.tar.gz) = 4402758
-SHA256 (ONLYOFFICE-web-apps-v9.1.0.177_GH0.tar.gz) = 5e2151ac489347b63bff21e54df5261cdb79048eb43ceed49bc0198baef2819c
-SIZE (ONLYOFFICE-web-apps-v9.1.0.177_GH0.tar.gz) = 448325255
-SHA256 (ONLYOFFICE-build_tools-v9.1.0.177_GH0.tar.gz) = d4f2d2392633bee665f3d0ac082442814d920c8e163fa149a5663a58a3502104
-SIZE (ONLYOFFICE-build_tools-v9.1.0.177_GH0.tar.gz) = 6720080
+SHA256 (node-v20.20.0.tar.gz) = cafc92e90917c17869d982fdff10104c2eb328437ed9bbf03fdda78ebc0accdd
+SIZE (node-v20.20.0.tar.gz) = 88277321
+SHA256 (ONLYOFFICE-DocumentServer-v9.3.1_GH0.tar.gz) = 6df95aa91341504dbee888612552cfd474797d9e1c1f3d97553c4090f9230dcd
+SIZE (ONLYOFFICE-DocumentServer-v9.3.1_GH0.tar.gz) = 982188
+SHA256 (ONLYOFFICE-build_tools-v9.3.1.8_GH0.tar.gz) = 68204c339f27ddf56e1d8aacb1ea79afab18555bb3c964fe70a8142539d64e13
+SIZE (ONLYOFFICE-build_tools-v9.3.1.8_GH0.tar.gz) = 6729536
+SHA256 (ONLYOFFICE-core-v9.3.1.8_GH0.tar.gz) = e343283af69022e7d59a986f4e4d9732658a635a3e052ca3a17691a9f0e301dd
+SIZE (ONLYOFFICE-core-v9.3.1.8_GH0.tar.gz) = 221297375
+SHA256 (ONLYOFFICE-core-fonts-v9.3.1.8_GH0.tar.gz) = 8e3355e1aec59908ae3d4eaa3dd9b044b65b8616b0bccb63479e333fa48762c3
+SIZE (ONLYOFFICE-core-fonts-v9.3.1.8_GH0.tar.gz) = 95377731
+SHA256 (ONLYOFFICE-dictionaries-v9.3.1.8_GH0.tar.gz) = f4cbbdd5de8e5c79ad58e95f2e823da84862e046936aa7374750dee8e6b31e03
+SIZE (ONLYOFFICE-dictionaries-v9.3.1.8_GH0.tar.gz) = 57973818
+SHA256 (ONLYOFFICE-document-formats-v9.3.1.8_GH0.tar.gz) = a700d2a83a183209d5e2c3f1b69b12519ab5461c01f32b6beff7d916ca1eabed
+SIZE (ONLYOFFICE-document-formats-v9.3.1.8_GH0.tar.gz) = 8398
+SHA256 (ONLYOFFICE-document-server-integration-v9.3.1.8_GH0.tar.gz) = 5619401fac97f67f501951c3c92211c4a6330a722f4fafa69db52a51949f66d2
+SIZE (ONLYOFFICE-document-server-integration-v9.3.1.8_GH0.tar.gz) = 6016685
+SHA256 (ONLYOFFICE-document-server-package-v9.3.1.8_GH0.tar.gz) = 260ac8d697c36fcd29e2f58a8a2b90e42ad480e2c8a379ecadc0b37598a0bc29
+SIZE (ONLYOFFICE-document-server-package-v9.3.1.8_GH0.tar.gz) = 191572
+SHA256 (ONLYOFFICE-document-templates-v9.3.1.8_GH0.tar.gz) = 18a0559a226394de9fe8a44b32984bd04265f784b75ac656c5365b908321ddd9
+SIZE (ONLYOFFICE-document-templates-v9.3.1.8_GH0.tar.gz) = 3914480
+SHA256 (ONLYOFFICE-sdkjs-v9.3.1.8_GH0.tar.gz) = 130bbca0e8017437bae9bd739ccd637b65ce57bda2a842c11ddfc437673d2be0
+SIZE (ONLYOFFICE-sdkjs-v9.3.1.8_GH0.tar.gz) = 39754071
+SHA256 (ONLYOFFICE-server-v9.3.1.8_GH0.tar.gz) = 23bbbd20f1409ac6c6e739d18a235b086a6d5e4192c1e45ba50cd692c6c67f6d
+SIZE (ONLYOFFICE-server-v9.3.1.8_GH0.tar.gz) = 470282
+SHA256 (ONLYOFFICE-web-apps-v9.3.1.8_GH0.tar.gz) = 81d454101728d0efc4d78e26c0d0ec59a4b7ff917193df99db4b131c45baf4de
+SIZE (ONLYOFFICE-web-apps-v9.3.1.8_GH0.tar.gz) = 450219620
 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.1.0.177_GH0.tar.gz) = 4ef2c54064f15835b367e3a985491f05563c9bf9e942a594927ebc26eee5874d
-SIZE (ONLYOFFICE-document-server-package-v9.1.0.177_GH0.tar.gz) = 189097
 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.5_GH0.tar.gz) = 85581265fc3f16266459643fc858bb0781ef7970e6efba073e34dff41236f5bb
-SIZE (fsbruva-onlyoffice-DS-pkg-cache-v20.19.5_GH0.tar.gz) = 1183
-SHA256 (fsbruva-onlyoffice-DS-npm-cache-v9.1.0.177-20251019_GH0.tar.gz) = dc186f2418963a8c973293290313fdd851908587ccbb61b5353db10ab175b5d5
-SIZE (fsbruva-onlyoffice-DS-npm-cache-v9.1.0.177-20251019_GH0.tar.gz) = 191008993
+SHA256 (fsbruva-onlyoffice-DS-npm-cache-v9.3.1.8-202603231741-prodmatch_GH0.tar.gz) = 9cd92a0e34fd5c1d5752a6ea7214fbd7eca08ca68dc6235b13cd9e5f5d6e93e8
+SIZE (fsbruva-onlyoffice-DS-npm-cache-v9.3.1.8-202603231741-prodmatch_GH0.tar.gz) = 126774789
diff --git a/www/onlyoffice-documentserver/files/ds-adminpanel.conf b/www/onlyoffice-documentserver/files/ds-adminpanel.conf
deleted file mode 100644
index 23bb8bc1102a..000000000000
--- a/www/onlyoffice-documentserver/files/ds-adminpanel.conf
+++ /dev/null
@@ -1,13 +0,0 @@
-[program:adminpanel]
-command=%%LOCALBASE%%/www/onlyoffice/documentserver/server/AdminPanel/server/adminpanel
-directory=%%LOCALBASE%%/www/onlyoffice/documentserver/server/AdminPanel
-user=onlyoffice
-environment=NODE_ENV=production-freebsd,NODE_CONFIG_DIR=%%LOCALBASE%%/etc/onlyoffice/documentserver,NODE_DISABLE_COLORS=1
-stdout_logfile=/var/log/onlyoffice/documentserver/adminpanel/out.log
-stdout_logfile_backups=0
-stdout_logfile_maxbytes=0
-stderr_logfile=/var/log/onlyoffice/documentserver/adminpanel/err.log
-stderr_logfile_backups=0
-stderr_logfile_maxbytes=0
-autostart=true
-autorestart=true
diff --git a/www/onlyoffice-documentserver/files/ds.conf b/www/onlyoffice-documentserver/files/ds.conf
index 943446672724..d6af1be86efe 100644
--- a/www/onlyoffice-documentserver/files/ds.conf
+++ b/www/onlyoffice-documentserver/files/ds.conf
@@ -1,2 +1,2 @@
 [group:ds]
-programs=docservice,converter,metrics,adminpanel
+programs=docservice,converter,metrics
diff --git a/www/onlyoffice-documentserver/files/extra-patch-pkg-fetch_patches_node.v20.19.5.cpp.patch b/www/onlyoffice-documentserver/files/extra-patch-pkg-fetch_patches_node.v20.19.5.cpp.patch
deleted file mode 100644
index 486b43f41365..000000000000
--- a/www/onlyoffice-documentserver/files/extra-patch-pkg-fetch_patches_node.v20.19.5.cpp.patch
+++ /dev/null
@@ -1,192 +0,0 @@
-https://github.com/yao-pkg/pkg-fetch/raw/refs/tags/v3.5.29/patches/node.v20.19.5.cpp.patch
-+ local FreeBSD patches
-
---- yao-pkg/node_modules/@yao-pkg/pkg-fetch/patches/node.v20.19.5.cpp.patch
-+++ yao-pkg/node_modules/@yao-pkg/pkg-fetch/patches/node.v20.19.5.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/local.json.sample b/www/onlyoffice-documentserver/files/local.json.sample
index afe6599ff513..574f913266c6 100644
--- a/www/onlyoffice-documentserver/files/local.json.sample
+++ b/www/onlyoffice-documentserver/files/local.json.sample
@@ -25,19 +25,35 @@
         }
       },
       "secret": {
+        "browser": {
+          "string": "JWTsecretstring"
+        },
         "inbox": {
-          "string": "secret"
+          "string": "JWTsecretstring"
         },
         "outbox": {
-          "string": "secret"
+          "string": "JWTsecretstring"
         },
         "session": {
-          "string": "secret"
+          "string": "JWTsecretstring"
         }
       }
     }
   },
+  "openpgpjs": {
+    "_comment": "https://helpcenter.onlyoffice.com/docs/installation/docs-developer-configuring.aspx#openpgpprotocol_block"
+    "encrypt": {
+      "passwords": ["PGPguardsecretstring"]
+    },
+    "decrypt": {
+      "passwords": ["PGPguardsecretstring"]
+    }
+  },
+  "aesEncrypt": {
+    "_comment": "https://helpcenter.onlyoffice.com/docs/installation/docs-developer-configuring.aspx#aes256gcmalgorithm_block"
+    "secret": "docpasswordsecretstring"
+  },
   "rabbitmq": {
-    "url": "amqp://guest:guest@localhost"
+    "url": "amqp://onlyoffice:password@localhost"
   }
 }
diff --git a/www/onlyoffice-documentserver/files/package-lock.json b/www/onlyoffice-documentserver/files/package-lock.json
deleted file mode 100644
index f73338dc1b33..000000000000
--- a/www/onlyoffice-documentserver/files/package-lock.json
+++ /dev/null
@@ -1,1404 +0,0 @@
-{
-  "name": "yao-pkg",
-  "lockfileVersion": 3,
-  "requires": true,
-  "packages": {
-    "": {
-      "dependencies": {
-        "@yao-pkg/pkg": "^6.9.0"
-      }
-    },
-    "node_modules/@babel/generator": {
-      "version": "7.23.0",
-      "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.0.tgz",
-      "integrity": "sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==",
-      "dependencies": {
-        "@babel/types": "^7.23.0",
-        "@jridgewell/gen-mapping": "^0.3.2",
-        "@jridgewell/trace-mapping": "^0.3.17",
-        "jsesc": "^2.5.1"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/@babel/helper-string-parser": {
-      "version": "7.23.4",
-      "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz",
-      "integrity": "sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==",
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/@babel/helper-validator-identifier": {
-      "version": "7.22.20",
-      "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz",
-      "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==",
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/@babel/parser": {
-      "version": "7.23.0",
-      "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.0.tgz",
-      "integrity": "sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==",
-      "bin": {
-        "parser": "bin/babel-parser.js"
-      },
-      "engines": {
-        "node": ">=6.0.0"
-      }
-    },
-    "node_modules/@babel/types": {
-      "version": "7.23.0",
-      "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.0.tgz",
-      "integrity": "sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==",
-      "dependencies": {
-        "@babel/helper-string-parser": "^7.22.5",
-        "@babel/helper-validator-identifier": "^7.22.20",
-        "to-fast-properties": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/@isaacs/fs-minipass": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/@isaacs/fs-minipass/-/fs-minipass-4.0.1.tgz",
-      "integrity": "sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==",
-      "license": "ISC",
-      "dependencies": {
-        "minipass": "^7.0.4"
-      },
-      "engines": {
-        "node": ">=18.0.0"
-      }
-    },
-    "node_modules/@jridgewell/gen-mapping": {
-      "version": "0.3.5",
-      "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz",
-      "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==",
-      "dependencies": {
-        "@jridgewell/set-array": "^1.2.1",
-        "@jridgewell/sourcemap-codec": "^1.4.10",
-        "@jridgewell/trace-mapping": "^0.3.24"
-      },
-      "engines": {
-        "node": ">=6.0.0"
-      }
-    },
-    "node_modules/@jridgewell/resolve-uri": {
-      "version": "3.1.2",
-      "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz",
-      "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==",
-      "engines": {
-        "node": ">=6.0.0"
-      }
-    },
-    "node_modules/@jridgewell/set-array": {
-      "version": "1.2.1",
-      "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz",
-      "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==",
-      "engines": {
-        "node": ">=6.0.0"
-      }
-    },
-    "node_modules/@jridgewell/sourcemap-codec": {
-      "version": "1.4.15",
-      "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz",
-      "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg=="
-    },
-    "node_modules/@jridgewell/trace-mapping": {
-      "version": "0.3.25",
-      "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz",
-      "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==",
-      "dependencies": {
-        "@jridgewell/resolve-uri": "^3.1.0",
-        "@jridgewell/sourcemap-codec": "^1.4.14"
-      }
-    },
-    "node_modules/@yao-pkg/pkg": {
-      "version": "6.9.0",
-      "resolved": "https://registry.npmjs.org/@yao-pkg/pkg/-/pkg-6.9.0.tgz",
-      "integrity": "sha512-8K4P5ZRPtOIneylzmCgTWTNwxOuzju+ds/wSDli8EokmAYCG/Flr/NliFjfZ8I9t//FcG1Di7rBldyjEhPtKvQ==",
-      "license": "MIT",
-      "dependencies": {
-        "@babel/generator": "^7.23.0",
-        "@babel/parser": "^7.23.0",
-        "@babel/types": "^7.23.0",
-        "@yao-pkg/pkg-fetch": "3.5.29",
-        "into-stream": "^6.0.0",
-        "minimist": "^1.2.6",
-        "multistream": "^4.1.0",
-        "picocolors": "^1.1.0",
-        "picomatch": "^4.0.2",
-        "prebuild-install": "^7.1.1",
-        "resolve": "^1.22.10",
-        "stream-meter": "^1.0.4",
-        "tar": "^7.4.3",
-        "tinyglobby": "^0.2.11",
-        "unzipper": "^0.12.3"
-      },
-      "bin": {
-        "pkg": "lib-es5/bin.js"
-      },
-      "engines": {
-        "node": ">=18.0.0"
-      }
-    },
-    "node_modules/@yao-pkg/pkg-fetch": {
-      "version": "3.5.29",
-      "resolved": "https://registry.npmjs.org/@yao-pkg/pkg-fetch/-/pkg-fetch-3.5.29.tgz",
-      "integrity": "sha512-Kpfpx9/XBkOZ/Nb41ybBGO+IaD9lu9svFxwqNt2xN0zwkxIQbaWU2gS5kOzkKPFlk2WUHoqtTkaDyYRARSOkkg==",
-      "license": "MIT",
-      "dependencies": {
-        "https-proxy-agent": "^5.0.0",
-        "node-fetch": "^2.6.6",
-        "picocolors": "^1.1.0",
-        "progress": "^2.0.3",
-        "semver": "^7.3.5",
-        "tar-fs": "^3.1.1",
-        "yargs": "^16.2.0"
-      },
-      "bin": {
-        "pkg-fetch": "lib-es5/bin.js"
-      }
-    },
-    "node_modules/@yao-pkg/pkg-fetch/node_modules/tar-fs": {
-      "version": "3.1.1",
-      "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-3.1.1.tgz",
-      "integrity": "sha512-LZA0oaPOc2fVo82Txf3gw+AkEd38szODlptMYejQUhndHMLQ9M059uXR+AfS7DNo0NpINvSqDsvyaCrBVkptWg==",
-      "license": "MIT",
-      "dependencies": {
-        "pump": "^3.0.0",
-        "tar-stream": "^3.1.5"
-      },
-      "optionalDependencies": {
-        "bare-fs": "^4.0.1",
-        "bare-path": "^3.0.0"
-      }
-    },
-    "node_modules/@yao-pkg/pkg-fetch/node_modules/tar-stream": {
-      "version": "3.1.7",
-      "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.7.tgz",
-      "integrity": "sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==",
-      "license": "MIT",
-      "dependencies": {
-        "b4a": "^1.6.4",
-        "fast-fifo": "^1.2.0",
-        "streamx": "^2.15.0"
-      }
-    },
-    "node_modules/agent-base": {
-      "version": "6.0.2",
-      "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
-      "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
-      "license": "MIT",
-      "dependencies": {
-        "debug": "4"
-      },
-      "engines": {
-        "node": ">= 6.0.0"
-      }
-    },
-    "node_modules/ansi-regex": {
-      "version": "5.0.1",
-      "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
-      "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
-      "license": "MIT",
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/ansi-styles": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-      "license": "MIT",
-      "dependencies": {
-        "color-convert": "^2.0.1"
-      },
-      "engines": {
*** 3784 LINES SKIPPED ***


home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?69c643ce.226ff.7d4f6e47>