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,319 +1,346 @@ 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 WWW= https://www.onlyoffice.com/ LICENSE= AGPLv3 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 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 \ nginx:www/nginx \ pwgen:sysutils/pwgen \ rabbitmq>0:net/rabbitmq \ webfonts>=0:x11-fonts/webfonts USES= autoreconf:build dos2unix fakeroot gmake gnome iconv:wchar_t localbase java:build pkgconfig \ python:build qt:5 ssl trigger BROKEN_SSL= boringssl libressl libressl-devel BROKEN_SSL_REASON= Node.js requires OpenSSL DOS2UNIX_FILES= document-server-package/common/documentserver/nginx/includes/http-common.conf.m4 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} # Don't create __pycache__ directory when executing node-gyp # This is a workaround to avoid filesystem violations during poudriere build MAKE_ENV+= PYTHONDONTWRITEBYTECODE=1 CONFLICTS_BUILD= devel/googletest # do not strip docservice, converter, metrics and json STRIP= ETCDIR= ${PREFIX}/etc/onlyoffice WWWDIR= ${PREFIX}/www/onlyoffice BINARY_ALIAS= python=${PYTHON_CMD} \ strip=true SUB_FILES= pkg-message \ onlyoffice.newsyslog.sample SUB_LIST= DS_GROUPNAME=${DS_GROUPNAME} \ DS_USERNAME=${DS_USERNAME} \ ETCDIR=${ETCDIR} \ PREFIX=${PREFIX} \ WWWDIR=${WWWDIR} DS_USERNAME= onlyoffice DS_GROUPNAME= onlyoffice 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 OPTIONS_SINGLE_DB= MYSQL PGSQL MYSQL_USES+= mysql:client PGSQL_USES+= pgsql PGSQL_VARS= WANT_PGSQL=client .include .if ${ARCH} == aarch64 BUILD_DEPENDS+= clang${LLVM_DEFAULT}:devel/llvm${LLVM_DEFAULT} BINARY_ALIAS+= ar=${LOCALBASE}/bin/llvm-ar${LLVM_DEFAULT} \ c++=${LOCALBASE}/bin/clang++${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: @${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 @${MV} ${WRKSRC}/server/Common/config/production-linux.json ${WRKSRC}/server/Common/config/production-freebsd.json @${MV} ${WRKSRC}/server/Common/config/development-linux.json ${WRKSRC}/server/Common/config/development-freebsd.json # 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 pre-configure: @${REINPLACE_CMD} 's|%%LOCALBASE%%|${LOCALBASE}|' \ ${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 @${REINPLACE_CMD} 's|%%WRKDIR%%|${WRKDIR}|' \ ${WRKSRC}/document-server-package/Makefile @${REINPLACE_CMD} 's|%%WRKSRC%%|${WRKSRC}|' \ ${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 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: # install the project # do not strip docservice, converter, metrics and json cd ${WRKSRC}/document-server-package/common/documentserver/home && ${COPYTREE_SHARE} . ${STAGEDIR}${WWWDIR}/documentserver ${INSTALL_SCRIPT} ${WRKSRC}/document-server-package/common/documentserver/bin/*.sh ${STAGEDIR}${PREFIX}/bin ${INSTALL_PROGRAM} ${WRKSRC}/document-server-package/common/documentserver/home/server/tools/all* ${STAGEDIR}${WWWDIR}/documentserver/server/tools ${INSTALL_PROGRAM} ${WRKSRC}/document-server-package/common/documentserver/home/server/FileConverter/bin/x2t ${STAGEDIR}${WWWDIR}/documentserver/server/FileConverter/bin ${INSTALL_PROGRAM} ${WRKSRC}/document-server-package/common/documentserver/home/server/FileConverter/bin/docbuilder ${STAGEDIR}${WWWDIR}/documentserver/server/FileConverter/bin ${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 \ ${STAGEDIR}${ETCDIR}/documentserver/nginx/includes \ ${STAGEDIR}${ETCDIR}/documentserver/logrotate ${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 .endfor @echo "# Production ds-cache.conf is created automatically by documentserver-flush-cache.sh" > ${STAGEDIR}${ETCDIR}/documentserver/nginx/includes/ds-cache.conf.sample cd ${WRKSRC}/document-server-package/common/documentserver/nginx/includes && ${COPYTREE_SHARE} . ${STAGEDIR}${ETCDIR}/documentserver/nginx/includes "-name *\.conf" cd ${WRKSRC}/document-server-package/common/documentserver/config && ${COPYTREE_SHARE} . ${STAGEDIR}${ETCDIR}/documentserver ${INSTALL_DATA} ${FILESDIR}/local.json.sample ${STAGEDIR}${ETCDIR}/documentserver ${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 \ ${STAGEDIR}/var/db/onlyoffice/documentserver/App_Data/docbuilder \ ${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 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::GetSharedLib -+ lib_name = std::string(path); -+ } -+ result.push_back(SharedLibraryAddress( -+- lib_name, reinterpret_cast(map->kve_start), -+- reinterpret_cast(map->kve_end))); -++ lib_name, static_cast(map->kve_start), -++ static_cast(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 // for cache flushing. -+ #undef MAP_TYPE -+ #elif V8_OS_FREEBSD -++#include -+ #include // for cache flushing -+ #include -+ #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(mcontext.__gregs[_REG_PC]); -+ state->sp = reinterpret_cast(mcontext.__gregs[_REG_SP]); -+ state->fp = reinterpret_cast(mcontext.__gregs[_REG_FP]); -++#elif V8_TARGET_ARCH_PPC64 -++ state->pc = reinterpret_cast(mcontext.mc_srr0); -++ state->sp = reinterpret_cast(mcontext.mc_frame[1]); -++ state->fp = reinterpret_cast(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& args) { -+--- node/src/cares_wrap.h.orig 2023-05-16 06:58:21 UTC -++++ node/src/cares_wrap.h -+@@ -23,7 +23,7 @@ -+ # include -+ #endif // __POSIX__ -+ -+-# include -++# include -+ -+ 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 @@ -1,43 +1,59 @@ { "services": { "CoAuthoring": { "sql": { "type": "postgres", "dbHost": "localhost", "dbPort": "5432", "dbName": "onlyoffice", "dbUser": "onlyoffice", "dbPass": "onlyoffice" }, "token": { "enable": { "request": { "inbox": false, "outbox": false }, "browser": false }, "inbox": { "header": "Authorization" }, "outbox": { "header": "Authorization" } }, "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": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/b4a": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.7.3.tgz", - "integrity": "sha512-5Q2mfq2WfGuFp3uS//0s6baOJLMoVduPYVeNmDYxu5OUA1/cBfvr2RIS7vi62LdNj/urk1hfmj867I3qt6uZ7Q==", - "license": "Apache-2.0", - "peerDependencies": { - "react-native-b4a": "*" - }, - "peerDependenciesMeta": { - "react-native-b4a": { - "optional": true - } - } - }, - "node_modules/bare-events": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/bare-events/-/bare-events-2.8.0.tgz", - "integrity": "sha512-AOhh6Bg5QmFIXdViHbMc2tLDsBIRxdkIaIddPslJF9Z5De3APBScuqGP2uThXnIpqFrgoxMNC6km7uXNIMLHXA==", - "license": "Apache-2.0", - "peerDependencies": { - "bare-abort-controller": "*" - }, - "peerDependenciesMeta": { - "bare-abort-controller": { - "optional": true - } - } - }, - "node_modules/bare-fs": { - "version": "4.4.11", - "resolved": "https://registry.npmjs.org/bare-fs/-/bare-fs-4.4.11.tgz", - "integrity": "sha512-Bejmm9zRMvMTRoHS+2adgmXw1ANZnCNx+B5dgZpGwlP1E3x6Yuxea8RToddHUbWtVV0iUMWqsgZr8+jcgUI2SA==", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "bare-events": "^2.5.4", - "bare-path": "^3.0.0", - "bare-stream": "^2.6.4", - "bare-url": "^2.2.2", - "fast-fifo": "^1.3.2" - }, - "engines": { - "bare": ">=1.16.0" - }, - "peerDependencies": { - "bare-buffer": "*" - }, - "peerDependenciesMeta": { - "bare-buffer": { - "optional": true - } - } - }, - "node_modules/bare-os": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/bare-os/-/bare-os-3.6.2.tgz", - "integrity": "sha512-T+V1+1srU2qYNBmJCXZkUY5vQ0B4FSlL3QDROnKQYOqeiQR8UbjNHlPa+TIbM4cuidiN9GaTaOZgSEgsvPbh5A==", - "license": "Apache-2.0", - "optional": true, - "engines": { - "bare": ">=1.14.0" - } - }, - "node_modules/bare-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bare-path/-/bare-path-3.0.0.tgz", - "integrity": "sha512-tyfW2cQcB5NN8Saijrhqn0Zh7AnFNsnczRcuWODH0eYAXBsJ5gVxAUuNr7tsHSC6IZ77cA0SitzT+s47kot8Mw==", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "bare-os": "^3.0.1" - } - }, - "node_modules/bare-stream": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/bare-stream/-/bare-stream-2.7.0.tgz", - "integrity": "sha512-oyXQNicV1y8nc2aKffH+BUHFRXmx6VrPzlnaEvMhram0nPBrKcEdcyBg5r08D0i8VxngHFAiVyn1QKXpSG0B8A==", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "streamx": "^2.21.0" - }, - "peerDependencies": { - "bare-buffer": "*", - "bare-events": "*" - }, - "peerDependenciesMeta": { - "bare-buffer": { - "optional": true - }, - "bare-events": { - "optional": true - } - } - }, - "node_modules/bare-url": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/bare-url/-/bare-url-2.3.0.tgz", - "integrity": "sha512-c+RCqMSZbkz97Mw1LWR0gcOqwK82oyYKfLoHJ8k13ybi1+I80ffdDzUy0TdAburdrR/kI0/VuN8YgEnJqX+Nyw==", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "bare-path": "^3.0.0" - } - }, - "node_modules/base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/bl": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", - "dependencies": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" - } - }, - "node_modules/bl/node_modules/readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/bluebird": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", - "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", - "license": "MIT" - }, - "node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "node_modules/chownr": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" - }, - "node_modules/cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "license": "ISC", - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - } - }, - "node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "license": "MIT" - }, - "node_modules/core-util-is": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" - }, - "node_modules/debug": { - "version": "4.4.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", - "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", - "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/decompress-response": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", - "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", - "dependencies": { - "mimic-response": "^3.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/deep-extend": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/detect-libc": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.2.tgz", - "integrity": "sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==", - "engines": { - "node": ">=8" - } - }, - "node_modules/duplexer2": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", - "integrity": "sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA==", - "license": "BSD-3-Clause", - "dependencies": { - "readable-stream": "^2.0.2" - } - }, - "node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "license": "MIT" - }, - "node_modules/end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "dependencies": { - "once": "^1.4.0" - } - }, - "node_modules/escalade": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", - "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/events-universal": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/events-universal/-/events-universal-1.0.1.tgz", - "integrity": "sha512-LUd5euvbMLpwOF8m6ivPCbhQeSiYVNb8Vs0fQ8QjXo0JTkEHpz8pxdQf0gStltaPpw0Cca8b39KxvK9cfKRiAw==", - "license": "Apache-2.0", - "dependencies": { - "bare-events": "^2.7.0" - } - }, - "node_modules/expand-template": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz", - "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==", - "engines": { - "node": ">=6" - } - }, - "node_modules/fast-fifo": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz", - "integrity": "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==", - "license": "MIT" - }, - "node_modules/fdir": { - "version": "6.4.4", - "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.4.tgz", - "integrity": "sha512-1NZP+GK4GfuAv3PqKvxQRDMjdSRZjnkq7KfhlNrCNNlZ0ygQFpebfrnfnq/W7fpUnAv9aGWmY1zKx7FYL3gwhg==", - "license": "MIT", - "peerDependencies": { - "picomatch": "^3 || ^4" - }, - "peerDependenciesMeta": { - "picomatch": { - "optional": true - } - } - }, - "node_modules/from2": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", - "integrity": "sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g==", - "dependencies": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.0" - } - }, - "node_modules/fs-constants": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", - "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" - }, - "node_modules/fs-extra": { - "version": "11.3.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.0.tgz", - "integrity": "sha512-Z4XaCL6dUDHfP/jT25jJKMmtxvuwbkrD1vNSMFlo9lNLY2c5FHYSQgHPRZUjAB26TpDEoW9HCOgplrdbaPV/ew==", - "license": "MIT", - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=14.14" - } - }, - "node_modules/function-bind": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "license": "ISC", - "engines": { - "node": "6.* || 8.* || >= 10.*" - } - }, - "node_modules/github-from-package": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", - "integrity": "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==" - }, - "node_modules/graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", - "license": "ISC" - }, - "node_modules/hasown": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", - "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", - "license": "MIT", - "dependencies": { - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/https-proxy-agent": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", - "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", - "license": "MIT", - "dependencies": { - "agent-base": "6", - "debug": "4" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "node_modules/ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" - }, - "node_modules/into-stream": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/into-stream/-/into-stream-6.0.0.tgz", - "integrity": "sha512-XHbaOAvP+uFKUFsOgoNPRjLkwB+I22JFPFe5OjTkQ0nwgj6+pSjb4NmB6VMxaPshLiOf+zcpOCBQuLwC1KHhZA==", - "dependencies": { - "from2": "^2.3.0", - "p-is-promise": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-core-module": { - "version": "2.16.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", - "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", - "license": "MIT", - "dependencies": { - "hasown": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" - }, - "node_modules/jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "bin": { - "jsesc": "bin/jsesc" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "license": "MIT", - "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/mimic-response": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", - "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/minimist": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/minipass": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", - "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", - "license": "ISC", - "engines": { - "node": ">=16 || 14 >=14.17" - } - }, - "node_modules/minizlib": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-3.0.2.tgz", - "integrity": "sha512-oG62iEk+CYt5Xj2YqI5Xi9xWUeZhDI8jjQmC5oThVH5JGCTgIjr7ciJDzC7MBzYd//WvR1OTmP5Q38Q8ShQtVA==", - "license": "MIT", - "dependencies": { - "minipass": "^7.1.2" - }, - "engines": { - "node": ">= 18" - } - }, - "node_modules/mkdirp": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-3.0.1.tgz", - "integrity": "sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==", - "license": "MIT", - "bin": { - "mkdirp": "dist/cjs/src/bin.js" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/mkdirp-classic": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", - "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==" - }, - "node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "license": "MIT" - }, - "node_modules/multistream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/multistream/-/multistream-4.1.0.tgz", - "integrity": "sha512-J1XDiAmmNpRCBfIWJv+n0ymC4ABcf/Pl+5YvC5B/D2f/2+8PtHvCNxMPKiQcZyi922Hq69J2YOpb1pTywfifyw==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "once": "^1.4.0", - "readable-stream": "^3.6.0" - } - }, - "node_modules/multistream/node_modules/readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/napi-build-utils": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz", - "integrity": "sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==" - }, - "node_modules/node-abi": { - "version": "3.56.0", - "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.56.0.tgz", - "integrity": "sha512-fZjdhDOeRcaS+rcpve7XuwHBmktS1nS1gzgghwKUQQ8nTy2FdSDr6ZT8k6YhvlJeHmmQMYiT/IH9hfco5zeW2Q==", - "dependencies": { - "semver": "^7.3.5" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/node-fetch": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", - "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", - "license": "MIT", - "dependencies": { - "whatwg-url": "^5.0.0" - }, - "engines": { - "node": "4.x || >=6.0.0" - }, - "peerDependencies": { - "encoding": "^0.1.0" - }, - "peerDependenciesMeta": { - "encoding": { - "optional": true - } - } - }, - "node_modules/node-int64": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", - "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", - "license": "MIT" - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/p-is-promise": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-3.0.0.tgz", - "integrity": "sha512-Wo8VsW4IRQSKVXsJCn7TomUaVtyfjVDn3nUP7kE967BQk0CwFpdbZs0X0uk5sW9mkBa9eNM7hCMaG93WUAwxYQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "license": "MIT" - }, - "node_modules/picocolors": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", - "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", - "license": "ISC" - }, - "node_modules/picomatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", - "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", - "license": "MIT", - "peer": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/prebuild-install": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.1.tgz", - "integrity": "sha512-jAXscXWMcCK8GgCoHOfIr0ODh5ai8mj63L2nWrjuAgXE6tDyYGnx4/8o/rCgU+B4JSyZBKbeZqzhtwtC3ovxjw==", - "dependencies": { - "detect-libc": "^2.0.0", - "expand-template": "^2.0.3", - "github-from-package": "0.0.0", - "minimist": "^1.2.3", - "mkdirp-classic": "^0.5.3", - "napi-build-utils": "^1.0.1", - "node-abi": "^3.3.0", - "pump": "^3.0.0", - "rc": "^1.2.7", - "simple-get": "^4.0.0", - "tar-fs": "^2.0.0", - "tunnel-agent": "^0.6.0" - }, - "bin": { - "prebuild-install": "bin.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" - }, - "node_modules/progress": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", - "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", - "license": "MIT", - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "node_modules/rc": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", - "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", - "dependencies": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - }, - "bin": { - "rc": "cli.js" - } - }, - "node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/resolve": { - "version": "1.22.10", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", - "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", - "license": "MIT", - "dependencies": { - "is-core-module": "^2.16.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "node_modules/semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/simple-concat": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", - "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/simple-get": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-4.0.1.tgz", - "integrity": "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "decompress-response": "^6.0.0", - "once": "^1.3.1", - "simple-concat": "^1.0.0" - } - }, - "node_modules/stream-meter": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/stream-meter/-/stream-meter-1.0.4.tgz", - "integrity": "sha512-4sOEtrbgFotXwnEuzzsQBYEV1elAeFSO8rSGeTwabuX1RRn/kEq9JVH7I0MRBhKVRR0sJkr0M0QCH7yOLf9fhQ==", - "dependencies": { - "readable-stream": "^2.1.4" - } - }, - "node_modules/streamx": { - "version": "2.23.0", - "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.23.0.tgz", - "integrity": "sha512-kn+e44esVfn2Fa/O0CPFcex27fjIL6MkVae0Mm6q+E6f0hWv578YCERbv+4m02cjxvDsPKLnmxral/rR6lBMAg==", - "license": "MIT", - "dependencies": { - "events-universal": "^1.0.0", - "fast-fifo": "^1.3.2", - "text-decoder": "^1.1.0" - } - }, - "node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/tar": { - "version": "7.4.3", - "resolved": "https://registry.npmjs.org/tar/-/tar-7.4.3.tgz", - "integrity": "sha512-5S7Va8hKfV7W5U6g3aYxXmlPoZVAwUMy9AOKyF2fVuZa2UD3qZjg578OrLRt8PcNN1PleVaL/5/yYATNL0ICUw==", - "license": "ISC", - "dependencies": { - "@isaacs/fs-minipass": "^4.0.0", - "chownr": "^3.0.0", - "minipass": "^7.1.2", - "minizlib": "^3.0.1", - "mkdirp": "^3.0.1", - "yallist": "^5.0.0" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/tar-fs": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz", - "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==", - "dependencies": { - "chownr": "^1.1.1", - "mkdirp-classic": "^0.5.2", - "pump": "^3.0.0", - "tar-stream": "^2.1.4" - } - }, - "node_modules/tar-stream": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", - "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", - "dependencies": { - "bl": "^4.0.3", - "end-of-stream": "^1.4.1", - "fs-constants": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^3.1.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/tar-stream/node_modules/readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/tar/node_modules/chownr": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-3.0.0.tgz", - "integrity": "sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==", - "license": "BlueOak-1.0.0", - "engines": { - "node": ">=18" - } - }, - "node_modules/tar/node_modules/yallist": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-5.0.0.tgz", - "integrity": "sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==", - "license": "BlueOak-1.0.0", - "engines": { - "node": ">=18" - } - }, - "node_modules/text-decoder": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/text-decoder/-/text-decoder-1.2.3.tgz", - "integrity": "sha512-3/o9z3X0X0fTupwsYvR03pJ/DjWuqqrfwBgTQzdWDiQSm9KitAyz/9WqsT2JQW7KV2m+bC2ol/zqpW37NHxLaA==", - "license": "Apache-2.0", - "dependencies": { - "b4a": "^1.6.4" - } - }, - "node_modules/tinyglobby": { - "version": "0.2.13", - "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.13.tgz", - "integrity": "sha512-mEwzpUgrLySlveBwEVDMKk5B57bhLPYovRfPAXD5gA/98Opn0rCDj3GtLwFvCvH5RK9uPCExUROW5NjDwvqkxw==", - "license": "MIT", - "dependencies": { - "fdir": "^6.4.4", - "picomatch": "^4.0.2" - }, - "engines": { - "node": ">=12.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/SuperchupuDev" - } - }, - "node_modules/to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", - "engines": { - "node": ">=4" - } - }, - "node_modules/tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", - "license": "MIT" - }, - "node_modules/tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", - "dependencies": { - "safe-buffer": "^5.0.1" - }, - "engines": { - "node": "*" - } - }, - "node_modules/universalify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", - "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", - "license": "MIT", - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/unzipper": { - "version": "0.12.3", - "resolved": "https://registry.npmjs.org/unzipper/-/unzipper-0.12.3.tgz", - "integrity": "sha512-PZ8hTS+AqcGxsaQntl3IRBw65QrBI6lxzqDEL7IAo/XCEqRTKGfOX56Vea5TH9SZczRVxuzk1re04z/YjuYCJA==", - "license": "MIT", - "dependencies": { - "bluebird": "~3.7.2", - "duplexer2": "~0.1.4", - "fs-extra": "^11.2.0", - "graceful-fs": "^4.2.2", - "node-int64": "^0.4.0" - } - }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" - }, - "node_modules/webidl-conversions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", - "license": "BSD-2-Clause" - }, - "node_modules/whatwg-url": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", - "license": "MIT", - "dependencies": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" - } - }, - "node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" - }, - "node_modules/y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "license": "ISC", - "engines": { - "node": ">=10" - } - }, - "node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, - "node_modules/yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "license": "MIT", - "dependencies": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/yargs-parser": { - "version": "20.2.9", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", - "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", - "license": "ISC", - "engines": { - "node": ">=10" - } - } - } -} diff --git a/www/onlyoffice-documentserver/files/package.json b/www/onlyoffice-documentserver/files/package.json deleted file mode 100644 index e012fc0f3ff0..000000000000 --- a/www/onlyoffice-documentserver/files/package.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "dependencies": { - "@yao-pkg/pkg": "^6.9.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 663e31269b43..8cd2beb29729 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,37 +1,39 @@ ---- build_tools/scripts/build_server.py.orig 2025-10-15 14:25:47 UTC +--- build_tools/scripts/build_server.py.orig 2026-02-22 20:21:43 UTC +++ build_tools/scripts/build_server.py -@@ -39,8 +39,12 @@ +@@ -40,8 +40,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 = "node%%PKGFETCH_NODE_MAJOR_VERSION%%" + if ("freebsd" == base.host_platform()): + pkg_target += "-freebsd" + pkgBin = "%%WRKSRC%%/yao-pkg/node_modules/.bin/pkg" + if ("linux" == base.host_platform()): pkg_target += "-linux" if (-1 != config.option("platform").find("linux_arm64")): -@@ -49,15 +53,15 @@ +@@ -50,16 +54,16 @@ if ("windows" == base.host_platform()): pkg_target += "-win" -- base.cmd_in_dir(server_dir + "/DocService", "pkg", [".", "-t", pkg_target, "--options", "max_old_space_size=4096", "-o", "docservice"]) +- base.cmd_in_dir(server_dir + "/DocService", "pkg", [".", "-t", pkg_target, "--options", "max_old_space_size=6144", "-o", "docservice"]) - base.cmd_in_dir(server_dir + "/FileConverter", "pkg", [".", "-t", pkg_target, "-o", "converter"]) - base.cmd_in_dir(server_dir + "/Metrics", "pkg", [".", "-t", pkg_target, "-o", "metrics"]) -- base.cmd_in_dir(server_dir + "/AdminPanel/server", "pkg", [".", "-t", pkg_target, "-o", "adminpanel"]) -+ base.cmd_in_dir(server_dir + "/DocService", pkgBin, [".", "-t", pkg_target, "--options", "max_old_space_size=4096", "-o", "docservice"]) ++ base.cmd_in_dir(server_dir + "/DocService", pkgBin, [".", "-t", pkg_target, "--options", "max_old_space_size=6144", "-o", "docservice"]) + base.cmd_in_dir(server_dir + "/FileConverter", pkgBin, [".", "-t", pkg_target, "-o", "converter"]) + base.cmd_in_dir(server_dir + "/Metrics", pkgBin, [".", "-t", pkg_target, "-o", "metrics"]) -+ base.cmd_in_dir(server_dir + "/AdminPanel/server", pkgBin, [".", "-t", pkg_target, "-o", "adminpanel"]) + if "server-admin-panel" in base.get_server_addons() and base.is_exist(server_admin_panel_dir): +- base.cmd_in_dir(server_admin_panel_dir + "/server", "pkg", [".", "-t", pkg_target, "-o", "adminpanel"]) ++ base.cmd_in_dir(server_admin_panel_dir + "/server", pkgBin, [".", "-t", pkg_target, "-o", "adminpanel"]) example_dir = base.get_script_dir() + "/../../document-server-integration/web/documentserver-example/nodejs" - base.delete_dir(example_dir + "/node_modules") +- base.delete_dir(example_dir + "/node_modules") ++# base.delete_dir(example_dir + "/node_modules") base.cmd_in_dir(example_dir, "npm", ["ci"]) - base.cmd_in_dir(example_dir, "pkg", [".", "-t", pkg_target, "-o", "example"]) + base.cmd_in_dir(example_dir, pkgBin, [".", "-t", pkg_target, "-o", "example"]) def build_server_with_addons(): addons = {} 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 ee700eb9883e..13b74e9bcc8f 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,66 +1,73 @@ --- build_tools/scripts/core_common/make_common.py.orig 2025-10-15 14:25:47 UTC +++ build_tools/scripts/core_common/make_common.py @@ -8,24 +8,24 @@ import base import glob -import boost -import cef -import icu -import openssl +#import boost +#import cef +#import icu +#import openssl import curl import websocket_all import v8 - import html2 +-import html2 ++#import html2 import iwork - import md +-import md -import hunspell ++#import md +#import hunspell import glew import harfbuzz - import oo_brotli +-import oo_brotli -import hyphen -import googletest ++#import oo_brotli +#import hyphen +#import googletest import libvlc -import heif +#import heif def check_android_ndk_macos_arm(dir): if base.is_dir(dir + "/darwin-x86_64") and not base.is_dir(dir + "/darwin-arm64"): @@ -40,21 +40,21 @@ if base.is_dir(toolchain): check_android_ndk_macos_arm(toolchain + "/prebuilt") - boost.make() - cef.make() - icu.make() - openssl.make() +# boost.make() +# cef.make() +# icu.make() +# openssl.make() v8.make() - html2.make() +- html2.make() ++# html2.make() iwork.make(False) - md.make() +- md.make() - hunspell.make(False) - harfbuzz.make() -+# hunspell.make(False) -+# harfbuzz.make() - glew.make() +- glew.make() - hyphen.make() - googletest.make() +- oo_brotli.make() +- heif.make() ++# md.make() ++# hunspell.make(False) ++# harfbuzz.make() ++# glew.make() +# hyphen.make() +# googletest.make() - oo_brotli.make() -- heif.make() ++# oo_brotli.make() +# heif.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 deleted file mode 100644 index f7392a57031b..000000000000 --- a/www/onlyoffice-documentserver/files/patch-build__tools_scripts_core__common_modules_html2.py +++ /dev/null @@ -1,20 +0,0 @@ ---- build_tools/scripts/core_common/modules/html2.py.orig 2025-04-14 10:11:35 UTC -+++ build_tools/scripts/core_common/modules/html2.py -@@ -17,13 +17,13 @@ def clear_module(): - def make(): - old_cur_dir = os.getcwd() - -- print("[fetch]: html") -+ print("[patch & build]: html") - - base_dir = base.get_script_dir() + "/../../core/Common/3dParty/html" - -- os.chdir(base_dir) -- base.check_module_version("2", clear_module) -- os.chdir(old_cur_dir) -+# os.chdir(base_dir) -+# base.check_module_version("2", clear_module) -+# os.chdir(old_cur_dir) - - base.cmd_in_dir(base_dir, "python", ["fetch.py"]) - return 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 431b315c60e8..3423f8f30d1d 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,72 +1,77 @@ ---- build_tools/scripts/core_common/modules/v8_89.py.orig 2025-10-15 14:25:47 UTC +--- build_tools/scripts/core_common/modules/v8_89.py.orig 2026-02-22 20:21:43 UTC +++ build_tools/scripts/core_common/modules/v8_89.py -@@ -150,57 +150,6 @@ +@@ -214,62 +214,6 @@ base.cmd("git", ["config", "--global", "http.postBuffer", "157286400"], True) os.chdir(base_dir) +- base.common_check_version("v8", "1", clean) +- - if not base.is_dir("depot_tools"): - base.cmd("git", ["clone", "https://chromium.googlesource.com/chromium/tools/depot_tools.git"]) - change_bootstrap() - - os.environ["PATH"] = base_dir + "/depot_tools" + os.pathsep + os.environ["PATH"] - - if ("windows" == base.host_platform()): - base.set_env("DEPOT_TOOLS_WIN_TOOLCHAIN", "0") - base.set_env("GYP_MSVS_VERSION", config.option("vs-version")) - - if not base.is_dir("v8"): - base.cmd("./depot_tools/fetch", ["v8"], True) - base.copy_dir("./v8/third_party", "./v8/third_party_new") - if ("windows" == base.host_platform()): - os.chdir("v8") - base.cmd("git", ["config", "--system", "core.longpaths", "true"], True) - os.chdir("../") - v8_branch_version = "remotes/branch-heads/8.9" - if ("mac" == base.host_platform()): - v8_branch_version = "remotes/branch-heads/9.9" - base.cmd("./depot_tools/gclient", ["sync", "-r", v8_branch_version], True) - base.cmd("gclient", ["sync", "--force"], True) - base.copy_dir("./v8/third_party_new/ninja", "./v8/third_party/ninja") +- if ("linux" == base.host_platform()): +- if not base.is_file("./depot_tools/python3_bin_reldir.txt"): +- base.cmd_in_dir("./depot_tools", "./ensure_bootstrap", [], True) - - if ("windows" == base.host_platform()): - base.replaceInFile("v8/build/config/win/BUILD.gn", ":static_crt", ":dynamic_crt") - - # fix for new depot_tools and vs2019, as VC folder contains a folder with a symbol in the name - # sorting is done by increasing version, so 0 is a dummy value - replace_src = " def to_int_if_int(x):\n try:\n return int(x)\n except ValueError:\n return x" - replace_dst = " def to_int_if_int(x):\n try:\n return int(x)\n except ValueError:\n return 0" - base.replaceInFile("v8/build/vs_toolchain.py", replace_src, replace_dst) - - - if not base.is_file("v8/src/base/platform/wrappers.cc"): - base.writeFile("v8/src/base/platform/wrappers.cc", "#include \"src/base/platform/wrappers.h\"\n") - - if config.check_option("platform", "win_arm64"): - base.replaceInFile("v8/build/toolchain/win/setup_toolchain.py", "SDK_VERSION = \'10.0.26100.0\'", "SDK_VERSION = \'10.0.22621.0\'") - else: - base.replaceInFile("depot_tools/gclient_paths.py", "@functools.lru_cache", "") - - if ("mac" == base.host_platform()): - if not base.is_file("v8/build/config/compiler/BUILD.gn.bak"): - base.copy_file("v8/build/config/compiler/BUILD.gn", "v8/build/config/compiler/BUILD.gn.bak") - base.replaceInFile("v8/build/config/compiler/BUILD.gn", "\"-Wloop-analysis\",", "\"-Wloop-analysis\", \"-D_Float16=short\",") - - if not base.is_file("v8/third_party/jinja2/tests.py.bak"): - base.copy_file("v8/third_party/jinja2/tests.py", "v8/third_party/jinja2/tests.py.bak") - base.replaceInFile("v8/third_party/jinja2/tests.py", "from collections import Mapping", "try:\n from collections.abc import Mapping\nexcept ImportError:\n from collections import Mapping") - os.chdir("v8") - - gn_args = ["v8_static_library=true", -@@ -208,6 +157,11 @@ + + is_ubuntu24 = is_ubuntu_24_or_higher() +@@ -280,6 +224,11 @@ "v8_monolithic=true", "v8_use_external_startup_data=false", "treat_warnings_as_errors=false"] + + if config.check_option("platform", "freebsd_64"): + base.cmd2("gn", ["gen", "out.gn/freebsd_64", "--args=\"v8_monolithic=true is_debug=false v8_static_library=true is_component_build=false is_clang=true use_sysroot=false treat_warnings_as_errors=false clang_use_chrome_plugins=false use_lld=true use_custom_libcxx=false v8_use_external_startup_data=false is_component_build=false\""]) + base.cmd("ninja", ["-C", "out.gn/freebsd_64"]) + if config.check_option("platform", "linux_64"): if config.option("sysroot") != "": diff --git a/www/onlyoffice-documentserver/files/patch-build__tools_scripts_deploy__server.py b/www/onlyoffice-documentserver/files/patch-build__tools_scripts_deploy__server.py index 127bd662f1dc..ff8154fbc945 100644 --- a/www/onlyoffice-documentserver/files/patch-build__tools_scripts_deploy__server.py +++ b/www/onlyoffice-documentserver/files/patch-build__tools_scripts_deploy__server.py @@ -1,28 +1,39 @@ --- build_tools/scripts/deploy_server.py.orig 2025-10-15 14:25:47 UTC +++ build_tools/scripts/deploy_server.py +@@ -56,8 +56,8 @@ + base.create_dir(build_server_dir + '/Metrics') + base.copy_exe(server_dir + "/Metrics", build_server_dir + '/Metrics', "metrics") + base.copy_dir(server_dir + '/Metrics/config', build_server_dir + '/Metrics/config') +- base.create_dir(build_server_dir + '/Metrics/node_modules/modern-syslog/build/Release') +- base.copy_file(server_dir + "/Metrics/node_modules/modern-syslog/build/Release/core.node", build_server_dir + "/Metrics/node_modules/modern-syslog/build/Release/core.node") ++# base.create_dir(build_server_dir + '/Metrics/node_modules/modern-syslog/build/Release') ++# base.copy_file(server_dir + "/Metrics/node_modules/modern-syslog/build/Release/core.node", build_server_dir + "/Metrics/node_modules/modern-syslog/build/Release/core.node") + + if "server-admin-panel" in base.get_server_addons() and base.is_exist(server_admin_panel_dir): + # AdminPanel server part @@ -102,7 +102,7 @@ base.generate_doctrenderer_config(converter_dir + "/DoctRenderer.config", "../../../", "server", "", "../../../dictionaries") # icu - base.deploy_icu(core_dir, converter_dir, platform) +# base.deploy_icu(core_dir, converter_dir, platform) base.copy_v8_files(core_dir, converter_dir, platform) @@ -136,9 +136,13 @@ else: base.generate_sdkjs_plugin_list(js_dir + "/sdkjs-plugins/plugin-list-default.json") base.create_dir(js_dir + "/sdkjs-plugins/v1") - base.download("https://onlyoffice.github.io/sdkjs-plugins/v1/plugins.js", js_dir + "/sdkjs-plugins/v1/plugins.js") - base.download("https://onlyoffice.github.io/sdkjs-plugins/v1/plugins-ui.js", js_dir + "/sdkjs-plugins/v1/plugins-ui.js") - base.download("https://onlyoffice.github.io/sdkjs-plugins/v1/plugins.css", js_dir + "/sdkjs-plugins/v1/plugins.css") +# base.download("https://onlyoffice.github.io/sdkjs-plugins/v1/plugins.js", js_dir + "/sdkjs-plugins/v1/plugins.js") +# base.download("https://onlyoffice.github.io/sdkjs-plugins/v1/plugins-ui.js", js_dir + "/sdkjs-plugins/v1/plugins-ui.js") +# base.download("https://onlyoffice.github.io/sdkjs-plugins/v1/plugins.css", js_dir + "/sdkjs-plugins/v1/plugins.css") + base.copy_file(plugins_dir + "/v1/plugins.js", js_dir + "/sdkjs-plugins/v1/plugins.js") + base.copy_file(plugins_dir + "/v1/plugins-ui.js", js_dir + "/sdkjs-plugins/v1/plugins-ui.js") + base.copy_file(plugins_dir + "/v1/plugins.css", js_dir + "/sdkjs-plugins/v1/plugins.css") + base.support_old_versions_plugins(js_dir + "/sdkjs-plugins") # tools diff --git a/www/onlyoffice-documentserver/files/patch-core_Apple_IWork.pro b/www/onlyoffice-documentserver/files/patch-core_Apple_IWork.pro index ae16f66a185b..3b3ae5d163a0 100644 --- a/www/onlyoffice-documentserver/files/patch-core_Apple_IWork.pro +++ b/www/onlyoffice-documentserver/files/patch-core_Apple_IWork.pro @@ -1,28 +1,25 @@ --- core/Apple/IWork.pro.orig 2025-08-02 18:33:34 UTC +++ core/Apple/IWork.pro -@@ -10,6 +10,14 @@ CONFIG += plugin +@@ -10,6 +10,11 @@ CONFIG += plugin DEFINES += IWORK_USE_DYNAMIC_LIBRARY -+INCLUDEPATH += %%LOCALBASE%%/include/librevenge-0.0 +INCLUDEPATH += %%LOCALBASE%%/include/libetonyek-0.1 +INCLUDEPATH += %%LOCALBASE%%/include/libodfgen-0.1 ++INCLUDEPATH += %%LOCALBASE%%/include/librevenge-0.0 + -+LIBS += %%LOCALBASE%%/lib/librevenge-0.0.so -+LIBS += %%LOCALBASE%%/lib/libetonyek-0.1.so -+LIBS += %%LOCALBASE%%/lib/libodfgen-0.1.so -+ ++LIBS += -L%%LOCALBASE%%/lib -letonyek-0.1 -lodfgen-0.1 -lrevenge-0.0 CORE_ROOT_DIR = $$PWD/.. PWD_ROOT_DIR = $$PWD include($$CORE_ROOT_DIR/Common/base.pri) @@ -38,8 +46,8 @@ include($$PWD/../DesktopEditor/xml/build/qt/libxml2.pr include($$CORE_ROOT_DIR/Common/3dParty/apple/apple.pri) # TEST -HEADERS += $$ODF_LIB_ROOT/test/StringDocumentHandler.h -SOURCES += $$ODF_LIB_ROOT/test/StringDocumentHandler.cxx +#HEADERS += $$ODF_LIB_ROOT/test/StringDocumentHandler.h +#SOURCES += $$ODF_LIB_ROOT/test/StringDocumentHandler.cxx SOURCES += IWork.cpp diff --git a/www/onlyoffice-documentserver/files/patch-core_Common_3dParty_brotli_brotli.pri b/www/onlyoffice-documentserver/files/patch-core_Common_3dParty_brotli_brotli.pri new file mode 100644 index 000000000000..c8f6612cfc98 --- /dev/null +++ b/www/onlyoffice-documentserver/files/patch-core_Common_3dParty_brotli_brotli.pri @@ -0,0 +1,14 @@ +--- core/Common/3dParty/brotli/brotli.pri.orig 2025-10-13 15:33:25 UTC ++++ core/Common/3dParty/brotli/brotli.pri +@@ -1,9 +1,4 @@ +-SRC_DIR = $$PWD/brotli/c + DEFINES += FT_CONFIG_OPTION_USE_BROTLI + +-INCLUDEPATH += \ +- $$SRC_DIR/include +- +-SOURCES += $$files($$SRC_DIR/common/*.c) +-SOURCES += $$files($$SRC_DIR/dec/*.c) +-#SOURCES += $$files($$SRC_DIR/enc/*.c) ++INCLUDEPATH += %%LOCALBASE%%/include ++LIBS += -L%%LOCALBASE%%/lib -lbrotlicommon -lbrotlidec 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 deleted file mode 100644 index 5313593d9366..000000000000 --- a/www/onlyoffice-documentserver/files/patch-core_Common_3dParty_brotli_make.py +++ /dev/null @@ -1,11 +0,0 @@ ---- 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_heif_heif.pri b/www/onlyoffice-documentserver/files/patch-core_Common_3dParty_heif_heif.pri index 865919c71b1e..65b523845135 100644 --- a/www/onlyoffice-documentserver/files/patch-core_Common_3dParty_heif_heif.pri +++ b/www/onlyoffice-documentserver/files/patch-core_Common_3dParty_heif_heif.pri @@ -1,21 +1,19 @@ --- core/Common/3dParty/heif/heif.pri.orig 2025-10-13 15:33:25 UTC +++ core/Common/3dParty/heif/heif.pri -@@ -7,9 +7,15 @@ +@@ -7,9 +7,13 @@ HEIF_BUILD_PATH = $$PWD/libheif/build/$$HEIF_BUILDS_PLATFORM_PREFIX/$$CORE_BUILDS_CONFIGURATION_PREFIX -INCLUDEPATH += \ - $$PWD/libheif/libheif/api \ - $$HEIF_BUILD_PATH # for heif_version.h +#INCLUDEPATH += \ +# $$PWD/libheif/libheif/api \ +# $$HEIF_BUILD_PATH # for heif_version.h -+ +core_freebsd { + INCLUDEPATH += %%LOCALBASE%%/include/libheif -+ -+ LIBS += %%LOCALBASE%%/lib/libheif.so ++ LIBS += -L%%LOCALBASE%%/lib -lheif + } core_windows { core_debug { diff --git a/www/onlyoffice-documentserver/files/patch-core_Common_3dParty_html_css_src_StyleProperties.cpp b/www/onlyoffice-documentserver/files/patch-core_Common_3dParty_html_css_src_StyleProperties.cpp deleted file mode 100644 index 1a4521702aec..000000000000 --- a/www/onlyoffice-documentserver/files/patch-core_Common_3dParty_html_css_src_StyleProperties.cpp +++ /dev/null @@ -1,20 +0,0 @@ ---- core/Common/3dParty/html/css/src/StyleProperties.cpp.orig 2024-08-28 20:31:59 UTC -+++ core/Common/3dParty/html/css/src/StyleProperties.cpp -@@ -816,7 +816,7 @@ namespace NSCSS - } - - m_enType = ColorEmpty; -- m_unLevel = NULL; -+ m_unLevel = 0; - m_bImportant = false; - } - -@@ -2840,7 +2840,7 @@ namespace NSCSS - void CEnum::Clear() - { - m_oValue = INT_MAX; -- m_unLevel = NULL; -+ m_unLevel = 0; - m_bImportant = false; - } - 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 deleted file mode 100644 index bc0ee48515bc..000000000000 --- a/www/onlyoffice-documentserver/files/patch-core_Common_3dParty_html_fetch.py +++ /dev/null @@ -1,25 +0,0 @@ ---- core/Common/3dParty/html/fetch.py.orig 2025-04-16 08:37:24 UTC -+++ core/Common/3dParty/html/fetch.py -@@ -8,16 +8,16 @@ import os - - base_directory = os.getcwd() - --if not base.is_dir("gumbo-parser"): -- base.cmd("git", ["clone", "https://github.com/google/gumbo-parser.git"]) -- base.cmd_in_dir("gumbo-parser", "git", ["checkout", "aa91b27b02c0c80c482e24348a457ed7c3c088e0"]) -+if base.is_dir("gumbo-parser"): -+# base.cmd("git", ["clone", "https://github.com/google/gumbo-parser.git"]) -+# base.cmd_in_dir("gumbo-parser", "git", ["checkout", "aa91b27b02c0c80c482e24348a457ed7c3c088e0"]) - - # fix gumbo - base.replaceInFile(base_directory + "/gumbo-parser/src/tag.c", "isspace(*c)", "isspace((unsigned char)*c)") - --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"]) - - # fix katana - base.replaceInFileUtf8(base_directory + "/katana-parser/src/tokenizer.c", "static inline bool katana_is_html_space(char c);", "static inline bool2 katana_is_html_space(char c);") diff --git a/www/onlyoffice-documentserver/files/patch-core_Common_3dParty_html_gumbo.pri b/www/onlyoffice-documentserver/files/patch-core_Common_3dParty_html_gumbo.pri index 3a4e61a493db..e549d359910d 100644 --- a/www/onlyoffice-documentserver/files/patch-core_Common_3dParty_html_gumbo.pri +++ b/www/onlyoffice-documentserver/files/patch-core_Common_3dParty_html_gumbo.pri @@ -1,10 +1,17 @@ ---- core/Common/3dParty/html/gumbo.pri.orig 2021-12-18 10:21:34 UTC +--- core/Common/3dParty/html/gumbo.pri.orig 2025-10-13 15:33:25 UTC +++ core/Common/3dParty/html/gumbo.pri -@@ -1,6 +1,7 @@ +@@ -1,10 +1,11 @@ INCLUDEPATH += $$PWD DEPENDPATH += $$PWD +core_freebsd:QMAKE_CFLAGS += -std=c99 core_linux:QMAKE_CFLAGS += -std=c99 core_windows:INCLUDEPATH += $$PWD/gumbo-parser/visualc/include +-HEADERS += $$files($$PWD/gumbo-parser/src/*.h, true) \ +- $$PWD/htmltoxhtml.h ++HEADERS += $$PWD/htmltoxhtml.h + +-SOURCES += $$files($$PWD/gumbo-parser/src/*.c, true) ++INCLUDEPATH += %%LOCALBASE%%/include ++LIBS += -L%%LOCALBASE%%/lib -lgumbo diff --git a/www/onlyoffice-documentserver/files/patch-core_Common_3dParty_html_htmltoxhtml.cpp b/www/onlyoffice-documentserver/files/patch-core_Common_3dParty_html_htmltoxhtml.cpp new file mode 100644 index 000000000000..1292036bff3a --- /dev/null +++ b/www/onlyoffice-documentserver/files/patch-core_Common_3dParty_html_htmltoxhtml.cpp @@ -0,0 +1,11 @@ +--- core/Common/3dParty/html/htmltoxhtml.cpp.orig 2026-02-23 16:20:47 UTC ++++ core/Common/3dParty/html/htmltoxhtml.cpp +@@ -5,7 +5,7 @@ + #include + #include + +-#include "gumbo-parser/src/gumbo.h" ++#include + #include "../../../DesktopEditor/common/File.h" + #include "../../../DesktopEditor/common/Directory.h" + #include "../../../DesktopEditor/common/StringBuilder.h" diff --git a/www/onlyoffice-documentserver/files/patch-core_Common_3dParty_html_katana-parser b/www/onlyoffice-documentserver/files/patch-core_Common_3dParty_html_katana-parser new file mode 100644 index 000000000000..fbae0909a3a4 --- /dev/null +++ b/www/onlyoffice-documentserver/files/patch-core_Common_3dParty_html_katana-parser @@ -0,0 +1,68 @@ +--- core/Common/3dParty/html/katana-parser/src/foundation.c.orig 2025-12-04 03:36:03 UTC ++++ core/Common/3dParty/html/katana-parser/src/foundation.c +@@ -52,6 +52,7 @@ + void katana_string_append_characters(struct KatanaInternalParser* parser, + const char* str, KatanaParserString* output) + { ++ if (NULL == str) return; + size_t len = strlen(str); + maybe_resize_string(parser, len, output); + memcpy(output->data + output->length, str, len); +@@ -62,6 +63,7 @@ + const char* str, + KatanaParserString* output) + { ++ if (NULL == str) return; + size_t len = strlen(str); + size_t new_length = output->length + len; + char* new_data = katana_parser_allocate(parser, new_length); +@@ -83,7 +85,9 @@ + + bool katana_string_has_prefix(const char* str, const char* prefix) + { ++ if (NULL == prefix) return false; + size_t pre_len = strlen(prefix); ++ if (NULL == prefix) return false; + size_t str_len = strlen(str); + return pre_len <= str_len && strncasecmp(prefix, str, pre_len); + } +--- core/Common/3dParty/html/katana-parser/src/parser.c.orig 2025-12-04 03:15:29 UTC ++++ core/Common/3dParty/html/katana-parser/src/parser.c +@@ -39,7 +39,7 @@ + //#define assert(x) + + #define breakpoint +-#define KATANA_PARSER_STRING(literal) (KatanaParserString){ literal, sizeof(literal) - 1 } ++#define KATANA_PARSER_STRING(literal) { literal, sizeof(literal) - 1 } + + + typedef void (*KatanaArrayDeallocator)(KatanaParser* parser, void* e); +@@ -1275,7 +1275,7 @@ + yyloc->last_line, + yyloc->last_column, + error, +- katanaget_text(parser->scanner)); ++ "error"); + + YYSTYPE * s = katanaget_lval(parser->scanner); + +@@ -1293,7 +1293,7 @@ + e->last_line = yyloc->last_line; + e->last_column = yyloc->last_column; + snprintf(e->message, KATANA_ERROR_MESSAGE_SIZE, "%s at %s", error, +- katanaget_text(parser->scanner)); ++ "error"); + katana_array_add(parser, e, &(parser->output->errors)); + } + +--- core/Common/3dParty/html/katana-parser/src/tokenizer.c.orig 2025-12-04 03:15:29 UTC ++++ core/Common/3dParty/html/katana-parser/src/tokenizer.c +@@ -288,7 +288,7 @@ + #endif // #if KATANA_FELX_DEBUG + #endif // #ifdef KATANA_FELX_DEBUG + +-inline bool katana_is_html_space(char c) ++static inline bool katana_is_html_space(char c) + { + return c <= ' ' && (c == ' ' || c == '\n' || c == '\t' || c == '\r' || c == '\f'); + } diff --git a/www/onlyoffice-documentserver/files/patch-core_Common_3dParty_icu_icu.pri b/www/onlyoffice-documentserver/files/patch-core_Common_3dParty_icu_icu.pri index ee0aacc776a2..479d048e7e81 100644 --- a/www/onlyoffice-documentserver/files/patch-core_Common_3dParty_icu_icu.pri +++ b/www/onlyoffice-documentserver/files/patch-core_Common_3dParty_icu_icu.pri @@ -1,16 +1,14 @@ --- core/Common/3dParty/icu/icu.pri.orig 2025-10-13 15:33:25 UTC +++ core/Common/3dParty/icu/icu.pri -@@ -25,6 +25,13 @@ +@@ -25,6 +25,11 @@ LIBS += $$PWD/$$CORE_BUILDS_PLATFORM_PREFIX/build/libicudata.so.$$ICU_MAJOR_VER } +core_freebsd { + INCLUDEPATH += %%LOCALBASE%%/include -+ -+ LIBS += %%LOCALBASE%%/lib/libicuuc.so -+ LIBS += %%LOCALBASE%%/lib/libicudata.so ++ LIBS += -L%%LOCALBASE%%/lib -licudata -licuuc +} + core_mac { INCLUDEPATH += $$PWD/$$CORE_BUILDS_PLATFORM_PREFIX/build/include diff --git a/www/onlyoffice-documentserver/files/patch-core_Common_3dParty_md_md2html.cpp b/www/onlyoffice-documentserver/files/patch-core_Common_3dParty_md_md2html.cpp new file mode 100644 index 000000000000..c2c274038a68 --- /dev/null +++ b/www/onlyoffice-documentserver/files/patch-core_Common_3dParty_md_md2html.cpp @@ -0,0 +1,10 @@ +--- core/Common/3dParty/md/md2html.cpp.orig 2025-10-13 15:33:25 UTC ++++ core/Common/3dParty/md/md2html.cpp +@@ -1,6 +1,6 @@ + #include "md2html.h" + +-#include "md4c/src/md4c-html.h" ++#include + #include "../../../DesktopEditor/common/File.h" + + namespace Md diff --git a/www/onlyoffice-documentserver/files/patch-core_Common_3dParty_md_md2html.pri b/www/onlyoffice-documentserver/files/patch-core_Common_3dParty_md_md2html.pri new file mode 100644 index 000000000000..6f19ef15bc85 --- /dev/null +++ b/www/onlyoffice-documentserver/files/patch-core_Common_3dParty_md_md2html.pri @@ -0,0 +1,18 @@ +--- core/Common/3dParty/md/md2html.pri.orig 2025-10-13 15:33:25 UTC ++++ core/Common/3dParty/md/md2html.pri +@@ -1,11 +1,7 @@ + DEFINES += MD4C_USE_UTF8 + +-HEADERS += $$PWD/md4c/src/md4c.h \ +- $$PWD/md4c/src/md4c-html.h \ +- $$PWD/md4c/src/entity.h \ +- $$PWD/md2html.h \ ++HEADERS += $$PWD/md2html.h ++SOURCES += $$PWD/md2html.cpp + +-SOURCES += $$PWD/md4c/src/md4c.c \ +- $$PWD/md4c/src/md4c-html.c \ +- $$PWD/md4c/src/entity.c \ +- $$PWD/md2html.cpp ++INCLUDEPATH += /usr/local/include ++LIBS += -L%%LOCALBASE%%/lib -lmd4c -lmd4c-html 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 0d407de32790..f7cca62d9971 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,13 +1,12 @@ --- 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 { +@@ -32,8 +32,7 @@ core_windows { LIBS += $$OPENSSL_LIBS_DIRECTORY/libssl.lib LIBS += $$OPENSSL_LIBS_DIRECTORY/libcrypto.lib } else { - LIBS += $$OPENSSL_LIBS_DIRECTORY/libssl.a - LIBS += $$OPENSSL_LIBS_DIRECTORY/libcrypto.a -+ LIBS += %%OPENSSL_LIB%%/libssl.so -+ LIBS += %%OPENSSL_LIB%%/libcrypto.so ++ LIBS += -L%%OPENSSL_LIB%% -lcrypto -lssl } INCLUDEPATH += $$OPENSSL_LIBS_DIRECTORY/../include 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 42e4830a4c7a..7b4b63f6db22 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,99 +1,129 @@ --- 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() { # # TODO(crbug.com/977230): Enabling this when 'use_xcode_clang' is true may # call an old clang that doesn't support auto-init. - init_stack_vars = !is_android && !use_xcode_clang + init_stack_vars = !is_android && !use_xcode_clang && !is_bsd # This argument is to control whether enabling text section splitting in the # final binary. When enabled, the separated text sections with prefix @@ -316,7 +316,7 @@ config("compiler") { } # Linker warnings. - if (fatal_linker_warnings && !is_apple && current_os != "aix") { + if (fatal_linker_warnings && !is_bsd && !is_apple && current_os != "aix") { ldflags += [ "-Wl,--fatal-warnings" ] } if (fatal_linker_warnings && is_apple) { @@ -501,7 +501,7 @@ config("compiler") { ldflags += [ "-Wl,-z,keep-text-section-prefix" ] } - if (is_clang && !is_nacl && !use_xcode_clang) { + if (is_clang && !is_nacl && !is_bsd && !use_xcode_clang) { cflags += [ "-fcrash-diagnostics-dir=" + clang_diagnostic_dir ] cflags += [ @@ -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") { - if (is_clang && !is_android && !is_nacl && !is_fuchsia) { + if (is_clang && !is_android && !is_nacl && !is_fuchsia && !is_bsd) { cflags += [ "--target=aarch64-linux-gnu" ] ldflags += [ "--target=aarch64-linux-gnu" ] } @@ -1149,7 +1145,7 @@ config("compiler_deterministic") { "-Xclang", ".", ] - if (!is_win) { + if (!is_win && !is_bsd) { # We don't use clang -cc1as on Windows (yet? https://crbug.com/762167) asmflags = [ "-Wa,-fdebug-compilation-dir,." ] } @@ -1177,7 +1173,7 @@ config("clang_revision") { } config("clang_revision") { - if (is_clang && clang_base_path == default_clang_base_path) { + if (!is_bsd && is_clang && clang_base_path == default_clang_base_path) { update_args = [ "--print-revision", "--verify-version=$clang_version", -@@ -1526,7 +1522,7 @@ config("default_warnings") { +@@ -1526,12 +1522,37 @@ config("default_warnings") { "-Wno-undefined-var-template", ] - if (is_win) { + if (is_win && !is_bsd) { # TODO(thakis): https://crbug.com/617318 # Currently goma can not handle case sensitiveness for windows well. cflags += [ "-Wno-nonportable-include-path" ] + } + ++ if (is_bsd) { ++ # Silence known-harmless warnings on FreeBSD with newer Clang ++ # that are not present on the Linux/clang version this V8 targets. ++ cflags += [ ++ # zlib uses K&R-style function definitions ++ "-Wno-deprecated-non-prototype", ++ # bit-field.h constexpr enum range (Clang 16+ only) ++ "-Wno-enum-constexpr-conversion", ++ # pthread mutex/condvar wrappers lack annotations ++ "-Wno-thread-safety-analysis", ++ # v8.h SetWeak reinterpret_cast function pointer template ++ "-Wno-cast-function-type-mismatch", ++ # platform-freebsd.cc sysctl miblen (size_t -> uint) ++ "-Wno-shorten-64-to-32", ++ # platform-freebsd.cc StringToLong static helper ++ "-Wno-unused-function", ++ # scattered across ICU, heap, compiler, wasm ++ "-Wno-unused-but-set-variable", ++ # branch-elimination.cc intentional bitwise | ++ "-Wno-bitwise-instead-of-logical", ++ # register-allocator-verifier.cc for-range copy ++ "-Wno-range-loop-construct", ++ ] ++ } ++ + if (current_toolchain == host_toolchain || !use_xcode_clang) { + # Flags NaCl (Clang 3.7) and Xcode 9.2 (Clang clang-900.0.39.2) do not + # recognize. @@ -1780,7 +1776,7 @@ config("thin_archive") { config("thin_archive") { # The macOS and iOS default linker ld64 does not support reading thin # archives. - if ((is_posix && !is_nacl && (!is_apple || use_lld)) || is_fuchsia) { + if ((is_posix && !is_nacl && !is_bsd && (!is_apple || use_lld)) || is_fuchsia) { arflags = [ "-T" ] } else if (is_win && use_lld) { arflags = [ "/llvmlibthin" ] @@ -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) { - cflags += [ "-g2" ] + cflags += [ "-g0" ] } # TODO(https://crbug.com/1050118): Investigate missing debug info on mac. - if (is_clang && !is_nacl && !use_xcode_clang && !is_apple) { + if (is_clang && !is_nacl && !is_bsd && !use_xcode_clang && !is_apple) { cflags += [ "-Xclang", "-debug-info-kind=constructor", diff --git a/www/onlyoffice-documentserver/files/patch-core_HtmlFile2_HTMLReader.cpp b/www/onlyoffice-documentserver/files/patch-core_HtmlFile2_HTMLReader.cpp new file mode 100644 index 000000000000..c861fc546612 --- /dev/null +++ b/www/onlyoffice-documentserver/files/patch-core_HtmlFile2_HTMLReader.cpp @@ -0,0 +1,11 @@ +--- core/HtmlFile2/HTMLReader.cpp.orig 2026-02-23 16:20:47 UTC ++++ core/HtmlFile2/HTMLReader.cpp +@@ -13,7 +13,7 @@ + #include "Writers/MDWriter.h" + #include "Tags/MDTags.h" + +-#include "../Common/3dParty/html/gumbo-parser/src/gumbo.h" ++#include + #include "src/StringFinder.h" + + #include diff --git a/www/onlyoffice-documentserver/files/patch-core_OOXML_PPTXFormat_DrawingConverter_ASCOfficeDrawingConverter.cpp b/www/onlyoffice-documentserver/files/patch-core_OOXML_PPTXFormat_DrawingConverter_ASCOfficeDrawingConverter.cpp deleted file mode 100644 index a9e4d4ae15ad..000000000000 --- a/www/onlyoffice-documentserver/files/patch-core_OOXML_PPTXFormat_DrawingConverter_ASCOfficeDrawingConverter.cpp +++ /dev/null @@ -1,16 +0,0 @@ ---- core/OOXML/PPTXFormat/DrawingConverter/ASCOfficeDrawingConverter.cpp.orig 2023-06-14 14:39:19 UTC -+++ core/OOXML/PPTXFormat/DrawingConverter/ASCOfficeDrawingConverter.cpp -@@ -1953,11 +1953,11 @@ bool CDrawingConverter::ParceObject(const std::wstring - { - XmlUtils::CXmlNode oMainNode; - if (!oMainNode.FromXmlString(strXml)) -- return NULL; -+ return 0; - - std::vector oNodes; - if (!oMainNode.GetNodes(L"*", oNodes)) -- return NULL; -+ return 0; - - m_pBinaryWriter->StartRecord(0); - m_pBinaryWriter->ClearCurShapePositionAndSizes(); diff --git a/www/onlyoffice-documentserver/files/patch-core_X2tConverter_build_Qt_X2tConverter.pri b/www/onlyoffice-documentserver/files/patch-core_X2tConverter_build_Qt_X2tConverter.pri index 8f8764875a9e..f4067f624ab3 100644 --- a/www/onlyoffice-documentserver/files/patch-core_X2tConverter_build_Qt_X2tConverter.pri +++ b/www/onlyoffice-documentserver/files/patch-core_X2tConverter_build_Qt_X2tConverter.pri @@ -1,12 +1,12 @@ --- core/X2tConverter/build/Qt/X2tConverter.pri.orig 2021-09-30 12:13:32 UTC +++ core/X2tConverter/build/Qt/X2tConverter.pri @@ -111,5 +111,9 @@ core_windows { core_windows { LIBS += -lAdvapi32 } +core_freebsd { -+ LIBS += -liconv -lharfbuzz ++ LIBS += -L%%LOCALBASE%%/lib -liconv -lharfbuzz + QMAKE_CXXFLAGS += -Wno-narrowing +} ######################################################## diff --git a/www/onlyoffice-documentserver/files/patch-document-server-package_Makefile b/www/onlyoffice-documentserver/files/patch-document-server-package_Makefile index dba479793706..83abb1a52cef 100644 --- a/www/onlyoffice-documentserver/files/patch-document-server-package_Makefile +++ b/www/onlyoffice-documentserver/files/patch-document-server-package_Makefile @@ -1,160 +1,167 @@ --- 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) +@@ -23,6 +23,7 @@ PACKAGE_NAME := $(COMPANY_NAME_LOW)-$(PRODUCT_NAME_LOW) PACKAGE_VERSION := $(PRODUCT_VERSION)-$(BUILD_NUMBER) +UNAME_P ?= $(shell uname -p) UNAME_M ?= $(shell uname -m) ifeq ($(UNAME_M),x86_64) RPM_ARCH := x86_64 -@@ -138,6 +139,22 @@ else +@@ -138,6 +139,22 @@ endif else UNAME_S := $(shell uname -s) + ifeq ($(UNAME_S),FreeBSD) + PLATFORM := freebsd + SHARED_EXT := .so* + SHELL_EXT := .sh + ARCH_EXT := .zip + AR := 7z a -y + PACKAGES = tar + DS_PREFIX := $(COMPANY_NAME_LOW)/$(PRODUCT_SHORT_NAME_LOW) + NGINX_CONF := %%ETCDIR%%/documentserver/nginx/includes + NGINX_LOG := /var/log/$(DS_PREFIX) + DS_ROOT := %%LOCALBASE%%/www/$(DS_PREFIX) + DS_FILES := /var/db/$(DS_PREFIX) + DS_EXAMLE := %%LOCALBASE%%/www/$(DS_PREFIX)-example + DEV_NULL := /dev/null + PKG_TARGET := node%%PKGFETCH_NODE_MAJOR_VERSION%% + endif ifeq ($(UNAME_S),Linux) PLATFORM := linux SHARED_EXT := .so* -@@ -167,6 +184,12 @@ else - DS_EXAMLE := /var/www/onlyoffice/documentserver-example +@@ -167,6 +184,12 @@ + DS_EXAMPLE := /var/www/onlyoffice/documentserver-example DEV_NULL := /dev/null endif + ifeq ($(UNAME_P),amd64) + ARCHITECTURE := 64 + endif + ifeq ($(UNAME_P),aarch64) + ARCHITECTURE := 64 + endif ifeq ($(UNAME_M),x86_64) ARCHITECTURE := 64 - endif -@@ -334,7 +357,7 @@ documentserver: + PKG_TARGET ?= node18-linux-x64 +@@ -364,7 +387,7 @@ documentserver: mkdir -p $(DOCUMENTSERVER_FILES) - cp -rf -t $(DOCUMENTSERVER) ../build_tools/out/$(TARGET)/$(COMPANY_NAME_LOW)/$(PRODUCT_SHORT_NAME_LOW)/* + cp -rf ../build_tools/out/$(TARGET)/$(COMPANY_NAME_LOW)/$(PRODUCT_SHORT_NAME_LOW)/* $(DOCUMENTSERVER) - mkdir -p $(DOCUMENTSERVER_CONFIG) - mkdir -p $(DOCUMENTSERVER_CONFIG)/log4js -@@ -343,25 +366,25 @@ documentserver: + ifneq ($(PRODUCT_NAME_LOW),$(filter $(PRODUCT_NAME_LOW),documentserver-de documentserver-ee)) + rm -rf $(DOCUMENTSERVER)/server/AdminPanel +@@ -377,25 +400,25 @@ mv -f $(DOCUMENTSERVER)/server/Common/config/log4js/*.json $(DOCUMENTSERVER_CONFIG)/log4js/ # rename product specific folders - sed "s|onlyoffice\/documentserver|"$(DS_PREFIX)"|" -i $(DOCUMENTSERVER_CONFIG)/*.json + sed -i '' "s|onlyoffice\/documentserver|"$(DS_PREFIX)"|" $(DOCUMENTSERVER_CONFIG)/*.json # rename db account params - sed 's|\("db.*": "\)onlyoffice\("\)|\1'$(ONLYOFFICE_VALUE)'\2|' -i $(DOCUMENTSERVER_CONFIG)/*.json + sed -i '' 's|\("db.*": "\)onlyoffice\("\)|\1'$(ONLYOFFICE_VALUE)'\2|' $(DOCUMENTSERVER_CONFIG)/*.json # rename db schema name - sed 's|onlyoffice|'$(ONLYOFFICE_VALUE)'|' -i $(DOCUMENTSERVER)/server/schema/**/*.sql + sed -i '' 's|onlyoffice|'$(ONLYOFFICE_VALUE)'|' $(DOCUMENTSERVER)/server/schema/**/*.sql # ignore CREATE DATABASE commands in MySQL - sed -r "s/^(CREATE DATABASE|USE)/-- \1/" -i $(DOCUMENTSERVER)/server/schema/mysql/*.sql + sed -i '' -r "s/^(CREATE DATABASE|USE)/-- \1/" $(DOCUMENTSERVER)/server/schema/mysql/*.sql # rename product in license - sed 's|ONLYOFFICE|'$(COMPANY_NAME)'|' -i $(DOCUMENTSERVER)/server/3rd-Party.txt - sed 's|DocumentServer|'$(PRODUCT_NAME)'|' -i $(DOCUMENTSERVER)/server/3rd-Party.txt + sed -i '' 's|ONLYOFFICE|'$(COMPANY_NAME)'|' $(DOCUMENTSERVER)/server/3rd-Party.txt + sed -i '' 's|DocumentServer|'$(PRODUCT_NAME)'|' $(DOCUMENTSERVER)/server/3rd-Party.txt # Prevent for modification original config chmod ug=r $(DOCUMENTSERVER_CONFIG)/*.json - cp -fr -t $(DOCUMENTSERVER) $(3RD_PARTY_LICENSE_FILES) + cp -fr $(3RD_PARTY_LICENSE_FILES) $(3RD_PARTY_LICENSE_FILES) rm -fr $(3RD_PARTY_LICENSE_FILES) ifeq ($(PLATFORM),win) -@@ -371,8 +394,8 @@ endif +@@ -405,8 +428,8 @@ endif [ -f $(LICENSE_FILE) ] \ - && cp -f -t $(DOCUMENTSERVER) $(LICENSE_FILE) \ - || cp -f -t $(DOCUMENTSERVER) LICENSE.txt + && cp -f $(LICENSE_FILE) $(DOCUMENTSERVER) \ + || cp -f LICENSE.txt $(DOCUMENTSERVER) chmod u+x $(DOCUMENTSERVER)/server/FileConverter/bin/x2t$(EXEC_EXT) #chmod u+x $(DOCUMENTSERVER)/server/FileConverter/bin/docbuilder$(EXEC_EXT) -@@ -380,26 +403,26 @@ endif +@@ -414,26 +437,26 @@ chmod u+x $(DOCUMENTSERVER)/server/tools/allfontsgen$(EXEC_EXT) mv -f $(DOCUMENTSERVER)/web-apps/apps/api/documents/api.js $(DOCUMENTSERVER)/web-apps/apps/api/documents/api.js.tpl - sed "s|\(_dc=\)0|\1"$(PACKAGE_VERSION)"|" -i $(DOCUMENTSERVER)/web-apps/apps/api/documents/api.js.tpl + sed -i '' "s|\(_dc=\)0|\1"$(PACKAGE_VERSION)"|" $(DOCUMENTSERVER)/web-apps/apps/api/documents/api.js.tpl ifeq ($(PRODUCT_NAME_LOW), documentserver) - sed 's|\("packageType": \)[0-9]\+\(.*\)|\10\2|' -i $(DOCUMENTSERVER_CONFIG)/*.json - sed 's|\("editorDataStorage": "\).\+\(".*\)|\1editorDataMemory\2|' -i $(DOCUMENTSERVER_CONFIG)/*.json + sed -i '' 's|\("packageType": \)[0-9]\+\(.*\)|\10\2|' $(DOCUMENTSERVER_CONFIG)/*.json + sed -i '' 's|\("editorDataStorage": "\).\+\(".*\)|\1editorDataMemory\2|' $(DOCUMENTSERVER_CONFIG)/*.json endif ifeq ($(PRODUCT_NAME_LOW), $(filter $(PRODUCT_NAME_LOW),documentserver-ee documentserver-ie)) - sed 's|\("packageType": \)[0-9]\+\(.*\)|\11\2|' -i $(DOCUMENTSERVER_CONFIG)/*.json - sed 's|\("editorDataStorage": "\).\+\(".*\)|\1editorDataRedis\2|' -i $(DOCUMENTSERVER_CONFIG)/*.json + sed -i '' 's|\("packageType": \)[0-9]\+\(.*\)|\11\2|' $(DOCUMENTSERVER_CONFIG)/*.json + sed -i '' 's|\("editorDataStorage": "\).\+\(".*\)|\1editorDataRedis\2|' $(DOCUMENTSERVER_CONFIG)/*.json endif ifeq ($(PRODUCT_NAME_LOW), documentserver-de) - sed 's|\("packageType": \)[0-9]\+\(.*\)|\12\2|' -i $(DOCUMENTSERVER_CONFIG)/*.json - sed 's|\("editorDataStorage": "\).\+\(".*\)|\1editorDataRedis\2|' -i $(DOCUMENTSERVER_CONFIG)/*.json + sed -i '' 's|\("packageType": \)[0-9]\+\(.*\)|\12\2|' $(DOCUMENTSERVER_CONFIG)/*.json + sed -i '' 's|\("editorDataStorage": "\).\+\(".*\)|\1editorDataRedis\2|' $(DOCUMENTSERVER_CONFIG)/*.json endif cd $(DOCUMENTSERVER)/npm && \ npm install && \ - pkg ./node_modules/json $(PKG_TARGET:%=-t %) -o json + env PKG_CACHE_PATH=%%WRKDIR%%/.pkg-cache "%%WRKSRC%%/yao-pkg/node_modules/.bin/pkg" ./node_modules/json $(PKG_TARGET:%=-t %) -o json ifeq ($(PLATFORM),win) cd $(DOCUMENTSERVER)/npm && \ -@@ -413,7 +436,7 @@ documentserver-example: +@@ -441,13 +464,13 @@ + endif + rm -r \ + $(DOCUMENTSERVER)/npm/node_modules \ +- $(DOCUMENTSERVER)/npm/package-lock.json ++ $(DOCUMENTSERVER)/npm/npm-shrinkwrap.json + + echo "Done" > $@ documentserver-example: mkdir -p $(DOCUMENTSERVER_EXAMPLE) - cp -rf -t $(DOCUMENTSERVER_EXAMPLE) ../build_tools/out/$(TARGET)/$(COMPANY_NAME_LOW)/$(PRODUCT_SHORT_NAME_LOW)-example/* common/documentserver-example/welcome + cp -rf ../build_tools/out/$(TARGET)/$(COMPANY_NAME_LOW)/$(PRODUCT_SHORT_NAME_LOW)-example/* common/documentserver-example/welcome $(DOCUMENTSERVER_EXAMPLE) mkdir -p $(DOCUMENTSERVER_EXAMPLE_CONFIG) -@@ -422,7 +445,7 @@ documentserver-example: +@@ -456,7 +479,7 @@ # Prevent for modification original config chmod ug=r $(DOCUMENTSERVER_EXAMPLE_CONFIG)/*.json - sed "s|{{OFFICIAL_PRODUCT_NAME}}|"$(OFFICIAL_PRODUCT_NAME)"|" -i $(DOCUMENTSERVER_EXAMPLE)/welcome/*.html + sed -i '' "s|{{OFFICIAL_PRODUCT_NAME}}|"$(OFFICIAL_PRODUCT_NAME)"|" $(DOCUMENTSERVER_EXAMPLE)/welcome/*.html /usr/bin/find $(DOCUMENTSERVER_EXAMPLE)/welcome -depth -type f -exec sed -i "s_{{year}}_$(shell date +"%Y")_g" {} \; - -@@ -517,6 +540,7 @@ $(EXE): iss_file = common.iss + sed -i "s|{{EXAMPLE_DISABLED_COMMANDS}}|$(EXAMPLE_DISABLED_COMMANDS)|g" $(DOCUMENTSERVER_EXAMPLE)/welcome/example-disabled.html +@@ -545,6 +568,7 @@ cd $(@D) && $(ISCC) $(ISCC_PARAMS) $(iss_file) $(EXE): iss_file = common.iss +freebsd: $(COMMON_DEPS) $(LINUX_DEPS) documentserver $(EXE): $(COMMON_DEPS) documentserver documentserver-example $(NGINX) $(PSQL) $(WINSW) $(EXE_PR): iss_file = prerequisites.iss diff --git a/www/onlyoffice-documentserver/files/patch-document-server-package_common_documentserver_bin_documentserver-generate-allfonts.sh.m4 b/www/onlyoffice-documentserver/files/patch-document-server-package_common_documentserver_bin_documentserver-generate-allfonts.sh.m4 index 0d4b9e4f9861..2dd562e21f9c 100644 --- a/www/onlyoffice-documentserver/files/patch-document-server-package_common_documentserver_bin_documentserver-generate-allfonts.sh.m4 +++ b/www/onlyoffice-documentserver/files/patch-document-server-package_common_documentserver_bin_documentserver-generate-allfonts.sh.m4 @@ -1,35 +1,37 @@ ---- document-server-package/common/documentserver/bin/documentserver-generate-allfonts.sh.m4.orig 2023-06-20 13:47:11 UTC +--- document-server-package/common/documentserver/bin/documentserver-generate-allfonts.sh.m4.orig 2026-02-23 08:17:20 UTC +++ document-server-package/common/documentserver/bin/documentserver-generate-allfonts.sh.m4 -@@ -5,7 +5,7 @@ fi - ONLYOFFICE_DATA_CONTAINER=$1 +@@ -9,7 +9,7 @@ + ONLYOFFICE_K8S_CONTAINER=$2 fi -DIR="/var/www/M4_DS_PREFIX" +DIR="%%LOCALBASE%%/www/M4_DS_PREFIX" export LD_LIBRARY_PATH=/var/www/M4_DS_PREFIX/server/FileConverter/bin:$LD_LIBRARY_PATH -@@ -52,11 +52,6 @@ echo Done +@@ -57,13 +57,6 @@ echo Done -# Setting user rights for files created in the previous steps --chown -R ds:ds "$DIR/sdkjs" --chown -R ds:ds "$DIR/server/FileConverter/bin" --chown -R ds:ds "$DIR/fonts" +-if [ "${ONLYOFFICE_K8S_CONTAINER}" != "true" ]; then +- chown -R ds:ds "$DIR/sdkjs" +- chown -R ds:ds "$DIR/server/FileConverter/bin" +- chown -R ds:ds "$DIR/fonts" +-fi - #Remove gzipped files rm -f \ $DIR/fonts/*.gz \ -@@ -66,10 +61,7 @@ if [ "$ONLYOFFICE_DATA_CONTAINER" != "true" ]; then +@@ -73,10 +66,7 @@ #Restart web-site and converter if [ "$ONLYOFFICE_DATA_CONTAINER" != "true" ]; then - if pgrep -x ""systemd"" >/dev/null; then - systemctl restart ds-docservice - systemctl restart ds-converter - elif pgrep -x ""supervisord"" >/dev/null; then + if pgrep -f "supervisord" >/dev/null; then supervisorctl restart ds:docservice supervisorctl restart ds:converter fi diff --git a/www/onlyoffice-documentserver/files/patch-document-server-package_common_documentserver_bin_documentserver-pluginsmanager.sh.m4 b/www/onlyoffice-documentserver/files/patch-document-server-package_common_documentserver_bin_documentserver-pluginsmanager.sh.m4 index abd954585747..935034f1365a 100644 --- a/www/onlyoffice-documentserver/files/patch-document-server-package_common_documentserver_bin_documentserver-pluginsmanager.sh.m4 +++ b/www/onlyoffice-documentserver/files/patch-document-server-package_common_documentserver_bin_documentserver-pluginsmanager.sh.m4 @@ -1,52 +1,61 @@ ---- document-server-package/common/documentserver/bin/documentserver-pluginsmanager.sh.m4.orig 2023-06-20 13:51:11 UTC +--- document-server-package/common/documentserver/bin/documentserver-pluginsmanager.sh.m4.orig 2026-02-23 08:17:20 UTC +++ document-server-package/common/documentserver/bin/documentserver-pluginsmanager.sh.m4 -@@ -1,35 +1,33 @@ +@@ -1,17 +1,16 @@ -#!/bin/bash +#!/bin/sh --[ $(id -u) -ne 0 ] && { echo "Root privileges required"; exit 1; } -+[ "$(id -u)" -ne 0 ] && { echo "Root privileges required"; exit 1; } +-[ $(id -u) -ne 0 ] && [ $(id -u) -ne 101 ] && { echo "Root or UID 101 privileges required"; exit 1; } ++[ "$(id -u)" -ne 0 ] && [ "$(id -u)" -ne 101 ] && { echo "Root or UID 101 privileges required"; exit 1; } -while [ "$1" != "" ]; do +while [ $# -gt 0 ]; do case $1 in - -r | --restart ) - if [ "$2" != "" ]; then + if [ "$2" = "true" ] || [ "$2" = "false" ]; then RESTART_CONDITION=$2 shift fi + shift ;; -- +- + -k | --k8s ) + if [ "$2" != "" ]; then + K8S_CONTAINER=$2 +@@ -19,26 +18,23 @@ + fi + ;; + - * ) args+=("$1"); + *) + break + ;; esac - shift done -export LD_LIBRARY_PATH=/var/www/M4_DS_PREFIX/server/FileConverter/bin:$LD_LIBRARY_PATH +export LD_LIBRARY_PATH=%%LOCALBASE%%/www/M4_DS_PREFIX/server/FileConverter/bin:$LD_LIBRARY_PATH -PLUGIN_MANAGER="/var/www/M4_DS_PREFIX/server/tools/pluginsmanager" -PLUGIN_DIR="/var/www/M4_DS_PREFIX/sdkjs-plugins/" -+PLUGIN_MANAGER="%%LOCALBASE%%/www/M4_DS_PREFIX/server/tools/pluginsmanager" -+PLUGIN_DIR="%%LOCALBASE%%/www/M4_DS_PREFIX/sdkjs-plugins/" ++PLUGIN_MANAGER="/%%LOCALBASE%%/www/M4_DS_PREFIX/server/tools/pluginsmanager" ++PLUGIN_DIR="/%%LOCALBASE%%/www/M4_DS_PREFIX/sdkjs-plugins/" -"${PLUGIN_MANAGER}" --directory=\"${PLUGIN_DIR}\" "${args[@]}" +"${PLUGIN_MANAGER}" --directory=\"${PLUGIN_DIR}\" "$@" --chown -R ds:ds "${PLUGIN_DIR}" +-if [ "${K8S_CONTAINER}" != "true" ]; then +- chown -R ds:ds "${PLUGIN_DIR}" +-fi +chown -R onlyoffice:onlyoffice "${PLUGIN_DIR}" if [ "$RESTART_CONDITION" != "false" ]; then - if pgrep -x ""systemd"" >/dev/null; then - systemctl restart ds-docservice - elif pgrep -x ""supervisord"" >/dev/null; then + if pgrep -f "supervisord" >/dev/null; then supervisorctl restart ds:docservice fi documentserver-flush-cache.sh diff --git a/www/onlyoffice-documentserver/files/patch-server_DocService_package.json b/www/onlyoffice-documentserver/files/patch-server_DocService_package.json new file mode 100644 index 000000000000..8bc864a976bf --- /dev/null +++ b/www/onlyoffice-documentserver/files/patch-server_DocService_package.json @@ -0,0 +1,31 @@ +--- server/DocService/package.json.orig 2026-02-24 14:13:24 UTC ++++ server/DocService/package.json +@@ -28,11 +28,12 @@ + "mime-db": "1.53.0", + "ms": "2.1.3", + "mssql": "11.0.1", +- "multer": "1.4.4", ++ "multer": "2.0.2", + "multi-integer-range": "5.2.0", + "multiparty": "4.2.3", + "mysql2": "3.13.0", + "oracledb": "6.9.0", ++ "patch-package": "^8.0.0", + "pg": "8.14.0", + "redis": "4.7.0", + "retry": "0.13.1", +@@ -54,9 +55,11 @@ + "../Common/node_modules/axios/dist/node/axios.cjs" + ], + "assets": [ +- "node_modules/oracledb/build/Release/oracledb-*.node", +- "node_modules/sharp/build/Release/*", +- "node_modules/sharp/vendor/**/*" ++ "node_modules/oracledb/build/Release/oracledb-*.node" ++ ], ++ "ignore": [ ++ "node_modules/sharp/build/**", ++ "node_modules/sharp/vendor/**" + ] + } + } diff --git a/www/onlyoffice-documentserver/files/patch-server_DocService_patches_sharp b/www/onlyoffice-documentserver/files/patch-server_DocService_patches_sharp index 11442922a16b..47102bfe0fa2 100644 --- a/www/onlyoffice-documentserver/files/patch-server_DocService_patches_sharp +++ b/www/onlyoffice-documentserver/files/patch-server_DocService_patches_sharp @@ -1,17 +1,32 @@ ---- server/DocService/patches/sharp+0.32.6.patch.orig 2025-10-25 03:44:19 UTC +--- server/DocService/patches/sharp+0.32.6.patch.orig 2026-03-12 00:43:48 UTC +++ server/DocService/patches/sharp+0.32.6.patch -@@ -0,0 +1,13 @@ -+diff --git a/node_modules/sharp/package.json b/node_modules/sharp/package.json -+index b4d3a28..152b194 100644 -+--- a/node_modules/sharp/package.json -++++ b/node_modules/sharp/package.json -+@@ -89,7 +89,7 @@ -+ "Lachlan Newman " -+ ], -+ "scripts": { -+- "install": "(node install/libvips && node install/dll-copy && prebuild-install) || (node install/can-compile && node-gyp rebuild && node install/dll-copy)", -++ "install": "(node install/libvips && node install/dll-copy && prebuild-install) || (node install/can-compile && node-gyp --nodedir=%%LOCALBASE%% rebuild && node install/dll-copy)", -+ "clean": "rm -rf node_modules/ build/ vendor/ .nyc_output/ coverage/ test/fixtures/output.*", -+ "test": "npm run test-lint && npm run test-unit && npm run test-licensing && npm run test-types", -+ "test-lint": "semistandard && cpplint", - +@@ -0,0 +1,29 @@ ++diff --git a/node_modules/sharp/lib/sharp.js b/node_modules/sharp/lib/sharp.js ++index a41e83d..80226dc 100644 ++--- a/node_modules/sharp/lib/sharp.js +++++ b/node_modules/sharp/lib/sharp.js ++@@ -2,12 +2,22 @@ ++ // SPDX-License-Identifier: Apache-2.0 ++ ++ 'use strict'; ++- +++const path = require('path'); ++ const platformAndArch = require('./platform')(); ++ ++ /* istanbul ignore next */ ++ try { ++- module.exports = require(`../build/Release/sharp-${platformAndArch}.node`); +++ // FreeBSD port: load native binding from fixed path next to pkg binary +++ const fs = require('fs'); +++ const external = path.join( +++ path.dirname(process.execPath), +++ 'sharp', +++ `sharp-${process.platform}-${process.arch}.node` +++ ); +++ if (fs.existsSync(external)) { +++ module.exports = require(external); +++ return; +++ } ++ } catch (err) { ++ // Bail early if bindings aren't available ++ const help = ['', 'Something went wrong installing the "sharp" module', '', err.message, '', 'Possible solutions:']; diff --git a/www/onlyoffice-documentserver/files/patch-server_Metrics_patches_modern-syslog b/www/onlyoffice-documentserver/files/patch-server_Metrics_patches_modern-syslog deleted file mode 100644 index 7a10ecbd0a4e..000000000000 --- a/www/onlyoffice-documentserver/files/patch-server_Metrics_patches_modern-syslog +++ /dev/null @@ -1,11 +0,0 @@ ---- 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 0c2dac162610..6cbf30c0512e 100644 --- a/www/onlyoffice-documentserver/files/patch-server_package.json +++ b/www/onlyoffice-documentserver/files/patch-server_package.json @@ -1,42 +1,38 @@ ---- server/package.json.orig 2025-10-12 16:21:06 UTC +--- server/package.json.orig 2026-02-23 07:24:11 UTC +++ server/package.json @@ -4,9 +4,11 @@ "homepage": "https://www.onlyoffice.com", "private": true, "dependencies": { + "grunt": "^1.6.1", + "grunt-cli": "^1.5.0", "license-downloader": "1.0.8", "license-report": "6.5.0", - "npm-run-all": "4.1.5" + "concurrently": "^9.2.0" }, "devDependencies": { "@eslint/compat": "1.2.3", -@@ -38,12 +40,12 @@ +@@ -36,10 +38,10 @@ "integration database tests": "cd ./DocService && jest integration/databaseTests --inject-globals=false --config=../tests/jest.config.js", "tests": "cd ./DocService && jest --inject-globals=false --config=../tests/jest.config.js", "tests:dev": "cd ./DocService && jest --inject-globals=false --config=../tests/jest.config.js --watch", - "install:Common": "npm ci --prefix ./Common", - "install:DocService": "npm ci --prefix ./DocService", - "install:FileConverter": "npm ci --prefix ./FileConverter", - "install:Metrics": "npm ci --prefix ./Metrics", -- "install:AdminPanel/server": "npm ci --prefix ./AdminPanel/server", -- "install:AdminPanel/client": "npm ci --include=dev --prefix ./AdminPanel/client && npm --prefix ./AdminPanel/client run build", + "install:Common": "npm install --prefix ./Common", + "install:DocService": "npm install --prefix ./DocService", + "install:FileConverter": "npm install --prefix ./FileConverter", + "install:Metrics": "npm install --prefix ./Metrics", -+ "install:AdminPanel/server": "npm install --prefix ./AdminPanel/server", -+ "install:AdminPanel/client": "npm install --include=dev --prefix ./AdminPanel/client && npm --prefix ./AdminPanel/client run build", "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", -@@ -56,6 +58,6 @@ +@@ -52,6 +54,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\" \"npm run install:AdminPanel/server\" \"npm run install:AdminPanel/client\"" ++ "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/patch-web-apps_build_patches_optipng-bin b/www/onlyoffice-documentserver/files/patch-web-apps_build_patches_optipng-bin index 562eda5b7660..3687d29a8f05 100644 --- a/www/onlyoffice-documentserver/files/patch-web-apps_build_patches_optipng-bin +++ b/www/onlyoffice-documentserver/files/patch-web-apps_build_patches_optipng-bin @@ -1,18 +1,53 @@ ---- web-apps/build/patches/optipng-bin+5.1.0.patch.orig 2022-01-07 14:58:52 UTC +--- web-apps/build/patches/optipng-bin+5.1.0.patch.orig 2025-11-05 01:40:01 UTC +++ web-apps/build/patches/optipng-bin+5.1.0.patch -@@ -0,0 +1,15 @@ +@@ -0,0 +1,50 @@ ++diff --git a/node_modules/optipng-bin/lib/index.js b/node_modules/optipng-bin/lib/index.js ++index a8d3ee5..4bc4578 100644 ++--- a/node_modules/optipng-bin/lib/index.js +++++ b/node_modules/optipng-bin/lib/index.js ++@@ -3,16 +3,6 @@ const path = require('path'); ++ const BinWrapper = require('bin-wrapper'); ++ const pkg = require('../package.json'); ++ ++-const url = `https://raw.githubusercontent.com/imagemin/optipng-bin/v${pkg.version}/vendor/`; ++- ++ module.exports = new BinWrapper() ++- .src(`${url}macos/optipng`, 'darwin') ++- .src(`${url}linux/x86/optipng`, 'linux', 'x86') ++- .src(`${url}linux/x64/optipng`, 'linux', 'x64') ++- .src(`${url}freebsd/x86/optipng`, 'freebsd', 'x86') ++- .src(`${url}freebsd/x64/optipng`, 'freebsd', 'x64') ++- .src(`${url}sunos/x86/optipng`, 'sunos', 'x86') ++- .src(`${url}sunos/x64/optipng`, 'sunos', 'x64') ++- .src(`${url}win/optipng.exe`, 'win32') ++- .dest(path.resolve(__dirname, '../vendor')) ++- .use(process.platform === 'win32' ? 'optipng.exe' : 'optipng'); +++ .dest('%%LOCALBASE%%/bin') +++ .use('optipng'); +diff --git a/node_modules/optipng-bin/lib/install.js b/node_modules/optipng-bin/lib/install.js -+index 2d1db3a..643f075 100644 ++index 2d1db3a..2226956 100644 +--- a/node_modules/optipng-bin/lib/install.js ++++ b/node_modules/optipng-bin/lib/install.js -+@@ -10,8 +10,8 @@ bin.run(['--version']).then(() => { -+ log.warn('optipng pre-build test failed'); -+ log.info('compiling from source'); ++@@ -1,21 +1,9 @@ ++ 'use strict'; ++-const binBuild = require('bin-build'); ++ const log = require('logalot'); ++ const bin = require('.'); + ++ bin.run(['--version']).then(() => { ++ log.success('optipng pre-build test passed successfully'); ++ }).catch(error => { ++- log.warn(error.message); ++- log.warn('optipng pre-build test failed'); ++- log.info('compiling from source'); ++- +- binBuild.url('https://downloads.sourceforge.net/project/optipng/OptiPNG/optipng-0.7.7/optipng-0.7.7.tar.gz', [ +- `./configure --with-system-zlib --prefix="${bin.dest()}" --bindir="${bin.dest()}"`, -++ binBuild.file('%%DISTDIR%%/optipng-0.7.8.tar.gz', [ -++ `./configure --with-system-zlib --with-system-libpng --prefix="${bin.dest()}" --bindir="${bin.dest()}"`, -+ 'make install' -+ ]).then(() => { -+ log.success('optipng built successfully'); ++- 'make install' ++- ]).then(() => { ++- log.success('optipng built successfully'); ++- }).catch(error => { ++- log.error(error.stack); ++- }); +++ log.error('optipng not found at system path:', error.message); ++ }); diff --git a/www/onlyoffice-documentserver/files/pkg-message.in b/www/onlyoffice-documentserver/files/pkg-message.in index b31157599e10..6ad3c0edf016 100644 --- a/www/onlyoffice-documentserver/files/pkg-message.in +++ b/www/onlyoffice-documentserver/files/pkg-message.in @@ -1,110 +1,131 @@ [ { type: install message: <