diff --git a/www/onlyoffice-documentserver/Makefile b/www/onlyoffice-documentserver/Makefile index fae9b93955d8..a41f0027e3d5 100644 --- a/www/onlyoffice-documentserver/Makefile +++ b/www/onlyoffice-documentserver/Makefile @@ -1,272 +1,295 @@ PORTNAME= onlyoffice-documentserver DISTVERSIONPREFIX= v -DISTVERSION= 9.0.3.31 +DISTVERSION= 9.0.4 CATEGORIES= www MASTER_SITES+= LOCAL/mikael/v8/:source1 \ - https://nodejs.org/dist/v${NODE_VERSION_PKGFETCH}/:source3 \ + https://nodejs.org/dist/v${PKGFETCH_NODE_VERSION}/:source3 \ SF/optipng/OptiPNG/optipng-0.7.8/:source4 DISTFILES+= v8-8.9.255.25_all.tar.gz:source1 \ - node-v${NODE_VERSION_PKGFETCH}.tar.gz:source3 \ + node-v${PKGFETCH_NODE_VERSION}.tar.gz:source3 \ optipng-0.7.8.tar.gz:source4 MAINTAINER= fsbruva@yahoo.com COMMENT= Secure office and productivity apps WWW= https://www.onlyoffice.com/ LICENSE= AGPLv3 LICENSE_FILE= ${WRKSRC}/LICENSE.txt -BROKEN_i386= fails to build +ONLY_FOR_ARCHS= aarch64 amd64 +ONLY_FOR_ARCHS_REASON= "Upstream only supports amd64 and arm64" + +# node version used with "npm install @yao-pkg/pkg@6.6.0" +# keep in sync with patch-build__tools_scripts_build__server.py and patch-document-server-package_Makefile +PKGFETCH_NODE_VERSION= 20.19.4 +DS_BUILD= 50 BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}Jinja2>=0:devel/py-Jinja2@${PY_FLAVOR} \ boost-libs>0:devel/boost-libs \ glib>=2.54:devel/glib20 \ gn:devel/gn \ java:java/openjdk11 \ ninja:devel/ninja \ - npm:www/npm-node20 \ - ${LOCALBASE}/lib/libcrypto.a:security/openssl + npm:www/npm-node20 + LIB_DEPENDS= libboost_regex.so:devel/boost-libs \ libetonyek-0.1.so:graphics/libetonyek01 \ libcurl.so:ftp/curl \ libharfbuzz.so:print/harfbuzz \ libiconv.so:converters/libiconv \ - libicutu.so:devel/icu \ + libicuuc.so:devel/icu \ libodfgen-0.1.so:textproc/libodfgen01 \ librevenge-0.0.so:textproc/librevenge + RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}supervisor>0:sysutils/py-supervisor@${PY_FLAVOR} \ ${LOCALBASE}/share/certs/ca-root-nss.crt:security/ca_root_nss \ gsed:textproc/gsed \ nginx:www/nginx \ pwgen:sysutils/pwgen \ rabbitmq>0:net/rabbitmq \ webfonts>=0:x11-fonts/webfonts -USES= autoreconf:build dos2unix fakeroot gmake gnome iconv localbase nodejs:22,build pkgconfig \ - python:3.9+,build qt:5 trigger -USE_QT= qmake:build +USES= autoreconf:build dos2unix fakeroot gmake gnome iconv localbase pkgconfig \ + python:3.9+,build qt:5 ssl:build trigger + +DOS2UNIX_FILES= document-server-package/common/documentserver/nginx/includes/http-common.conf.m4 + USE_GITHUB= yes GH_ACCOUNT= ONLYOFFICE GH_PROJECT= DocumentServer -GH_TAGNAME= v${DISTVERSION:C/^([0-9]+\.[0-9]+\.[0-9]+).*/\1/} -GH_TUPLE= ONLYOFFICE:core:v${DISTVERSION}:core/core \ - ONLYOFFICE:core-fonts:v${DISTVERSION}:corefonts/core-fonts \ - ONLYOFFICE:dictionaries:v${DISTVERSION}:dictionaries/dictionaries \ - ONLYOFFICE:document-server-integration:v${DISTVERSION}:dsi/document-server-integration \ - ONLYOFFICE:document-templates:v${DISTVERSION}:dt/document-templates \ - ONLYOFFICE:sdkjs:v${DISTVERSION}:sdkjs/sdkjs \ - ONLYOFFICE:server:v${DISTVERSION}:server/server \ - ONLYOFFICE:web-apps:v${DISTVERSION}:webapps/web-apps \ - ONLYOFFICE:build_tools:v${DISTVERSION}:buildtools/build_tools \ +DS_TAGNAME= ${DISTVERSIONPREFIX}${DISTVERSION}.${DS_BUILD} +GH_TUPLE= ONLYOFFICE:core:${DS_TAGNAME}:core/core \ + ONLYOFFICE:core-fonts:${DS_TAGNAME}:corefonts/core-fonts \ + ONLYOFFICE:dictionaries:${DS_TAGNAME}:dictionaries/dictionaries \ + ONLYOFFICE:document-server-integration:${DS_TAGNAME}:dsi/document-server-integration \ + ONLYOFFICE:document-templates:${DS_TAGNAME}:dt/document-templates \ + ONLYOFFICE:sdkjs:${DS_TAGNAME}:sdkjs/sdkjs \ + ONLYOFFICE:server:${DS_TAGNAME}:server/server \ + ONLYOFFICE:web-apps:${DS_TAGNAME}:webapps/web-apps \ + ONLYOFFICE:build_tools:${DS_TAGNAME}:buildtools/build_tools \ ONLYOFFICE:DocumentBuilder:626d1e44db3d06ceb8298215a67ef0475912d89a:document_builder/DocumentBuilder \ ONLYOFFICE:onlyoffice.github.io:b26d001664d771df4f663d2d3ba7dd4a188b6cab:sdkjs_plugins_v1/onlyoffice.github.io \ - ONLYOFFICE:document-server-package:v${DISTVERSION}:dsp/document-server-package \ + ONLYOFFICE:document-server-package:${DS_TAGNAME}:dsp/document-server-package \ jasenhuang:katana-parser:be6df45:jasenhuang_katana/core/Common/3dParty/html/katana-parser \ google:gumbo-parser:aa91b27:google_gumbo/core/Common/3dParty/html/gumbo-parser \ + google:brotli:a47d747:google_brotli/core/Common/3dParty/brotli/brotli \ hunspell:hyphen:73dd296:hunspell_hyphen/core/Common/3dParty/hyphen/hyphen \ mity:md4c:481fbfb:mity_md4c/core/Common/3dParty/md/md4c \ - fsbruva:onlyoffice-DS-pkg-cache:v${NODE_VERSION_PKGFETCH}:pkg_cache/ \ - fsbruva:onlyoffice-DS-npm-cache:v${DISTVERSION}-20250721:npm_cache/ + fsbruva:onlyoffice-DS-pkg-cache:v${PKGFETCH_NODE_VERSION}:pkg_cache/ \ + fsbruva:onlyoffice-DS-npm-cache:${DS_TAGNAME}-20250831:npm_cache/ -OPTIONS_SINGLE= DB -OPTIONS_SINGLE_DB= MYSQL PGSQL -OPTIONS_DEFAULT= PGSQL +USE_LDCONFIG= yes +USE_QT= qmake:build -MYSQL_USES+= mysql:client -PGSQL_USES+= pgsql -PGSQL_VARS= WANT_PGSQL=client +MAKE_ENV= BUILD_NUMBER=${DS_BUILD} \ + npm_package_config_node_gyp_nodedir=${LOCALBASE} \ + npm_package_config_node_gyp_python=${PYTHON_CMD} \ + PKG_CACHE_PATH=${WRKDIR}/.pkg-cache \ + PRODUCT_VERSION=${DISTVERSION} \ + PYTHON=${PYTHON_CMD} -BINARY_ALIAS= python=${PYTHON_CMD} \ - strip=true -USE_LDCONFIG= yes +# Don't create __pycache__ directory when executing node-gyp +# This is a workaround to avoid filesystem violations during poudriere build +MAKE_ENV+= PYTHONDONTWRITEBYTECODE=1 -WWWDIR= ${PREFIX}/www/onlyoffice -ETCDIR= ${PREFIX}/etc/onlyoffice +CONFLICTS_BUILD= devel/googletest -DS_USERNAME= onlyoffice -DS_GROUPNAME= onlyoffice +# do not strip docservice, converter, metrics and json +STRIP= -USERS= ${DS_USERNAME} -GROUPS= ${DS_GROUPNAME} +ETCDIR= ${PREFIX}/etc/onlyoffice +WWWDIR= ${PREFIX}/www/onlyoffice + +BINARY_ALIAS= python=${PYTHON_CMD} \ + strip=true -PLIST_SUB= DS_GROUPNAME=${DS_GROUPNAME} \ - DS_USERNAME=${DS_USERNAME} SUB_FILES= pkg-message \ onlyoffice.newsyslog.sample SUB_LIST= DS_GROUPNAME=${DS_GROUPNAME} \ DS_USERNAME=${DS_USERNAME} \ ETCDIR=${ETCDIR} \ PREFIX=${PREFIX} \ WWWDIR=${WWWDIR} -# node version used with "npm install @yao-pkg/pkg@6.6.0" -# keep in sync with patch-build__tools_scripts_build__server.py and patch-document-server-package_Makefile -NODE_VERSION_PKGFETCH= 20.19.4 +DS_USERNAME= onlyoffice +DS_GROUPNAME= onlyoffice -MAKE_ENV= BUILD_NUMBER="31" \ - PKG_CACHE_PATH=${WRKDIR}/.pkg-cache \ - PRODUCT_VERSION=${DISTVERSION:C/^([0-9]+\.[0-9]+\.[0-9]+).*/\1/} \ - BUILD_NUMBER=${DISTVERSION:C/^[0-9]+\.[0-9]+\.[0-9]+\.([0-9]+)/\1/} +USERS= ${DS_USERNAME} +GROUPS= ${DS_GROUPNAME} -# Don't create __pycache__ directory when executing node-gyp -# This is a workaround to avoid filesystem violations during poudriere build -MAKE_ENV+= PYTHONDONTWRITEBYTECODE=1 +PLIST_SUB= DS_GROUPNAME=${DS_GROUPNAME} \ + DS_USERNAME=${DS_USERNAME} -DOS2UNIX_FILES= document-server-package/common/documentserver/nginx/includes/http-common.conf.m4 +OPTIONS_DEFAULT= PGSQL +OPTIONS_SINGLE= DB +OPTIONS_SINGLE_DB= MYSQL PGSQL -CONFLICTS_BUILD=devel/googletest +MYSQL_USES+= mysql:client +PGSQL_USES+= pgsql +PGSQL_VARS= WANT_PGSQL=client .include -.if ${ARCH} == aarch64 || ${ARCH} == armv7 +.if ${ARCH} == aarch64 BUILD_DEPENDS+= clang${LLVM_DEFAULT}:devel/llvm${LLVM_DEFAULT} -BINARY_ALIAS+= cpp=${LOCALBASE}/bin/clang-cpp${LLVM_DEFAULT} \ - cc=${LOCALBASE}/bin/clang${LLVM_DEFAULT} \ +BINARY_ALIAS+= ar=${LOCALBASE}/bin/llvm-ar${LLVM_DEFAULT} \ c++=${LOCALBASE}/bin/clang++${LLVM_DEFAULT} \ - ar=${LOCALBASE}/bin/llvm-ar${LLVM_DEFAULT} \ - nm=${LOCALBASE}/bin/llvm-nm${LLVM_DEFAULT} \ - ld=${LOCALBASE}/bin/ld.lld${LLVM_DEFAULT} + cc=${LOCALBASE}/bin/clang${LLVM_DEFAULT} \ + cpp=${LOCALBASE}/bin/clang-cpp${LLVM_DEFAULT} \ + ld=${LOCALBASE}/bin/ld.lld${LLVM_DEFAULT} \ + nm=${LOCALBASE}/bin/llvm-nm${LLVM_DEFAULT} .endif post-extract: @${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${NODE_VERSION_PKGFETCH}.tar.gz ${WRKDIR}/.pkg-cache/node + @${CP} ${DISTDIR}/node-v${PKGFETCH_NODE_VERSION}.tar.gz ${WRKDIR}/.pkg-cache/node @${MKDIR} ${WRKSRC}/sdkjs-plugins/v1 @${CP} ${WRKSRC}/onlyoffice.github.io/sdkjs-plugins/v1/* ${WRKSRC}/sdkjs-plugins/v1 @${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-converter.conf ds-docservice.conf ds-metrics.conf ds.conf ${CP} ${FILESDIR}/${i} \ ${WRKSRC}/document-server-package/common/documentserver/supervisor .endfor -post-patch: +pre-configure: @${REINPLACE_CMD} 's|%%LOCALBASE%%|${LOCALBASE}|' \ ${WRKSRC}/build_tools/tools/freebsd/automate.py \ ${WRKSRC}/core/Apple/IWork.pro \ ${WRKSRC}/core/Common/3dParty/boost/boost.pri \ ${WRKSRC}/core/Common/3dParty/icu/icu.pri \ ${WRKSRC}/core/Common/3dParty/openssl/openssl.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}/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-converter.conf \ ${WRKSRC}/document-server-package/common/documentserver/supervisor/ds-docservice.conf \ - ${WRKSRC}/document-server-package/common/documentserver/supervisor/ds-metrics.conf + ${WRKSRC}/document-server-package/common/documentserver/supervisor/ds-metrics.conf \ + ${WRKSRC}/server/Metrics/patches/modern-syslog+1.2.0.patch @${REINPLACE_CMD} -e 's|%%CC%%|${CC}|' -e 's|%%CXX%%|${CXX}|' \ ${WRKSRC}/core/Common/3dParty/v8_89/v8/build/toolchain/gcc_toolchain.gni \ ${WRKSRC}/core/Common/base.pri @${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/}|' \ + ${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 @${RM} ${WRKSRC}/web-apps/build/patches/optipng-bin+5.1.0.patch.orig + @${RM} ${WRKSRC}/server/Metrics/patches/modern-syslog+1.2.0.patch.orig @${FIND} ${WRKSRC}/server -type f -name npm-shrinkwrap.json -delete @${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 ; 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}/server/Metrics ; ${SETENV} ${MAKE_ENV} npm install modern-syslog@1.2.0 --ignore-scripts + @cd ${WRKSRC}/server/Metrics ; ${SETENV} ${MAKE_ENV} npm install patch-package + @cd ${WRKSRC}/server/Metrics ; node_modules/.bin/patch-package + @cd ${WRKSRC}/server/Metrics/node_modules/modern-syslog ; ${SETENV} ${MAKE_ENV} ${GMAKE} @cd ${WRKSRC}/sdkjs ; ${SETENV} ${MAKE_ENV} npm install grunt-cli @cd ${WRKSRC}/sdkjs ; ${SETENV} ${MAKE_ENV} npm install grunt @${MKDIR} ${WRKSRC}/yao-pkg @${CP} ${FILESDIR}/package* ${WRKSRC}/yao-pkg @cd ${WRKSRC}/yao-pkg ; ${SETENV} ${MAKE_ENV} npm install @yao-pkg/pkg@6.6.0 @cd ${WRKSRC} && ${PATCH} -N -s -i ${FILESDIR}/extra-patch-pkg-fetch_lib-es5_build.js || ${TRUE} - @cd ${WRKSRC} && ${PATCH} -N -s -i ${FILESDIR}/extra-patch-pkg-fetch_patches_node.v${NODE_VERSION_PKGFETCH}.cpp.patch || ${TRUE} + @cd ${WRKSRC} && ${PATCH} -N -s -i ${FILESDIR}/extra-patch-pkg-fetch_patches_node.v${PKGFETCH_NODE_VERSION}.cpp.patch || ${TRUE} cd ${WRKSRC}/build_tools/tools/freebsd ; ${SETENV} ${MAKE_ENV} ${PYTHON_CMD} automate.py cd ${WRKSRC}/document-server-package ; ${SETENV} ${MAKE_ENV} ${GMAKE} freebsd 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-common.conf includes/ds-docservice.conf includes/ds-letsencrypt.conf includes/ds-mime.types.conf +.for f in ds.conf ds-ssl.conf includes/http-common.conf includes/ds-common.conf \ + includes/ds-docservice.conf includes/ds-letsencrypt.conf \ + includes/ds-mime.types.conf ${INSTALL_DATA} ${WRKSRC}/document-server-package/common/documentserver/nginx/${f} ${STAGEDIR}${ETCDIR}/documentserver/nginx/${f}.sample .endfor @echo "# Production ds-cache.conf is created automatically by documentserver-flush-cache.sh" > ${STAGEDIR}${ETCDIR}/documentserver/nginx/includes/ds-cache.conf.sample 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 # create missing dir ${MKDIR} ${STAGEDIR}/var/log/onlyoffice/documentserver/docservice \ ${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 ${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 "${NODE_VERSION_PKGFETCH}" | ${EGREP} "built-v|node-v" | ${EGREP} "tar.gz|sha256sum" | ${AWK} -F ':' '{print $$1}' | ${XARGS} ${RM} +# ${FIND} ${WRKDIR}/.cache -type f -perm 755 -exec ${FILE} {} \; | ${EGREP} "ELF|PE32+|Mach-O" | ${AWK} -F ':' '{print $$1}' | ${XARGS} ${RM} + ${FIND} ${WRKDIR}/.pkg-cache -type f -perm 755 -exec ${FILE} {} \; | ${EGREP} "ELF|PE32+|Mach-O" | ${AWK} -F ':' '{print $$1}' | ${XARGS} ${RM} + ${FIND} ${WRKDIR}/.pkg-cache -type f -perm 644 -exec ${FILE} {} \; | ${EGREP} -v "${PKGFETCH_NODE_VERSION}" | ${EGREP} "built-v|node-v" | ${EGREP} "tar.gz|sha256sum" | ${AWK} -F ':' '{print $$1}' | ${XARGS} ${RM} # cd ${WRKDIR} && \ # ${TAR} czf ${PORTNAME}-${DISTVERSION}_`date +%Y%m%d`-npm-cache.tar.gz .npm .pkg-cache .include diff --git a/www/onlyoffice-documentserver/distinfo b/www/onlyoffice-documentserver/distinfo index c9bcfbbcf825..7fd9dbac7c4d 100644 --- a/www/onlyoffice-documentserver/distinfo +++ b/www/onlyoffice-documentserver/distinfo @@ -1,45 +1,47 @@ -TIMESTAMP = 1753116846 +TIMESTAMP = 1756745621 SHA256 (v8-8.9.255.25_all.tar.gz) = 54853ef93accc063a82a0dc29457b25c9b6d88315431d62e06ab1f84797c5f80 SIZE (v8-8.9.255.25_all.tar.gz) = 72818814 SHA256 (node-v20.19.4.tar.gz) = cc363c0a90fe5025939175c1c29ab67235f36ebe4b5d78506634da27a73eef5d SIZE (node-v20.19.4.tar.gz) = 89308973 SHA256 (optipng-0.7.8.tar.gz) = 25a3bd68481f21502ccaa0f4c13f84dcf6b20338e4c4e8c51f2cefbd8513398c SIZE (optipng-0.7.8.tar.gz) = 3294014 -SHA256 (ONLYOFFICE-DocumentServer-v9.0.3.31-v9.0.3_GH0.tar.gz) = 9f12f50e2460b1199c24661d4f88ad349385dcc441740291b9f8e110686ef360 -SIZE (ONLYOFFICE-DocumentServer-v9.0.3.31-v9.0.3_GH0.tar.gz) = 973386 -SHA256 (ONLYOFFICE-core-v9.0.3.31_GH0.tar.gz) = fa6b4b2f729b4dd6d7ac6bf5393fd8ed5a3a821f3f7a376dcff891c81a8a59a4 -SIZE (ONLYOFFICE-core-v9.0.3.31_GH0.tar.gz) = 205214176 -SHA256 (ONLYOFFICE-core-fonts-v9.0.3.31_GH0.tar.gz) = 48fbe7bac524f21b9b146d8242ec9968cdb94b825aae6171cc30a285b5dd7189 -SIZE (ONLYOFFICE-core-fonts-v9.0.3.31_GH0.tar.gz) = 95377304 -SHA256 (ONLYOFFICE-dictionaries-v9.0.3.31_GH0.tar.gz) = c23a98195b429d0a8e2ed06d5119c41a3246f585ccf4d1ba5f74af9327e6dec4 -SIZE (ONLYOFFICE-dictionaries-v9.0.3.31_GH0.tar.gz) = 57973415 -SHA256 (ONLYOFFICE-document-server-integration-v9.0.3.31_GH0.tar.gz) = 2af3f3c324ec434e26649f1fa62fb9f01180b196ba44484d5c2be9b67de602b2 -SIZE (ONLYOFFICE-document-server-integration-v9.0.3.31_GH0.tar.gz) = 6129610 -SHA256 (ONLYOFFICE-document-templates-v9.0.3.31_GH0.tar.gz) = 5e12565edaf35cd44b8263fcf8182dcd18b84bb8a9a45404bf2a48cc75e3e9a6 -SIZE (ONLYOFFICE-document-templates-v9.0.3.31_GH0.tar.gz) = 3914552 -SHA256 (ONLYOFFICE-sdkjs-v9.0.3.31_GH0.tar.gz) = c043f08e86218f8b85d3a9e5d9303fa46376959cbcdd9debf02ea74f55fdf886 -SIZE (ONLYOFFICE-sdkjs-v9.0.3.31_GH0.tar.gz) = 37755295 -SHA256 (ONLYOFFICE-server-v9.0.3.31_GH0.tar.gz) = b398762099b6a0a4006bcfb332de22f09be01a83b25352a9f42cc93ae6429246 -SIZE (ONLYOFFICE-server-v9.0.3.31_GH0.tar.gz) = 4082661 -SHA256 (ONLYOFFICE-web-apps-v9.0.3.31_GH0.tar.gz) = 40bdf74edc25934b1b0339e08813bbf891b4c7ca3e4fdfe1752d787b3df31bec -SIZE (ONLYOFFICE-web-apps-v9.0.3.31_GH0.tar.gz) = 443570310 -SHA256 (ONLYOFFICE-build_tools-v9.0.3.31_GH0.tar.gz) = 04a08acf1317ac14c45efea6af565667a64a3aea873e2e0549f695fc6a4b4374 -SIZE (ONLYOFFICE-build_tools-v9.0.3.31_GH0.tar.gz) = 33872416 +SHA256 (ONLYOFFICE-DocumentServer-v9.0.4_GH0.tar.gz) = 3315ceaa8b2e07359838d6119a48bf917e60faca8a4480129d5609a217e96f7d +SIZE (ONLYOFFICE-DocumentServer-v9.0.4_GH0.tar.gz) = 974618 +SHA256 (ONLYOFFICE-core-v9.0.4.50_GH0.tar.gz) = eef733db5a8a1b9dfef972eff1c067ab28d1bc22151a0873dfc46dfcb897f22c +SIZE (ONLYOFFICE-core-v9.0.4.50_GH0.tar.gz) = 205212964 +SHA256 (ONLYOFFICE-core-fonts-v9.0.4.50_GH0.tar.gz) = cde61fa272da392386d4055e9df27175e20e9b8d2a352b4b878746b2159d1a3d +SIZE (ONLYOFFICE-core-fonts-v9.0.4.50_GH0.tar.gz) = 95376498 +SHA256 (ONLYOFFICE-dictionaries-v9.0.4.50_GH0.tar.gz) = 5d001458ca1632fcddcfc9b521047d5c1de443bd1ca458ed323540c592d8a3c6 +SIZE (ONLYOFFICE-dictionaries-v9.0.4.50_GH0.tar.gz) = 57973408 +SHA256 (ONLYOFFICE-document-server-integration-v9.0.4.50_GH0.tar.gz) = 3d000d2e82fed9d65b3642cfaa080178175e166698e218651f56f591cadb8e14 +SIZE (ONLYOFFICE-document-server-integration-v9.0.4.50_GH0.tar.gz) = 6129159 +SHA256 (ONLYOFFICE-document-templates-v9.0.4.50_GH0.tar.gz) = 958ce54f58f0d8f36149e62ee395e7c68e536a7d7320b02b135325d2c297be49 +SIZE (ONLYOFFICE-document-templates-v9.0.4.50_GH0.tar.gz) = 3914529 +SHA256 (ONLYOFFICE-sdkjs-v9.0.4.50_GH0.tar.gz) = fd620863636d6de8c1c7e8643f1b0fc29f3fb19f5128bc06ad06d97796f35d36 +SIZE (ONLYOFFICE-sdkjs-v9.0.4.50_GH0.tar.gz) = 37960532 +SHA256 (ONLYOFFICE-server-v9.0.4.50_GH0.tar.gz) = 14f392a47a6084c4b57bdcf7811577699f9297a54ac43e1ff99fed7508ffdb20 +SIZE (ONLYOFFICE-server-v9.0.4.50_GH0.tar.gz) = 4213827 +SHA256 (ONLYOFFICE-web-apps-v9.0.4.50_GH0.tar.gz) = 3d4e8a7df920ed8eb283bb03fec9fb0785d0f6a201a9980ad4be1893fa39b6f7 +SIZE (ONLYOFFICE-web-apps-v9.0.4.50_GH0.tar.gz) = 444518582 +SHA256 (ONLYOFFICE-build_tools-v9.0.4.50_GH0.tar.gz) = d52aacc9d97ed5a0b1174150e5b5b708e44d72718d6d43707ff76bf8ab56a375 +SIZE (ONLYOFFICE-build_tools-v9.0.4.50_GH0.tar.gz) = 33885000 SHA256 (ONLYOFFICE-DocumentBuilder-626d1e44db3d06ceb8298215a67ef0475912d89a_GH0.tar.gz) = 275c3a8c993528fa56c69aedb11dd74a6fba9c3bd372874004584ae9cbb190b5 SIZE (ONLYOFFICE-DocumentBuilder-626d1e44db3d06ceb8298215a67ef0475912d89a_GH0.tar.gz) = 31659 SHA256 (ONLYOFFICE-onlyoffice.github.io-b26d001664d771df4f663d2d3ba7dd4a188b6cab_GH0.tar.gz) = 347b8f1d3c21b1f61a3f1fcae86f402b27ce4f8b826e18158834251046d83cf5 SIZE (ONLYOFFICE-onlyoffice.github.io-b26d001664d771df4f663d2d3ba7dd4a188b6cab_GH0.tar.gz) = 17009005 -SHA256 (ONLYOFFICE-document-server-package-v9.0.3.31_GH0.tar.gz) = 301068c8feb5a50aa7c8c882099dfea0cb0f99ea155784e95b3870dd71635c38 -SIZE (ONLYOFFICE-document-server-package-v9.0.3.31_GH0.tar.gz) = 186645 +SHA256 (ONLYOFFICE-document-server-package-v9.0.4.50_GH0.tar.gz) = a94e3a4558afc09ff9e7fab1bb4e334015b0e5e0ff723334b714358f820c684a +SIZE (ONLYOFFICE-document-server-package-v9.0.4.50_GH0.tar.gz) = 186664 SHA256 (jasenhuang-katana-parser-be6df45_GH0.tar.gz) = 363ede45ba6d125fdb7323c43d34acd3d0ae9028ac18aec632eb6a623160f09a SIZE (jasenhuang-katana-parser-be6df45_GH0.tar.gz) = 97712 SHA256 (google-gumbo-parser-aa91b27_GH0.tar.gz) = 1360f85c02fb2573a10f00abcddebc8f1ff277a16f66553439193af93afae335 SIZE (google-gumbo-parser-aa91b27_GH0.tar.gz) = 2119417 +SHA256 (google-brotli-a47d747_GH0.tar.gz) = 695f229d346b006a335d0fe38290af986785d57f3b2a42654e2bc103823f5dd8 +SIZE (google-brotli-a47d747_GH0.tar.gz) = 638096 SHA256 (hunspell-hyphen-73dd296_GH0.tar.gz) = 93e80ad69ee7afd507b12f0b58ca34a6a78347dcbb5fe5d9b6f0e19b02397ef7 SIZE (hunspell-hyphen-73dd296_GH0.tar.gz) = 292528 SHA256 (mity-md4c-481fbfb_GH0.tar.gz) = 04e03a69a2783ab5f2449f8864499dabb150092d5f48415a5e423f762a209d54 SIZE (mity-md4c-481fbfb_GH0.tar.gz) = 238753 SHA256 (fsbruva-onlyoffice-DS-pkg-cache-v20.19.4_GH0.tar.gz) = d3b6a1ad3afdfd53b57809980ae83434ae727d421e9e383ae69c32e37a570918 SIZE (fsbruva-onlyoffice-DS-pkg-cache-v20.19.4_GH0.tar.gz) = 1292 -SHA256 (fsbruva-onlyoffice-DS-npm-cache-v9.0.3.31-20250721_GH0.tar.gz) = 7f3f935337e91c1d1d7f8d2b3e0456dbac15b617581ac064ffd322082c488fb7 -SIZE (fsbruva-onlyoffice-DS-npm-cache-v9.0.3.31-20250721_GH0.tar.gz) = 162622276 +SHA256 (fsbruva-onlyoffice-DS-npm-cache-v9.0.4.50-20250831_GH0.tar.gz) = 3f25ca729d9ec2f58342376f4be9e6d545364495f2dce0fc0dd0bdb0d5f7a6f0 +SIZE (fsbruva-onlyoffice-DS-npm-cache-v9.0.4.50-20250831_GH0.tar.gz) = 163105782 diff --git a/www/onlyoffice-documentserver/files/npm b/www/onlyoffice-documentserver/files/npm index 63b3d2d821f1..303b86ba9102 100644 --- a/www/onlyoffice-documentserver/files/npm +++ b/www/onlyoffice-documentserver/files/npm @@ -1,3 +1,3 @@ #!/bin/sh -exec %%LOCALBASE%%/bin/npm --offline --nodedir=%%LOCALBASE%% "$@" -#exec %%LOCALBASE%%/bin/npm --nodedir=%%LOCALBASE%% "$@" +exec %%LOCALBASE%%/bin/npm --offline "$@" +#exec %%LOCALBASE%%/bin/npm "$@" diff --git a/www/onlyoffice-documentserver/files/patch-build__tools_scripts_build__server.py b/www/onlyoffice-documentserver/files/patch-build__tools_scripts_build__server.py index 74dddee61746..4d6a198f38f6 100644 --- a/www/onlyoffice-documentserver/files/patch-build__tools_scripts_build__server.py +++ b/www/onlyoffice-documentserver/files/patch-build__tools_scripts_build__server.py @@ -1,33 +1,36 @@ --- build_tools/scripts/build_server.py.orig 2025-06-11 12:56:35 UTC +++ build_tools/scripts/build_server.py -@@ -41,6 +41,10 @@ def make(): +@@ -39,8 +39,12 @@ + base.copy_file(custom_public_key, server_dir + '/Common/sources') + #node22 packaging has issue https://github.com/yao-pkg/pkg/issues/87 - pkg_target = "node20" +- pkg_target = "node20" ++ pkg_target = "node%%PKGFETCH_NODE_MAJOR_VERSION%%" + if ("freebsd" == base.host_platform()): + pkg_target += "-freebsd" + 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,14 +53,15 @@ def make(): +@@ -49,14 +53,15 @@ 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 + "/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 + "/DocService", pkgBin, [".", "-t", pkg_target, "--options", "max_old_space_size=4096", "-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"]) + example_dir = base.get_script_dir() + "/../../document-server-integration/web/documentserver-example/nodejs" 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 c1fbe9c44b38..cea340cf686e 100644 --- a/www/onlyoffice-documentserver/files/patch-build__tools_scripts_core__common_make__common.py +++ b/www/onlyoffice-documentserver/files/patch-build__tools_scripts_core__common_make__common.py @@ -1,59 +1,60 @@ ---- build_tools/scripts/core_common/make_common.py.orig 2025-06-11 12:56:35 UTC +--- build_tools/scripts/core_common/make_common.py.orig 2025-08-05 15:06:08 UTC +++ build_tools/scripts/core_common/make_common.py -@@ -8,21 +8,21 @@ import config +@@ -8,22 +8,22 @@ import config import base import glob -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 iwork import md -import hunspell +#import hunspell import glew import harfbuzz + import oo_brotli -import hyphen -import googletest +#import hyphen +#import googletest import libvlc def check_android_ndk_macos_arm(dir): -@@ -38,19 +38,19 @@ def make(): +@@ -39,19 +39,19 @@ def make(): if base.is_dir(toolchain): check_android_ndk_macos_arm(toolchain + "/prebuilt") - boost.make() - cef.make() - icu.make() - openssl.make() +# boost.make() +# cef.make() +# icu.make() +# openssl.make() v8.make() html2.make() iwork.make(False) md.make() - hunspell.make(False) - harfbuzz.make() +# hunspell.make(False) +# harfbuzz.make() glew.make() - hyphen.make() - googletest.make() +# hyphen.make() +# googletest.make() + oo_brotli.make() if config.check_option("build-libvlc", "1"): - libvlc.make() diff --git a/www/onlyoffice-documentserver/files/patch-build__tools_scripts_core__common_modules_iwork.py b/www/onlyoffice-documentserver/files/patch-build__tools_scripts_core__common_modules_iwork.py index fc7d27d3fabf..74b86c964128 100644 --- a/www/onlyoffice-documentserver/files/patch-build__tools_scripts_core__common_modules_iwork.py +++ b/www/onlyoffice-documentserver/files/patch-build__tools_scripts_core__common_modules_iwork.py @@ -1,15 +1,15 @@ ---- build_tools/scripts/core_common/modules/iwork.py.orig 2025-03-08 16:01:52.467009000 +0100 -+++ build_tools/scripts/core_common/modules/iwork.py 2025-03-08 16:19:57.046228000 +0100 +--- build_tools/scripts/core_common/modules/iwork.py.orig 2025-08-05 15:06:08 UTC ++++ build_tools/scripts/core_common/modules/iwork.py @@ -30,9 +30,9 @@ def make(use_gperf = True): if use_gperf: cmd_args.append("--gperf") - base.cmd_in_dir(base_dir, "python", cmd_args) +# base.cmd_in_dir(base_dir, "python", cmd_args) return if __name__ == '__main__': # manual compile - make(False) \ No newline at end of file + make(False) diff --git a/www/onlyoffice-documentserver/files/patch-build__tools_scripts_core__common_modules_v8.py b/www/onlyoffice-documentserver/files/patch-build__tools_scripts_core__common_modules_v8.py index b2204a037714..2b9632e8092f 100644 --- a/www/onlyoffice-documentserver/files/patch-build__tools_scripts_core__common_modules_v8.py +++ b/www/onlyoffice-documentserver/files/patch-build__tools_scripts_core__common_modules_v8.py @@ -1,75 +1,75 @@ ---- build_tools/scripts/core_common/modules/v8.py.orig 2024-02-07 10:44:24.000000000 +0100 -+++ build_tools/scripts/core_common/modules/v8.py 2024-03-01 10:40:07.626578000 +0100 -@@ -9,6 +9,7 @@ def clean(): +--- build_tools/scripts/core_common/modules/v8.py.orig 2025-08-05 15:06:08 UTC ++++ build_tools/scripts/core_common/modules/v8.py +@@ -9,6 +9,7 @@ import subprocess import v8_89 def clean(): + return if base.is_dir("depot_tools"): - base.delete_dir_with_access_error("depot_tools"); + base.delete_dir_with_access_error("depot_tools") base.delete_dir("depot_tools") -@@ -26,6 +27,8 @@ def is_main_platform(): +@@ -26,6 +27,8 @@ def clean(): def is_main_platform(): if (config.check_option("platform", "win_64") or config.check_option("platform", "win_32")): return True + if config.check_option("platform", "freebsd_64"): + return True if (config.check_option("platform", "linux_64") or config.check_option("platform", "linux_32") or config.check_option("platform", "linux_arm64")): return True if config.check_option("platform", "mac_64"): @@ -86,24 +89,9 @@ def make(): base.set_env("DEPOT_TOOLS_WIN_TOOLCHAIN", "0") base.set_env("GYP_MSVS_VERSION", "2015") - base.common_check_version("v8", "1", clean) - if not base.is_dir("v8/out.gn"): clean() - if not base.is_dir("depot_tools"): - base.cmd("git", ["clone", "https://chromium.googlesource.com/chromium/tools/depot_tools.git"]) - v8_89.change_bootstrap() - if ("windows" == base.host_platform()): - # hack for 32 bit system!!! - if base.is_file("depot_tools/cipd.ps1"): - base.replaceInFile("depot_tools/cipd.ps1", "windows-386", "windows-amd64") - - os.environ["PATH"] = base_dir + "/depot_tools" + os.pathsep + os.environ["PATH"] - - if not base.is_dir("v8/out.gn"): - base.cmd("gclient") - # -------------------------------------------------------------------------- # fetch if not base.is_dir("v8"): @@ -121,8 +109,8 @@ def make(): base.delete_dir_with_access_error("v8/buildtools/win") - base.cmd("git", ["config", "--system", "core.longpaths", "true"]) + base.cmd("git", ["config", "--system", "core.longpaths", "true"], True) base.cmd("gclient", ["sync", "--force"], True) - else: - base.cmd("gclient", ["sync"], True) +# else: +# base.cmd("gclient", ["sync"], True) # normal version !!! #base.cmd("gclient", ["sync"], True) @@ -134,7 +122,7 @@ def make(): if base.is_dir("v8/third_party/binutils/Linux_ia32/Release"): base.delete_dir("v8/third_party/binutils/Linux_ia32/Release") - base.cmd("gclient", ["sync", "--no-history"]) +# base.cmd("gclient", ["sync", "--no-history"]) if base.is_dir("v8/third_party/binutils/Linux_x64/Release/bin"): for file in os.listdir("v8/third_party/binutils/Linux_x64/Release/bin"): @@ -167,6 +155,10 @@ def make(): base_args64 = "target_cpu=\\\"x64\\\" v8_target_cpu=\\\"x64\\\" v8_static_library=true is_component_build=false v8_use_snapshot=false" base_args32 = "target_cpu=\\\"x86\\\" v8_target_cpu=\\\"x86\\\" v8_static_library=true is_component_build=false v8_use_snapshot=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"): base.cmd2("gn", ["gen", "out.gn/linux_64", "--args=\"is_debug=false " + base_args64 + " is_clang=" + is_use_clang() + " use_sysroot=false treat_warnings_as_errors=false\""]) diff --git a/www/onlyoffice-documentserver/files/patch-build__tools_scripts_core__common_modules_v8__89.py b/www/onlyoffice-documentserver/files/patch-build__tools_scripts_core__common_modules_v8__89.py index 187eb0d78e41..23d05d781124 100644 --- a/www/onlyoffice-documentserver/files/patch-build__tools_scripts_core__common_modules_v8__89.py +++ b/www/onlyoffice-documentserver/files/patch-build__tools_scripts_core__common_modules_v8__89.py @@ -1,61 +1,61 @@ ---- build_tools/scripts/core_common/modules/v8_89.py.orig 2024-02-07 10:44:24.000000000 +0100 -+++ build_tools/scripts/core_common/modules/v8_89.py 2024-03-01 10:42:06.847661000 +0100 -@@ -115,46 +115,7 @@ def make(): +--- build_tools/scripts/core_common/modules/v8_89.py.orig 2025-08-05 15:06:08 UTC ++++ build_tools/scripts/core_common/modules/v8_89.py +@@ -123,46 +123,7 @@ def make(): base.cmd("git", ["config", "--global", "http.postBuffer", "157286400"], True) os.chdir(base_dir) - 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 ("windows" == base.host_platform()): - base.replaceInFile("v8/build/config/win/BUILD.gn", ":static_crt", ":dynamic_crt") - 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") - 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", -@@ -163,6 +124,11 @@ def make(): +@@ -170,6 +131,11 @@ def make(): + "v8_monolithic=true", "v8_use_external_startup_data=false", - "use_custom_libcxx=false", "treat_warnings_as_errors=false"] + + if config.check_option("platform", "freebsd_64"): + 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"): base.cmd2("gn", ["gen", "out.gn/linux_64", make_args(gn_args, "linux")]) diff --git a/www/onlyoffice-documentserver/files/patch-clang19 b/www/onlyoffice-documentserver/files/patch-clang19 index a17acc4bf5f9..b095611d738d 100644 --- a/www/onlyoffice-documentserver/files/patch-clang19 +++ b/www/onlyoffice-documentserver/files/patch-clang19 @@ -1,182 +1,172 @@ commit 182d9c05e78b1ddb1cb8242cd3628a7855a0336f Author: Andrey Kosyakov Date: 2023-08-17T13:50:11-07:00 Define UChar as char16_t We used to have UChar defined as uint16_t which does not go along with STL these days if you try to have an std::basic_string<> of it, as there are no standard std::char_traits<> specialization for uint16_t. This switches UChar to char16_t where practical, introducing a few compatibility shims to keep CL size small, as (1) this would likely have to be back-ported and (2) crdtp extensively uses uint16_t for wide chars. Bug: b:296390693 Change-Id: I66a32d8f0050915225b187de56896c26dd76163d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4789966 Reviewed-by: Jaroslav Sevcik Commit-Queue: Jaroslav Sevcik Auto-Submit: Andrey Kosyakov Cr-Commit-Position: refs/heads/main@{#89559} -diff --git deps/v8/src/inspector/string-16.cc deps/v8/src/inspector/string-16.cc -index a8b786a8166..6df9963e970 100644 ---- core/Common/3dParty/v8_89/v8/src/inspector/string-16.cc +--- core/Common/3dParty/v8_89/v8/src/inspector/string-16.cc.orig 2021-04-12 21:00:33 UTC +++ core/Common/3dParty/v8_89/v8/src/inspector/string-16.cc @@ -27,7 +27,7 @@ bool isSpaceOrNewLine(UChar c) { return isASCII(c) && c <= ' ' && (c == ' ' || (c <= 0xD && c >= 0x9)); } -int64_t charactersToInteger(const UChar* characters, size_t length, +int64_t charactersToInteger(const uint16_t* characters, size_t length, bool* ok = nullptr) { std::vector buffer; buffer.reserve(length + 1); -@@ -50,6 +50,8 @@ int64_t charactersToInteger(const UChar* characters, size_t length, +@@ -50,6 +50,8 @@ int64_t charactersToInteger(const UChar* characters, s String16::String16(const UChar* characters, size_t size) : m_impl(characters, size) {} +String16::String16(const uint16_t* characters, size_t size) + : m_impl(reinterpret_cast(characters), size) {} String16::String16(const UChar* characters) : m_impl(characters) {} -@@ -241,6 +243,10 @@ String16 String16::fromUTF16LE(const UChar* stringStart, size_t length) { +@@ -231,6 +233,10 @@ String16 String16::fromUTF16LE(const UChar* stringStar + // No need to do anything on little endian machines. + return String16(stringStart, length); #endif // V8_TARGET_BIG_ENDIAN - } - -+String16 String16::fromUTF16LE(const uint16_t* stringStart, size_t length) { -+ return fromUTF16LE(reinterpret_cast(stringStart), length); +} + - std::string String16::utf8() const { - return UTF16ToUTF8(m_impl.data(), m_impl.size()); ++String16 String16::fromUTF16LE(const uint16_t* stringStart, size_t length) { ++ return fromUTF16LE(reinterpret_cast(stringStart), length); } - -diff --git deps/v8/src/inspector/string-16.h deps/v8/src/inspector/string-16.h -index 1678ffb2e1e..d9f6c466ab1 100644 ---- core/Common/3dParty/v8_89/v8/src/inspector/string-16.h + + std::string String16::utf8() const { +--- core/Common/3dParty/v8_89/v8/src/inspector/string-16.h.orig 2021-04-12 21:00:33 UTC +++ core/Common/3dParty/v8_89/v8/src/inspector/string-16.h @@ -6,6 +6,7 @@ #define V8_INSPECTOR_STRING_16_H_ #include +#include #include #include #include -@@ -17,7 +18,7 @@ namespace v8_inspector { +@@ -17,7 +18,7 @@ namespace v8_inspector { -using UChar = uint16_t; +using UChar = char16_t; class String16 { public: @@ -27,6 +28,7 @@ class String16 { String16(const String16&) V8_NOEXCEPT = default; String16(String16&&) V8_NOEXCEPT = default; String16(const UChar* characters, size_t size); + String16(const uint16_t* characters, size_t size); V8_EXPORT String16(const UChar* characters); // NOLINT(runtime/explicit) V8_EXPORT String16(const char* characters); // NOLINT(runtime/explicit) String16(const char* characters, size_t size); @@ -47,7 +49,9 @@ class String16 { uint64_t toUInt64(bool* ok = nullptr) const; int toInteger(bool* ok = nullptr) const; String16 stripWhiteSpace() const; - const UChar* characters16() const { return m_impl.c_str(); } + const uint16_t* characters16() const { + return reinterpret_cast(m_impl.c_str()); + } size_t length() const { return m_impl.length(); } bool isEmpty() const { return !m_impl.length(); } UChar operator[](size_t index) const { return m_impl[index]; } @@ -76,6 +80,8 @@ class String16 { // Instantiates a String16 in native endianness from UTF16 LE. // On Big endian architectures, byte order needs to be flipped. V8_EXPORT static String16 fromUTF16LE(const UChar* stringStart, + size_t length); + V8_EXPORT static String16 fromUTF16LE(const uint16_t* stringStart, size_t length); std::size_t hash() const { - -diff --git deps/v8/src/inspector/v8-string-conversions.cc deps/v8/src/inspector/v8-string-conversions.cc -index 0c75e66b972..8cf19be816c 100644 ---- core/Common/3dParty/v8_89/v8/src/inspector/v8-string-conversions.cc +--- core/Common/3dParty/v8_89/v8/src/inspector/v8-string-conversions.cc.orig 2021-04-12 21:00:33 UTC +++ core/Common/3dParty/v8_89/v8/src/inspector/v8-string-conversions.cc @@ -12,7 +12,7 @@ namespace v8_inspector { namespace { -using UChar = uint16_t; +using UChar = char16_t; using UChar32 = uint32_t; bool isASCII(UChar c) { return !(c & ~0x7F); } -@@ -386,7 +386,7 @@ std::string UTF16ToUTF8(const UChar* stringStart, size_t length) { +@@ -389,7 +389,7 @@ std::string UTF16ToUTF8(const UChar* stringStart, size std::basic_string UTF8ToUTF16(const char* stringStart, size_t length) { if (!stringStart || !length) return std::basic_string(); - std::vector buffer(length); + std::vector buffer(length); UChar* bufferStart = buffer.data(); UChar* bufferCurrent = bufferStart; -@@ -395,7 +395,7 @@ std::basic_string UTF8ToUTF16(const char* stringStart, size_t length) { +@@ -398,7 +398,7 @@ std::basic_string UTF8ToUTF16(const char* strin reinterpret_cast(stringStart + length), &bufferCurrent, bufferCurrent + buffer.size(), nullptr, true) != conversionOK) - return std::basic_string(); + return std::basic_string(); size_t utf16Length = bufferCurrent - bufferStart; return std::basic_string(bufferStart, bufferStart + utf16Length); } -diff --git deps/v8/src/inspector/v8-string-conversions.h deps/v8/src/inspector/v8-string-conversions.h -index eb33c6816a5..1126255dac2 100644 ---- core/Common/3dParty/v8_89/v8/src/inspector/v8-string-conversions.h +--- core/Common/3dParty/v8_89/v8/src/inspector/v8-string-conversions.h.orig 2021-04-12 21:00:33 UTC +++ core/Common/3dParty/v8_89/v8/src/inspector/v8-string-conversions.h @@ -5,13 +5,15 @@ #ifndef V8_INSPECTOR_V8_STRING_CONVERSIONS_H_ #define V8_INSPECTOR_V8_STRING_CONVERSIONS_H_ +#include #include // Conversion routines between UT8 and UTF16, used by string-16.{h,cc}. You may // want to use string-16.h directly rather than these. namespace v8_inspector { -std::basic_string UTF8ToUTF16(const char* stringStart, size_t length); -std::string UTF16ToUTF8(const uint16_t* stringStart, size_t length); +std::basic_string UTF8ToUTF16(const char* stringStart, size_t length); +std::string UTF16ToUTF8(const char16_t* stringStart, size_t length); + } // namespace v8_inspector #endif // V8_INSPECTOR_V8_STRING_CONVERSIONS_H_ ---- core/Common/3dParty/v8_89/v8/third_party/inspector_protocol/crdtp/test_platform_v8.cc +--- core/Common/3dParty/v8_89/v8/third_party/inspector_protocol/crdtp/test_platform_v8.cc.orig 2021-04-12 21:00:33 UTC +++ core/Common/3dParty/v8_89/v8/third_party/inspector_protocol/crdtp/test_platform_v8.cc @@ -11,13 +11,16 @@ namespace v8_crdtp { std::string UTF16ToUTF8(span in) { - return v8_inspector::UTF16ToUTF8(in.data(), in.size()); + return v8_inspector::UTF16ToUTF8(reinterpret_cast(in.data()), + in.size()); } std::vector UTF8ToUTF16(span in) { - std::basic_string utf16 = v8_inspector::UTF8ToUTF16( + std::basic_string utf16 = v8_inspector::UTF8ToUTF16( reinterpret_cast(in.data()), in.size()); - return std::vector(utf16.begin(), utf16.end()); + return std::vector( + reinterpret_cast(utf16.data()), + reinterpret_cast(utf16.data()) + utf16.size()); } } // namespace v8_crdtp diff --git a/www/onlyoffice-documentserver/files/patch-core_Apple_IWork.cpp b/www/onlyoffice-documentserver/files/patch-core_Apple_IWork.cpp index 3ee3b46a22d5..1ff708a7590b 100644 --- a/www/onlyoffice-documentserver/files/patch-core_Apple_IWork.cpp +++ b/www/onlyoffice-documentserver/files/patch-core_Apple_IWork.cpp @@ -1,12 +1,12 @@ ---- core/Apple/IWork.cpp.orig 2025-03-08 16:26:16.590289000 +0100 -+++ core/Apple/IWork.cpp 2025-03-08 16:45:14.932729000 +0100 +--- core/Apple/IWork.cpp.orig 2025-08-02 18:33:34 UTC ++++ core/Apple/IWork.cpp @@ -6,7 +6,8 @@ #include #include #include -#include +//#include +#include "StringDocumentHandler.hxx" #include #include diff --git a/www/onlyoffice-documentserver/files/patch-core_Apple_IWork.pro b/www/onlyoffice-documentserver/files/patch-core_Apple_IWork.pro index 49dbd6d80585..ae16f66a185b 100644 --- a/www/onlyoffice-documentserver/files/patch-core_Apple_IWork.pro +++ b/www/onlyoffice-documentserver/files/patch-core_Apple_IWork.pro @@ -1,28 +1,28 @@ ---- core/Apple/IWork.pro.orig 2025-03-08 16:31:03.447633000 +0100 -+++ core/Apple/IWork.pro 2025-03-08 17:07:58.170674000 +0100 -@@ -10,6 +10,14 @@ DEFINES += IWORK_USE_DYNAMIC_LIBRARY +--- core/Apple/IWork.pro.orig 2025-08-02 18:33:34 UTC ++++ core/Apple/IWork.pro +@@ -10,6 +10,14 @@ CONFIG += plugin DEFINES += IWORK_USE_DYNAMIC_LIBRARY +INCLUDEPATH += %%LOCALBASE%%/include/librevenge-0.0 +INCLUDEPATH += %%LOCALBASE%%/include/libetonyek-0.1 +INCLUDEPATH += %%LOCALBASE%%/include/libodfgen-0.1 + +LIBS += %%LOCALBASE%%/lib/librevenge-0.0.so +LIBS += %%LOCALBASE%%/lib/libetonyek-0.1.so +LIBS += %%LOCALBASE%%/lib/libodfgen-0.1.so + CORE_ROOT_DIR = $$PWD/.. PWD_ROOT_DIR = $$PWD include($$CORE_ROOT_DIR/Common/base.pri) -@@ -38,8 +46,8 @@ include($$CORE_ROOT_DIR/Common/3dParty/apple/apple.pri +@@ -38,8 +46,8 @@ include($$PWD/../DesktopEditor/xml/build/qt/libxml2.pr include($$CORE_ROOT_DIR/Common/3dParty/apple/apple.pri) # TEST -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_Apple_StringDocumentHandler.hxx b/www/onlyoffice-documentserver/files/patch-core_Apple_StringDocumentHandler.hxx index 0d72b10783f3..47c1e5bbbbd7 100644 --- a/www/onlyoffice-documentserver/files/patch-core_Apple_StringDocumentHandler.hxx +++ b/www/onlyoffice-documentserver/files/patch-core_Apple_StringDocumentHandler.hxx @@ -1,157 +1,157 @@ ---- core/Apple/StringDocumentHandler.hxx.orig 2025-07-21 00:30:34.163412000 +0000 -+++ core/Apple/StringDocumentHandler.hxx 2025-07-21 03:02:42.802399000 +0000 +--- core/Apple/StringDocumentHandler.hxx.orig 2025-08-08 19:00:43 UTC ++++ core/Apple/StringDocumentHandler.hxx @@ -0,0 +1,154 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */ +/* writerperfect + * Version: MPL 2.0 / LGPLv2.1+ + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * Major Contributor(s): + * Copyright (C) 2002-2004 William Lachance (wrlach@gmail.com) + * Copyright (C) 2004-2006 Fridrich Strba (fridrich.strba@bluewin.ch) + * + * For minor contributions see the git repository. + * + * Alternatively, the contents of this file may be used under the terms + * of the GNU Lesser General Public License Version 2.1 or later + * (LGPLv2.1+), in which case the provisions of the LGPLv2.1+ are + * applicable instead of those above. + * + * For further information visit http://libwpd.sourceforge.net + */ + +#ifndef _STRING_DOCUMENT_HANDLER_H +#define _STRING_DOCUMENT_HANDLER_H + +#include + +class StringDocumentHandler final : public OdfDocumentHandler +{ +public: + StringDocumentHandler(); + + char const *cstr() const + { + return m_data.cstr(); + } + + void startDocument() final {} + void endDocument() final; + void startElement(const char *psName, const librevenge::RVNGPropertyList &xPropList) final; + void endElement(const char *psName) final; + void characters(const librevenge::RVNGString &sCharacters) final; +private: +private: + librevenge::RVNGString m_data; + bool m_isTagOpened; + librevenge::RVNGString m_openedTagName; +}; +#endif + +/* vim:set shiftwidth=4 softtabstop=4 noexpandtab: */ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */ +/* writerperfect + * Version: MPL 2.0 / LGPLv2.1+ + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * Major Contributor(s): + * Copyright (C) 2002-2004 William Lachance (wrlach@gmail.com) + * Copyright (C) 2004-2006 Fridrich Strba (fridrich.strba@bluewin.ch) + * + * For minor contributions see the git repository. + * + * Alternatively, the contents of this file may be used under the terms + * of the GNU Lesser General Public License Version 2.1 or later + * (LGPLv2.1+), in which case the provisions of the LGPLv2.1+ are + * applicable instead of those above. + * + * For further information visit http://libwpd.sourceforge.net + */ + +#include + + +StringDocumentHandler::StringDocumentHandler() : m_data(""), m_isTagOpened(false), m_openedTagName("") +{ + m_data.append("\n"); +} + +void StringDocumentHandler::endDocument() +{ + if (!m_isTagOpened) return; + m_data.append(">"); + m_isTagOpened = false; +} + +void StringDocumentHandler::startElement(const char *psName, const librevenge::RVNGPropertyList &xPropList) +{ + if (m_isTagOpened) + { + m_data.append(">"); + m_isTagOpened = false; + } + m_data.append("<"); + m_data.append(psName); + librevenge::RVNGPropertyList::Iter i(xPropList); + for (i.rewind(); i.next();) + { + // filter out librevenge elements + if (!strncmp(i.key(), "librevenge:", 11)) continue; + + m_data.append(" "); + m_data.append(i.key()); + m_data.append("=\""); + if (i()->getStr().len()>0) + m_data.append(i()->getStr().cstr()); + m_data.append("\""); + } + m_isTagOpened = true; + m_openedTagName.sprintf("%s", psName); +} +void StringDocumentHandler::endElement(const char *psName) +{ + if (m_isTagOpened) + { + if (m_openedTagName == psName) + { + m_data.append("/>"); + m_isTagOpened = false; + } + else // should not happen, but handle it + { + m_data.append(">"); + m_data.append(""); + m_isTagOpened = false; + } + } + else + { + m_data.append(""); + m_isTagOpened = false; + } +} + +void StringDocumentHandler::characters(const librevenge::RVNGString &sCharacters) +{ + if (m_isTagOpened) + { + m_data.append(">"); + m_isTagOpened = false; + } + librevenge::RVNGString sEscapedCharacters; + sEscapedCharacters.appendEscapedXML(sCharacters); + if (sEscapedCharacters.len() > 0) + m_data.append(sEscapedCharacters.cstr()); +} + +/* vim:set shiftwidth=4 softtabstop=4 noexpandtab: */ diff --git a/www/onlyoffice-documentserver/files/patch-core_Common_3dParty_brotli_make.py b/www/onlyoffice-documentserver/files/patch-core_Common_3dParty_brotli_make.py new file mode 100644 index 000000000000..5313593d9366 --- /dev/null +++ b/www/onlyoffice-documentserver/files/patch-core_Common_3dParty_brotli_make.py @@ -0,0 +1,11 @@ +--- core/Common/3dParty/brotli/make.py.orig 2025-08-02 18:33:34 UTC ++++ core/Common/3dParty/brotli/make.py +@@ -10,7 +10,7 @@ def clear_module(): + base.delete_dir_with_access_error("brotli") + return + +-base.check_module_version("1", clear_module) ++#base.check_module_version("1", clear_module) + + # fetch harfbuzz + if not base.is_dir("brotli"): diff --git a/www/onlyoffice-documentserver/files/patch-core_Common_3dParty_openssl_openssl.pri b/www/onlyoffice-documentserver/files/patch-core_Common_3dParty_openssl_openssl.pri index dc322326cf8e..bdd57c356f17 100644 --- a/www/onlyoffice-documentserver/files/patch-core_Common_3dParty_openssl_openssl.pri +++ b/www/onlyoffice-documentserver/files/patch-core_Common_3dParty_openssl_openssl.pri @@ -1,13 +1,13 @@ ---- core/Common/3dParty/openssl/openssl.pri.orig 2023-06-14 14:31:26.960051000 +0200 -+++ core/Common/3dParty/openssl/openssl.pri 2023-06-14 14:31:00.960232000 +0200 +--- core/Common/3dParty/openssl/openssl.pri.orig 2025-08-02 18:33:34 UTC ++++ core/Common/3dParty/openssl/openssl.pri @@ -32,8 +32,8 @@ core_windows { LIBS += $$OPENSSL_LIBS_DIRECTORY/libssl.lib LIBS += $$OPENSSL_LIBS_DIRECTORY/libcrypto.lib } else { - LIBS += $$OPENSSL_LIBS_DIRECTORY/libssl.a - LIBS += $$OPENSSL_LIBS_DIRECTORY/libcrypto.a + LIBS += %%LOCALBASE%%/lib/libssl.a + LIBS += %%LOCALBASE%%/lib/libcrypto.a } INCLUDEPATH += $$OPENSSL_LIBS_DIRECTORY/../include diff --git a/www/onlyoffice-documentserver/files/patch-core_Common_3dParty_v8__89_v8_build_config_clang_BUILD.gn b/www/onlyoffice-documentserver/files/patch-core_Common_3dParty_v8__89_v8_build_config_clang_BUILD.gn index 179516c183f5..c58ca9dcf1f7 100644 --- a/www/onlyoffice-documentserver/files/patch-core_Common_3dParty_v8__89_v8_build_config_clang_BUILD.gn +++ b/www/onlyoffice-documentserver/files/patch-core_Common_3dParty_v8__89_v8_build_config_clang_BUILD.gn @@ -1,11 +1,11 @@ Fix build with llvm16 ---- core/Common/3dParty/v8_89/v8/build/config/clang/BUILD.gn.orig 2023-07-17 10:46:22.246271000 +0200 -+++ core/Common/3dParty/v8_89/v8/build/config/clang/BUILD.gn 2023-07-17 10:46:59.136940000 +0200 +--- core/Common/3dParty/v8_89/v8/build/config/clang/BUILD.gn.orig 2022-05-13 11:39:36 UTC ++++ core/Common/3dParty/v8_89/v8/build/config/clang/BUILD.gn @@ -38,5 +38,6 @@ config("extra_warnings") { "-Wstring-conversion", "-Wtautological-overlap-compare", + "-Wno-error=enum-constexpr-conversion", ] } diff --git a/www/onlyoffice-documentserver/files/patch-core_Common_3dParty_v8_v8_src_base_macros.h b/www/onlyoffice-documentserver/files/patch-core_Common_3dParty_v8_v8_src_base_macros.h index 156b89cc28f9..2a60db707302 100644 --- a/www/onlyoffice-documentserver/files/patch-core_Common_3dParty_v8_v8_src_base_macros.h +++ b/www/onlyoffice-documentserver/files/patch-core_Common_3dParty_v8_v8_src_base_macros.h @@ -1,12 +1,12 @@ ---- core/Common/3dParty/v8_89/v8/src/base/macros.h.orig 2021-04-12 21:00:33.000000000 +0000 -+++ core/Common/3dParty/v8_89/v8/src/base/macros.h 2025-06-20 09:42:18.838769000 +0000 +--- core/Common/3dParty/v8_89/v8/src/base/macros.h.orig 2021-04-12 21:00:33 UTC ++++ core/Common/3dParty/v8_89/v8/src/base/macros.h @@ -203,7 +203,8 @@ // base::is_trivially_copyable will differ for these cases. template struct is_trivially_copyable { -#if V8_CC_MSVC +#if V8_CC_MSVC || (__GNUC__ == 12 && __GNUC_MINOR__ <= 2) || \ + (defined(__clang__) && __clang_major__ <= 17) // Unfortunately, MSVC 2015 is broken in that std::is_trivially_copyable can // be false even though it should be true according to the standard. // (status at 2018-02-26, observed on the msvc waterfall bot). diff --git a/www/onlyoffice-documentserver/files/patch-core_Common_3dParty_v8_v8_testing_gmock_BUILD.gn b/www/onlyoffice-documentserver/files/patch-core_Common_3dParty_v8_v8_testing_gmock_BUILD.gn index 6cc129f1398e..121d7547862b 100644 --- a/www/onlyoffice-documentserver/files/patch-core_Common_3dParty_v8_v8_testing_gmock_BUILD.gn +++ b/www/onlyoffice-documentserver/files/patch-core_Common_3dParty_v8_v8_testing_gmock_BUILD.gn @@ -1,22 +1,22 @@ ---- core/Common/3dParty/v8_89/v8/testing/gmock/BUILD.gn.orig 2022-05-13 18:53:22.198863000 +0200 -+++ core/Common/3dParty/v8_89/v8/testing/gmock/BUILD.gn 2022-05-13 18:53:05.169357000 +0200 +--- core/Common/3dParty/v8_89/v8/testing/gmock/BUILD.gn.orig 2022-05-13 20:53:22 UTC ++++ core/Common/3dParty/v8_89/v8/testing/gmock/BUILD.gn @@ -15,12 +15,13 @@ source_set("gmock") { "include/gmock/gmock-matchers.h", "include/gmock/gmock.h", ] - deps = [ "//third_party/googletest:gmock" ] - - public_configs = [ - "//third_party/googletest:gmock_config", - "//third_party/googletest:gtest_config", - ] +# deps = [ "//third_party/googletest:gmock" ] +# +# public_configs = [ +# "//third_party/googletest:gmock_config", +# "//third_party/googletest:gtest_config", +# ] +public_deps = [ "//third_party/googletest:gmock" ] } # The file/directory layout of Google Test is not yet considered stable. Until diff --git a/www/onlyoffice-documentserver/files/patch-core_DesktopEditor_common_Directory.cpp b/www/onlyoffice-documentserver/files/patch-core_DesktopEditor_common_Directory.cpp index 8677840d1541..b227bfc3e1fa 100644 --- a/www/onlyoffice-documentserver/files/patch-core_DesktopEditor_common_Directory.cpp +++ b/www/onlyoffice-documentserver/files/patch-core_DesktopEditor_common_Directory.cpp @@ -1,64 +1,56 @@ --- core/DesktopEditor/common/Directory.cpp.orig 2021-09-30 12:13:32 UTC +++ core/DesktopEditor/common/Directory.cpp @@ -35,7 +35,7 @@ #include "windef.h" #include #include -#elif __linux__ +#elif defined(__linux__) || defined(__FreeBSD__) #include #include #include @@ -120,7 +120,7 @@ namespace NSDirectory FindClose( hRes ); #endif -#ifdef __linux__ +#if defined(__linux__) || defined(__FreeBSD__) BYTE* pUtf8 = NULL; LONG lLen = 0; NSFile::CUtf8Converter::GetUtf8StringFromUnicode(strDirectory.c_str(), strDirectory.length(), pUtf8, lLen, false); @@ -235,7 +235,7 @@ namespace NSDirectory } } while( FindNextFileW( hRes, &oFD ) ); FindClose( hRes ); -#elif __linux__ +#elif defined(__linux__) || defined(__FreeBSD__) BYTE* pUtf8 = NULL; LONG lLen = 0; NSFile::CUtf8Converter::GetUtf8StringFromUnicode(strDirectory.c_str(), strDirectory.length(), pUtf8, lLen, false); @@ -299,7 +299,7 @@ namespace NSDirectory #if defined(_WIN32) || defined (_WIN64) DWORD dwAttrib = ::GetFileAttributesW(strDirectory.c_str()); return (dwAttrib != INVALID_FILE_ATTRIBUTES && 0 != (dwAttrib & FILE_ATTRIBUTE_DIRECTORY)); -#elif __linux__ +#elif defined(__linux__) || defined(__FreeBSD__) BYTE* pUtf8 = NULL; LONG lLen = 0; NSFile::CUtf8Converter::GetUtf8StringFromUnicode(strDirectory.c_str(), strDirectory.length(), pUtf8, lLen, false); @@ -398,7 +398,7 @@ namespace NSDirectory return true; #endif -#ifdef __linux__ +#if defined(__linux__) || defined(__FreeBSD__) BYTE* pUtf8 = NULL; LONG lLen = 0; NSFile::CUtf8Converter::GetUtf8StringFromUnicode(strSrc.c_str(), strSrc.length(), pUtf8, lLen, false); -@@ -495,14 +495,14 @@ namespace NSDirectory +@@ -495,7 +495,7 @@ namespace NSDirectory } #if defined(_WIN32) || defined (_WIN64) if (deleteRoot) RemoveDirectoryW(strDirectory.c_str()); -#elif __linux__ +#elif defined(__linux__) || defined(__FreeBSD__) BYTE* pUtf8 = NULL; LONG lLen = 0; NSFile::CUtf8Converter::GetUtf8StringFromUnicode(strDirectory.c_str(), strDirectory.length(), pUtf8, lLen, false); - rmdir((char*)pUtf8); - delete [] pUtf8; - -- if (deleteRoot = false)CreateDirectory(strDirectory); -+ if (deleteRoot == false)CreateDirectory(strDirectory); - #elif MAC - BYTE* pUtf8 = NULL; - LONG lLen = 0; diff --git a/www/onlyoffice-documentserver/files/patch-core_DesktopEditor_doctrenderer_doctrenderer.pri b/www/onlyoffice-documentserver/files/patch-core_DesktopEditor_doctrenderer_doctrenderer.pri index fff991f7c095..a04a6f66f14c 100644 --- a/www/onlyoffice-documentserver/files/patch-core_DesktopEditor_doctrenderer_doctrenderer.pri +++ b/www/onlyoffice-documentserver/files/patch-core_DesktopEditor_doctrenderer_doctrenderer.pri @@ -1,13 +1,13 @@ ---- ./core/DesktopEditor/doctrenderer/doctrenderer.pri.orig 2025-03-07 15:39:12.468049000 +0100 -+++ ./core/DesktopEditor/doctrenderer/doctrenderer.pri 2025-03-07 15:38:54.771039000 +0100 -@@ -22,6 +22,10 @@ core_android:DEFINES += DISABLE_MEMORY_LIMITATION +--- core/DesktopEditor/doctrenderer/doctrenderer.pri.orig 2025-08-02 18:33:34 UTC ++++ core/DesktopEditor/doctrenderer/doctrenderer.pri +@@ -22,6 +22,10 @@ ADD_DEPENDENCY(graphics, kernel, UnicodeConverter, ker #CONFIG += v8_version_60 core_android:DEFINES += DISABLE_MEMORY_LIMITATION +core_freebsd { + LIBS += -lexecinfo +} + HEADERS += \ $$PWD_CUR/config.h \ $$PWD_CUR/editors.h \ diff --git a/www/onlyoffice-documentserver/files/patch-core_DesktopEditor_doctrenderer_hash.cpp b/www/onlyoffice-documentserver/files/patch-core_DesktopEditor_doctrenderer_hash.cpp index c0d1ba12e105..c3be6a05a0db 100644 --- a/www/onlyoffice-documentserver/files/patch-core_DesktopEditor_doctrenderer_hash.cpp +++ b/www/onlyoffice-documentserver/files/patch-core_DesktopEditor_doctrenderer_hash.cpp @@ -1,67 +1,67 @@ ---- core/DesktopEditor/doctrenderer/hash.cpp.orig 2023-06-14 12:14:26.656325000 +0200 -+++ core/DesktopEditor/doctrenderer/hash.cpp 2023-06-14 14:23:39.149523000 +0200 +--- core/DesktopEditor/doctrenderer/hash.cpp.orig 2025-08-02 18:33:34 UTC ++++ core/DesktopEditor/doctrenderer/hash.cpp @@ -4,12 +4,12 @@ #include "../common/Base64.h" #endif -#include "openssl/sha.h" -#include "openssl/md2.h" -#include "openssl/md4.h" -#include "openssl/md5.h" -#include "openssl/whrlpool.h" -#include "openssl/ripemd.h" +#include +#include +#include +#include +#include +#include #include #include @@ -37,6 +37,7 @@ unsigned char* CHash::hash(const unsigned char* data, switch (alg) { +#if 0 case haMD2: { nBufLen = 16; @@ -44,6 +45,7 @@ unsigned char* CHash::hash(const unsigned char* data, MD2(data, d, pBufData); break; } +#endif case haMD4: { nBufLen = 16; @@ -246,11 +248,13 @@ void hash_iteration(unsigned char*& input, int iter, u switch (alg) { +#if 0 case CHash::haMD2: { MD2(input, alg_size + 4, tmp); break; } +#endif case CHash::haMD4: { MD4(input, alg_size + 4, tmp); @@ -319,6 +323,7 @@ unsigned char* CHash::hash2(const char* password, cons unsigned char* pBuffer1 = NULL; switch (alg) { +#if 0 case haMD2: { alg_size = 16; @@ -326,6 +331,7 @@ unsigned char* CHash::hash2(const char* password, cons MD2(inputData, inputDataLen, pBuffer1); break; } +#endif case haMD4: { alg_size = 16; diff --git a/www/onlyoffice-documentserver/files/patch-core_DesktopEditor_fontengine_TextShaper.cpp b/www/onlyoffice-documentserver/files/patch-core_DesktopEditor_fontengine_TextShaper.cpp index c87f8a976e29..41272dabf360 100644 --- a/www/onlyoffice-documentserver/files/patch-core_DesktopEditor_fontengine_TextShaper.cpp +++ b/www/onlyoffice-documentserver/files/patch-core_DesktopEditor_fontengine_TextShaper.cpp @@ -1,15 +1,15 @@ ---- core/DesktopEditor/fontengine/TextShaper.cpp.orig 2022-09-27 21:25:17.640269000 +0200 -+++ core/DesktopEditor/fontengine/TextShaper.cpp 2022-09-27 21:21:12.793630000 +0200 +--- core/DesktopEditor/fontengine/TextShaper.cpp.orig 2025-08-02 18:33:34 UTC ++++ core/DesktopEditor/fontengine/TextShaper.cpp @@ -649,9 +649,9 @@ namespace NSShaper #ifdef SUPPORT_HARFBUZZ_SHAPER -#include -#include -#include +#include +#include +#include namespace NSShaper { diff --git a/www/onlyoffice-documentserver/files/patch-core_DesktopEditor_fontengine_js_cpp_text.cpp b/www/onlyoffice-documentserver/files/patch-core_DesktopEditor_fontengine_js_cpp_text.cpp index b25ccec02bb0..7600e5857aae 100644 --- a/www/onlyoffice-documentserver/files/patch-core_DesktopEditor_fontengine_js_cpp_text.cpp +++ b/www/onlyoffice-documentserver/files/patch-core_DesktopEditor_fontengine_js_cpp_text.cpp @@ -1,15 +1,15 @@ ---- core/DesktopEditor/fontengine/js/cpp/text.cpp.orig 2022-09-27 21:25:17.640548000 +0200 -+++ core/DesktopEditor/fontengine/js/cpp/text.cpp 2022-09-27 21:22:11.216341000 +0200 -@@ -532,9 +532,9 @@ WASM_EXPORT unsigned char* ASC_FT_Get_Glyph_Render_Buf +--- core/DesktopEditor/fontengine/js/cpp/text.cpp.orig 2025-08-02 18:33:34 UTC ++++ core/DesktopEditor/fontengine/js/cpp/text.cpp +@@ -558,9 +558,9 @@ WASM_EXPORT unsigned char* ASC_FT_Get_Glyph_Render_Buf // ------------------------------------------------------------ // HARFBUZZ -#include -#include -#include +#include +#include +#include #define g_userfeatures_count 5 hb_feature_t g_userfeatures[g_userfeatures_count]; diff --git a/www/onlyoffice-documentserver/files/patch-core_DesktopEditor_freetype-2.10.4_src_autofit_afshaper.h b/www/onlyoffice-documentserver/files/patch-core_DesktopEditor_freetype-2.10.4_src_autofit_afshaper.h index a8b84e99b90a..aa02570df4ef 100644 --- a/www/onlyoffice-documentserver/files/patch-core_DesktopEditor_freetype-2.10.4_src_autofit_afshaper.h +++ b/www/onlyoffice-documentserver/files/patch-core_DesktopEditor_freetype-2.10.4_src_autofit_afshaper.h @@ -1,15 +1,15 @@ ---- core/DesktopEditor/freetype-2.10.4/src/autofit/afshaper.h.orig 2022-09-27 21:25:17.639848000 +0200 -+++ core/DesktopEditor/freetype-2.10.4/src/autofit/afshaper.h 2022-09-27 21:21:29.147465000 +0200 +--- core/DesktopEditor/freetype-2.10.4/src/autofit/afshaper.h.orig 2025-08-02 18:33:34 UTC ++++ core/DesktopEditor/freetype-2.10.4/src/autofit/afshaper.h @@ -25,9 +25,9 @@ #ifdef FT_CONFIG_OPTION_USE_HARFBUZZ -#include -#include -#include +#include +#include +#include #endif diff --git a/www/onlyoffice-documentserver/files/patch-core_DesktopEditor_pluginsmanager_main.cpp b/www/onlyoffice-documentserver/files/patch-core_DesktopEditor_pluginsmanager_main.cpp index 0388d97191e9..2274a7dc29a9 100644 --- a/www/onlyoffice-documentserver/files/patch-core_DesktopEditor_pluginsmanager_main.cpp +++ b/www/onlyoffice-documentserver/files/patch-core_DesktopEditor_pluginsmanager_main.cpp @@ -1,20 +1,20 @@ ---- core/DesktopEditor/pluginsmanager/main.cpp.orig 2023-06-19 10:50:14.262222000 +0200 -+++ core/DesktopEditor/pluginsmanager/main.cpp 2023-06-19 10:50:48.083404000 +0200 +--- core/DesktopEditor/pluginsmanager/main.cpp.orig 2025-08-02 18:33:34 UTC ++++ core/DesktopEditor/pluginsmanager/main.cpp @@ -52,7 +52,7 @@ #undef GetTempPath #endif -#ifdef LINUX +#if defined(LINUX) || defined(__FreeBSD__) #include #include #endif @@ -270,7 +270,7 @@ class CPluginsManager (public) m_sSettingsDir = NSSystemUtils::GetAppDataDir() + L"/pluginsmanager"; -#ifdef LINUX +#if defined(LINUX) || defined(__FreeBSD__) // GetAppDataDir creates folder with ONLYOFFICE on Linux // as result - two folders in lower/upper case, working with the correct folder NSStringUtils::string_replace(m_sSettingsDir, L"ONLYOFFICE", L"onlyoffice"); diff --git a/www/onlyoffice-documentserver/files/patch-core_MsBinaryFile_XlsFile_Format_Logic_Biff__structures_BitMarkedStructs.h b/www/onlyoffice-documentserver/files/patch-core_MsBinaryFile_XlsFile_Format_Logic_Biff__structures_BitMarkedStructs.h index 93c92cc9fcba..9e69da74cb0a 100644 --- a/www/onlyoffice-documentserver/files/patch-core_MsBinaryFile_XlsFile_Format_Logic_Biff__structures_BitMarkedStructs.h +++ b/www/onlyoffice-documentserver/files/patch-core_MsBinaryFile_XlsFile_Format_Logic_Biff__structures_BitMarkedStructs.h @@ -1,11 +1,11 @@ ---- core/MsBinaryFile/XlsFile/Format/Logic/Biff_structures/BitMarkedStructs.h.orig 2023-01-27 21:00:04.000000000 +0100 -+++ core/MsBinaryFile/XlsFile/Format/Logic/Biff_structures/BitMarkedStructs.h 2023-02-13 11:18:01.384933000 +0100 +--- core/MsBinaryFile/XlsFile/Format/Logic/Biff_structures/BitMarkedStructs.h.orig 2025-08-02 18:33:34 UTC ++++ core/MsBinaryFile/XlsFile/Format/Logic/Biff_structures/BitMarkedStructs.h @@ -31,7 +31,7 @@ */ #pragma once -#ifdef __linux__ +#if defined(__linux__) || defined(__FreeBSD__) #include #endif diff --git a/www/onlyoffice-documentserver/files/patch-core_OOXML_Base_Types__32.h b/www/onlyoffice-documentserver/files/patch-core_OOXML_Base_Types__32.h index 8e3814ae3609..e81ae497b6ec 100644 --- a/www/onlyoffice-documentserver/files/patch-core_OOXML_Base_Types__32.h +++ b/www/onlyoffice-documentserver/files/patch-core_OOXML_Base_Types__32.h @@ -1,11 +1,11 @@ ---- ./core/OOXML/Base/Types_32.h.orig 2023-02-13 11:19:10.378060000 +0100 -+++ ./core/OOXML/Base/Types_32.h 2023-02-13 11:19:35.144374000 +0100 +--- core/OOXML/Base/Types_32.h.orig 2025-08-02 18:33:34 UTC ++++ core/OOXML/Base/Types_32.h @@ -38,7 +38,7 @@ typedef unsigned __int16 _UINT16; typedef unsigned __int32 _UINT32; typedef unsigned __int64 _UINT64; -#elif __linux__ +#elif defined(__linux__) || defined(__FreeBSD__) #include "stdint.h" typedef int16_t _INT16; typedef int32_t _INT32; diff --git a/www/onlyoffice-documentserver/files/patch-core_OOXML_Binary_Sheets_Reader_ChartFromToBinary.cpp b/www/onlyoffice-documentserver/files/patch-core_OOXML_Binary_Sheets_Reader_ChartFromToBinary.cpp index 839338642d3b..efc36eda738f 100644 --- a/www/onlyoffice-documentserver/files/patch-core_OOXML_Binary_Sheets_Reader_ChartFromToBinary.cpp +++ b/www/onlyoffice-documentserver/files/patch-core_OOXML_Binary_Sheets_Reader_ChartFromToBinary.cpp @@ -1,11 +1,11 @@ ---- core/OOXML/Binary/Sheets/Reader/ChartFromToBinary.cpp.orig 2023-06-14 14:53:55.376306000 +0200 -+++ core/OOXML/Binary/Sheets/Reader/ChartFromToBinary.cpp 2023-06-14 14:54:16.425588000 +0200 -@@ -10010,7 +10010,7 @@ namespace BinXlsxRW +--- core/OOXML/Binary/Sheets/Reader/ChartFromToBinary.cpp.orig 2025-08-02 18:33:34 UTC ++++ core/OOXML/Binary/Sheets/Reader/ChartFromToBinary.cpp +@@ -10121,7 +10121,7 @@ namespace BinXlsxRW WriteCT_String(*oVal.m_gapDepth); m_oBcw.WriteItemEnd(nCurPos); } - if (NULL != oVal.m_shape.IsInit()) + if (0 != oVal.m_shape.IsInit()) { int nCurPos = m_oBcw.WriteItemStart(c_oserct_bar3dchartSHAPE); WriteCT_Shape(*oVal.m_shape); diff --git a/www/onlyoffice-documentserver/files/patch-core_OOXML_XlsxFormat_Chart_ChartSerialize.cpp b/www/onlyoffice-documentserver/files/patch-core_OOXML_XlsxFormat_Chart_ChartSerialize.cpp index 3e627ca23ed7..74fa1aabd8e0 100644 --- a/www/onlyoffice-documentserver/files/patch-core_OOXML_XlsxFormat_Chart_ChartSerialize.cpp +++ b/www/onlyoffice-documentserver/files/patch-core_OOXML_XlsxFormat_Chart_ChartSerialize.cpp @@ -1,11 +1,11 @@ ---- core/OOXML/XlsxFormat/Chart/ChartSerialize.cpp.orig 2023-06-14 14:33:42.265435000 +0200 -+++ core/OOXML/XlsxFormat/Chart/ChartSerialize.cpp 2023-06-14 14:33:54.354616000 +0200 +--- core/OOXML/XlsxFormat/Chart/ChartSerialize.cpp.orig 2025-08-02 18:33:34 UTC ++++ core/OOXML/XlsxFormat/Chart/ChartSerialize.cpp @@ -1282,7 +1282,7 @@ xmlns:c16r2=\"http://schemas.microsoft.com/office/draw { writer.WriteString(L"<"); writer.WriteString(sNodeName); - if (NULL != m_l.IsInit()) + if (0 != m_l.IsInit()) { WritingStringAttrDouble(L"l", *m_l); } diff --git a/www/onlyoffice-documentserver/files/patch-core_OOXML_XlsxFormat_Common.cpp b/www/onlyoffice-documentserver/files/patch-core_OOXML_XlsxFormat_Common.cpp index 7ed08a65819b..b56bb6c6e380 100644 --- a/www/onlyoffice-documentserver/files/patch-core_OOXML_XlsxFormat_Common.cpp +++ b/www/onlyoffice-documentserver/files/patch-core_OOXML_XlsxFormat_Common.cpp @@ -1,13 +1,13 @@ ---- core/OOXML/XlsxFormat/Common.cpp.orig 2023-02-13 11:53:45.780601000 +0100 -+++ core/OOXML/XlsxFormat/Common.cpp 2023-02-13 11:54:15.232608000 +0100 +--- core/OOXML/XlsxFormat/Common.cpp.orig 2025-08-02 18:33:34 UTC ++++ core/OOXML/XlsxFormat/Common.cpp @@ -48,6 +48,10 @@ char* gcvt(double x, int n, char* b) #define _gcvt gcvt #endif +#ifdef __FreeBSD__ +#define _gcvt(x,n,b) sprintf(b, "%.17g", x) +#endif + #define DBL_MAX 15 #define DBL_MAXDIG10 17 diff --git a/www/onlyoffice-documentserver/files/patch-core_OfficeUtils_src_zlib-1.2.11_gzguts.h b/www/onlyoffice-documentserver/files/patch-core_OfficeUtils_src_zlib-1.2.11_gzguts.h index 89f4e678060d..f69125a7034c 100644 --- a/www/onlyoffice-documentserver/files/patch-core_OfficeUtils_src_zlib-1.2.11_gzguts.h +++ b/www/onlyoffice-documentserver/files/patch-core_OfficeUtils_src_zlib-1.2.11_gzguts.h @@ -1,12 +1,12 @@ ---- core/OfficeUtils/src/zlib-1.2.11/gzguts.h.orig 2025-04-16 08:37:24.000000000 +0000 -+++ core/OfficeUtils/src/zlib-1.2.11/gzguts.h 2025-06-19 20:31:01.755367000 +0000 +--- core/OfficeUtils/src/zlib-1.2.11/gzguts.h.orig 2025-04-16 08:37:24 UTC ++++ core/OfficeUtils/src/zlib-1.2.11/gzguts.h @@ -33,6 +33,8 @@ #ifdef _WIN32 # include +#else +# include #endif #if defined(__TURBOC__) || defined(_MSC_VER) || defined(_WIN32) diff --git a/www/onlyoffice-documentserver/files/patch-core_PdfFile_PdfFile.pro b/www/onlyoffice-documentserver/files/patch-core_PdfFile_PdfFile.pro index 08b3375f3170..5f6e12410a78 100644 --- a/www/onlyoffice-documentserver/files/patch-core_PdfFile_PdfFile.pro +++ b/www/onlyoffice-documentserver/files/patch-core_PdfFile_PdfFile.pro @@ -1,14 +1,14 @@ ---- core/PdfFile/PdfFile.pro.orig 2023-02-13 12:29:53.978119000 +0100 -+++ core/PdfFile/PdfFile.pro 2023-02-13 12:30:22.230355000 +0100 -@@ -113,6 +113,11 @@ LIBS += -L$$CORE_BUILDS_LIBRARIES_PATH -lCryptoPPLib +--- core/PdfFile/PdfFile.pro.orig 2025-08-02 18:33:34 UTC ++++ core/PdfFile/PdfFile.pro +@@ -110,6 +110,11 @@ DEFINES += CRYPTOPP_DISABLE_ASM \ NOMINMAX LIBS += -L$$CORE_BUILDS_LIBRARIES_PATH -lCryptoPPLib +core_freebsd { + DEFINES += HAVE_UNISTD_H \ + HAVE_FCNTL_H + QMAKE_CXXFLAGS += -Wno-narrowing +} core_linux { DEFINES += HAVE_UNISTD_H \ HAVE_FCNTL_H diff --git a/www/onlyoffice-documentserver/files/patch-core_PdfFile_SrcWriter_Types.h b/www/onlyoffice-documentserver/files/patch-core_PdfFile_SrcWriter_Types.h index 7d9f7fb7ca52..19d91074ad5f 100644 --- a/www/onlyoffice-documentserver/files/patch-core_PdfFile_SrcWriter_Types.h +++ b/www/onlyoffice-documentserver/files/patch-core_PdfFile_SrcWriter_Types.h @@ -1,11 +1,11 @@ ---- core/PdfFile/SrcWriter/Types.h.orig 2023-02-13 11:25:36.702286000 +0100 -+++ core/PdfFile/SrcWriter/Types.h 2023-02-13 11:25:55.342494000 +0100 -@@ -46,7 +46,7 @@ +--- core/PdfFile/SrcWriter/Types.h.orig 2025-08-02 18:33:34 UTC ++++ core/PdfFile/SrcWriter/Types.h +@@ -47,7 +47,7 @@ #include #include -#ifdef __linux__ +#if defined(__linux__) || defined(__FreeBSD__) #include #endif diff --git a/www/onlyoffice-documentserver/files/patch-document-server-package_Makefile b/www/onlyoffice-documentserver/files/patch-document-server-package_Makefile index ba4ae3c069d7..dba479793706 100644 --- a/www/onlyoffice-documentserver/files/patch-document-server-package_Makefile +++ b/www/onlyoffice-documentserver/files/patch-document-server-package_Makefile @@ -1,160 +1,160 @@ ---- document-server-package/Makefile.orig 2024-02-12 13:46:57.000000000 +0100 -+++ document-server-package/Makefile 2024-03-01 10:49:36.212407000 +0100 +--- document-server-package/Makefile.orig 2024-02-12 14:46:57 UTC ++++ document-server-package/Makefile @@ -23,6 +23,7 @@ PACKAGE_VERSION := $(PRODUCT_VERSION)-$(BUILD_NUMBER) PACKAGE_NAME := $(COMPANY_NAME_LOW)-$(PRODUCT_NAME_LOW) PACKAGE_VERSION := $(PRODUCT_VERSION)-$(BUILD_NUMBER) +UNAME_P ?= $(shell uname -p) UNAME_M ?= $(shell uname -m) ifeq ($(UNAME_M),x86_64) RPM_ARCH := x86_64 @@ -138,6 +139,22 @@ else 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 := node20 ++ 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 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: 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: 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 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 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: 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: # 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 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-flush-cache.sh.m4 b/www/onlyoffice-documentserver/files/patch-document-server-package_common_documentserver_bin_documentserver-flush-cache.sh.m4 index 92cb656f9917..deea13716080 100644 --- a/www/onlyoffice-documentserver/files/patch-document-server-package_common_documentserver_bin_documentserver-flush-cache.sh.m4 +++ b/www/onlyoffice-documentserver/files/patch-document-server-package_common_documentserver_bin_documentserver-flush-cache.sh.m4 @@ -1,26 +1,26 @@ ---- document-server-package/common/documentserver/bin/documentserver-flush-cache.sh.m4.orig 2024-11-05 14:03:05.897987000 +0100 +--- document-server-package/common/documentserver/bin/documentserver-flush-cache.sh.m4.orig 2025-07-18 12:53:25 UTC +++ document-server-package/common/documentserver/bin/documentserver-flush-cache.sh.m4 -@@ -24,18 +24,16 @@ HASH=${HASH:-$(date +'%Y.%m.%d-%H%M' | openssl md5 | a +@@ -24,18 +24,16 @@ done HASH=${HASH:-$(date +'%Y.%m.%d-%H%M' | openssl md5 | awk '{print $2}')} # Save the hash to a variable in the configuration file -echo "set \$cache_tag \"$HASH\";" > /etc/nginx/includes/ds-cache.conf +echo "set \$cache_tag \"$HASH\";" > %%ETCDIR%%/documentserver/nginx/includes/ds-cache.conf -API_PATH="/var/www/M4_DS_PREFIX/web-apps/apps/api/documents/api.js" +API_PATH="%%LOCALBASE%%/www/M4_DS_PREFIX/web-apps/apps/api/documents/api.js" cp -f ${API_PATH}.tpl ${API_PATH} -sed -i "s/{{HASH_POSTFIX}}/${HASH}/g" ${API_PATH} -chown ds:ds ${API_PATH} +sed -i '' "s/{{HASH_POSTFIX}}/${HASH}/g" ${API_PATH} +chown onlyoffice:onlyoffice ${API_PATH} rm -f ${API_PATH}.gz if [ "$RESTART_CONDITION" != "false" ]; then - if (pgrep -x "systemd" > /dev/null) && systemctl is-active --quiet nginx; then - systemctl reload nginx - elif service nginx status > /dev/null 2>&1; then + if service nginx status > /dev/null 2>&1; then service nginx reload fi fi diff --git a/www/onlyoffice-documentserver/files/patch-document-server-package_common_documentserver_nginx_includes_ds-mime.types.conf b/www/onlyoffice-documentserver/files/patch-document-server-package_common_documentserver_nginx_includes_ds-mime.types.conf index 6386c904077e..0208f79889d0 100644 --- a/www/onlyoffice-documentserver/files/patch-document-server-package_common_documentserver_nginx_includes_ds-mime.types.conf +++ b/www/onlyoffice-documentserver/files/patch-document-server-package_common_documentserver_nginx_includes_ds-mime.types.conf @@ -1,108 +1,108 @@ https://raw.githubusercontent.com/nginx/nginx/master/conf/mime.types + IWork filetypes ---- document-server-package/common/documentserver/nginx/includes/ds-mime.types.conf.orig 2022-05-15 11:09:53.906141000 +0200 -+++ document-server-package/common/documentserver/nginx/includes/ds-mime.types.conf 2022-05-15 11:10:02.802873000 +0200 +--- document-server-package/common/documentserver/nginx/includes/ds-mime.types.conf.orig 2025-08-08 19:00:44 UTC ++++ document-server-package/common/documentserver/nginx/includes/ds-mime.types.conf @@ -0,0 +1,102 @@ + +types { + text/html html htm shtml; + text/css css; + text/xml xml; + image/gif gif; + image/jpeg jpeg jpg; + application/javascript js; + application/atom+xml atom; + application/rss+xml rss; + + text/mathml mml; + text/plain txt; + text/vnd.sun.j2me.app-descriptor jad; + text/vnd.wap.wml wml; + text/x-component htc; + + image/avif avif; + image/png png; + image/svg+xml svg svgz; + image/tiff tif tiff; + image/vnd.wap.wbmp wbmp; + image/webp webp; + image/x-icon ico; + image/x-jng jng; + image/x-ms-bmp bmp; + + font/woff woff; + font/woff2 woff2; + + application/java-archive jar war ear; + application/json json; + application/mac-binhex40 hqx; + application/msword doc; + application/pdf pdf; + application/postscript ps eps ai; + application/rtf rtf; + application/vnd.apple.keynote key kth; + application/vnd.apple.pages pages template; + application/vnd.apple.numbers numbers nmbtemplate; + application/vnd.apple.mpegurl m3u8; + application/vnd.google-earth.kml+xml kml; + application/vnd.google-earth.kmz kmz; + application/vnd.ms-excel xls; + application/vnd.ms-fontobject eot; + application/vnd.ms-powerpoint ppt; + application/vnd.oasis.opendocument.graphics odg; + application/vnd.oasis.opendocument.presentation odp; + application/vnd.oasis.opendocument.spreadsheet ods; + application/vnd.oasis.opendocument.text odt; + application/vnd.openxmlformats-officedocument.presentationml.presentation + pptx; + application/vnd.openxmlformats-officedocument.spreadsheetml.sheet + xlsx; + application/vnd.openxmlformats-officedocument.wordprocessingml.document + docx; + application/vnd.wap.wmlc wmlc; + application/wasm wasm; + application/x-7z-compressed 7z; + application/x-cocoa cco; + application/x-java-archive-diff jardiff; + application/x-java-jnlp-file jnlp; + application/x-makeself run; + application/x-perl pl pm; + application/x-pilot prc pdb; + application/x-rar-compressed rar; + application/x-redhat-package-manager rpm; + application/x-sea sea; + application/x-shockwave-flash swf; + application/x-stuffit sit; + application/x-tcl tcl tk; + application/x-x509-ca-cert der pem crt; + application/x-xpinstall xpi; + application/xhtml+xml xhtml; + application/xspf+xml xspf; + application/zip zip; + + application/octet-stream bin exe dll; + application/octet-stream deb; + application/octet-stream dmg; + application/octet-stream iso img; + application/octet-stream msi msp msm; + + audio/midi mid midi kar; + audio/mpeg mp3; + audio/ogg ogg; + audio/x-m4a m4a; + audio/x-realaudio ra; + + video/3gpp 3gpp 3gp; + video/mp2t ts; + video/mp4 mp4; + video/mpeg mpeg mpg; + video/quicktime mov; + video/webm webm; + video/x-flv flv; + video/x-m4v m4v; + video/x-mng mng; + video/x-ms-asf asx asf; + video/x-ms-wmv wmv; + video/x-msvideo avi; +} diff --git a/www/onlyoffice-documentserver/files/patch-server_Metrics_patches_modern-syslog b/www/onlyoffice-documentserver/files/patch-server_Metrics_patches_modern-syslog new file mode 100644 index 000000000000..7a10ecbd0a4e --- /dev/null +++ b/www/onlyoffice-documentserver/files/patch-server_Metrics_patches_modern-syslog @@ -0,0 +1,11 @@ +--- server/Metrics/patches/modern-syslog+1.2.0.patch.orig 2025-08-31 16:23:19 UTC ++++ server/Metrics/patches/modern-syslog+1.2.0.patch +@@ -0,0 +1,8 @@ ++diff --git a/node_modules/modern-syslog/Makefile b/node_modules/modern-syslog/Makefile ++index 8d2ec3a..125d526 100644 ++--- a/node_modules/modern-syslog/Makefile +++++ b/node_modules/modern-syslog/Makefile ++@@ -1,2 +1,2 @@ ++ rebuild: ++- node-gyp rebuild +++ node-gyp --nodedir=%%LOCALBASE%% rebuild diff --git a/www/onlyoffice-documentserver/files/patch-server_package.json b/www/onlyoffice-documentserver/files/patch-server_package.json index d1a485701de7..3fa6a4cd95b3 100644 --- a/www/onlyoffice-documentserver/files/patch-server_package.json +++ b/www/onlyoffice-documentserver/files/patch-server_package.json @@ -1,26 +1,38 @@ --- server/package.json.orig 2025-06-16 18:22:18 UTC +++ server/package.json -@@ -4,6 +4,8 @@ +@@ -4,9 +4,11 @@ "homepage": "https://www.onlyoffice.com", "private": true, "dependencies": { + "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" -@@ -25,10 +25,10 @@ +- "npm-run-all": "4.1.5" ++ "concurrently": "^9.2.0" + }, + "devDependencies": { + "@jest/globals": "29.7.0", +@@ -23,10 +25,10 @@ "integration database tests": "cd ./DocService && jest integration/databaseTests --inject-globals=false --config=../tests/jest.config.js", "tests": "cd ./DocService && jest --inject-globals=false --config=../tests/jest.config.js", "tests:dev": "cd ./DocService && jest --inject-globals=false --config=../tests/jest.config.js --watch", - "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:Common": "npm install --prefix ./Common", + "install:DocService": "npm install --prefix ./DocService", + "install:FileConverter": "npm install --prefix ./FileConverter", + "install:Metrics": "npm install --prefix ./Metrics", "3d-party-lic-json:Common": "license-report --output=json --package=./Common/package.json --config ./3d-party-lic-report/license-report-config.json > ./3d-party-lic-report/license-report.json", "3d-party-lic-json:DocService": "license-report --output=json --package=./DocService/package.json --config ./3d-party-lic-report/license-report-config.json > ./3d-party-lic-report/license-report.json", "3d-party-lic-json:FileConverter": "license-report --output=json --package=./FileConverter/package.json --config ./3d-party-lic-report/license-report-config.json > ./3d-party-lic-report/license-report.json", +@@ -39,6 +41,6 @@ + "3d-party-lic-report:FileConverter": "run-s 3d-party-lic-json:FileConverter 3d-party-lic-downloader 3d-party-lic-md", + "3d-party-lic-report:Metrics": "run-s 3d-party-lic-json:Metrics 3d-party-lic-downloader 3d-party-lic-md", + "3d-party-lic-report": "run-s 3d-party-lic-md-header 3d-party-lic-report:*", +- "build": "run-p install:*" ++ "build": "concurrently \"npm run install:Common\" \"npm run install:DocService\" \"npm run install:FileConverter\" \"npm run install:Metrics\"" + } + } diff --git a/www/onlyoffice-documentserver/files/pkg-message.in b/www/onlyoffice-documentserver/files/pkg-message.in index 9bf36aae43ac..1e04f7732830 100644 --- a/www/onlyoffice-documentserver/files/pkg-message.in +++ b/www/onlyoffice-documentserver/files/pkg-message.in @@ -1,99 +1,99 @@ [ { type: install message: <