git: e6f27356846a - main - www/onlyoffice-documentserver: Add new port
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Wed, 19 Jan 2022 07:38:36 UTC
The branch main has been updated by mikael:
URL: https://cgit.FreeBSD.org/ports/commit/?id=e6f27356846a36c63bfe394cb9d7c61495e0822b
commit e6f27356846a36c63bfe394cb9d7c61495e0822b
Author: Mikael Urankar <mikael@FreeBSD.org>
AuthorDate: 2022-01-18 14:42:42 +0000
Commit: Mikael Urankar <mikael@FreeBSD.org>
CommitDate: 2022-01-19 07:38:26 +0000
www/onlyoffice-documentserver: Add new port
ONLYOFFICE Document Server is an online office suite comprising viewers and
editors for texts, spreadsheets and presentations, fully compatible with
Office Open XML formats: .docx, .xlsx, .pptx and enabling collaborative editing
in real time.
WWW: https://www.onlyoffice.com/
Reviewed by: bapt
Differential Revision: https://reviews.freebsd.org/D33923
---
GIDs | 2 +-
UIDs | 2 +-
www/Makefile | 1 +
www/onlyoffice-documentserver/Makefile | 208 +
www/onlyoffice-documentserver/distinfo | 59 +
.../files/extra-patch-pkg-fetch_lib-es5_build.js | 24 +
...patch-pkg-fetch_patches_node.v16.13.0.cpp.patch | 174 +
.../files/local.json.sample | 43 +
.../packagejsons/server/Common/package-lock.json | 1028 +
.../files/packagejsons/server/package-lock.json | 2964 +++
.../files/patch-build__tools_build.pro | 13 +
.../files/patch-build__tools_configure.py | 11 +
.../files/patch-build__tools_make.py | 29 +
.../files/patch-build__tools_scripts_base.py | 21 +
.../files/patch-build__tools_scripts_build__js.py | 11 +
.../patch-build__tools_scripts_build__server.py | 52 +
.../files/patch-build__tools_scripts_config.py | 38 +
...ild__tools_scripts_core__common_make__common.py | 36 +
...build__tools_scripts_core__common_modules_v8.py | 87 +
.../patch-build__tools_scripts_deploy__server.py | 37 +
.../patch-build__tools_scripts_develop_release.py | 11 +
.../patch-build__tools_tools_freebsd_automate.py | 107 +
...lsFile2_source_XlsFormat_Auxiliary_HelpFunc.cpp | 11 +
...iceXlsFile2_source_XlsFormat_Crypt_rtl_cipher.h | 11 +
...iceXlsFile2_source_XlsFormat_Crypt_rtl_digest.h | 11 +
...ormat_Logic_Biff__structures_BitMarkedStructs.h | 11 +
.../patch-core_Common_3dParty_boost_boost.pri | 16 +
...re_Common_3dParty_cryptopp_project_cryptopp.pro | 10 +
.../files/patch-core_Common_3dParty_html_gumbo.pri | 10 +
.../files/patch-core_Common_3dParty_icu_icu.pri | 16 +
.../files/patch-core_Common_3dParty_v8_v8.pri | 27 +
.../files/patch-core_Common_3dParty_v8_v8_BUILD.gn | 32 +
...core_Common_3dParty_v8_v8_build_config_BUILD.gn | 30 +
...ommon_3dParty_v8_v8_build_config_BUILDCONFIG.gn | 48 +
...on_3dParty_v8_v8_build_config_compiler_BUILD.gn | 92 +
...dParty_v8_v8_build_config_compiler_compiler.gni | 11 +
..._Common_3dParty_v8_v8_build_config_features.gni | 11 +
...dParty_v8_v8_build_config_freetype_freetype.gni | 9 +
...ommon_3dParty_v8_v8_build_config_linux_BUILD.gn | 11 +
..._3dParty_v8_v8_build_config_linux_pkg-config.py | 26 +
...e_Common_3dParty_v8_v8_build_config_sysroot.gni | 14 +
...ommon_3dParty_v8_v8_build_detect__host__arch.py | 11 +
...e_Common_3dParty_v8_v8_build_gn__run__binary.py | 11 +
...ore_Common_3dParty_v8_v8_build_linux_chrome.map | 29 +
...ommon_3dParty_v8_v8_build_linux_libpci_BUILD.gn | 53 +
...on_3dParty_v8_v8_build_linux_unbundle_libusb.gn | 27 +
...8_v8_build_linux_unbundle_replace__gn__files.py | 10 +
...dParty_v8_v8_build_toolchain_gcc__toolchain.gni | 45 +
...v8_v8_build_toolchain_get__concurrent__links.py | 17 +
...on_3dParty_v8_v8_build_toolchain_linux_BUILD.gn | 10 +
...ch-core_Common_3dParty_v8_v8_build_win_BUILD.gn | 13 +
...y_v8_v8_buildtools_third__party_libc++_BUILD.gn | 11 +
...ch-core_Common_3dParty_v8_v8_include_v8config.h | 21 +
.../patch-core_Common_3dParty_v8_v8_src_api_api.cc | 11 +
...patch-core_Common_3dParty_v8_v8_src_base_cpu.cc | 18 +
...rty_v8_v8_src_base_platform_platform-freebsd.cc | 13 +
...Party_v8_v8_src_base_platform_platform-posix.cc | 24 +
...ch-core_Common_3dParty_v8_v8_src_d8_d8-posix.cc | 19 +
...mon_3dParty_v8_v8_src_objects_js-list-format.cc | 74 +
...ore_Common_3dParty_v8_v8_testing_gmock_BUILD.gn | 18 +
...Common_3dParty_v8_v8_third__party_zlib_BUILD.gn | 11 +
...3dParty_v8_v8_third__party_zlib_cpu__features.c | 48 +
...-core_Common_DocxFormat_Source_Base_Types__32.h | 11 +
..._Common_DocxFormat_Source_XlsxFormat_Common.cpp | 14 +
.../files/patch-core_Common_base.pri | 42 +
.../files/patch-core_Common_kernel.pro | 21 +
...-core_DesktopEditor_AllFontsGen_AllFontsGen.pro | 13 +
...pEditor_Qt__build_graphics_project_graphics.pri | 15 +
..._Qt__build_graphics_project_graphics__fonts.pri | 14 +
...-core_DesktopEditor_agg-2.4_include_agg__math.h | 11 +
...topEditor_agg-2.4_include_agg__span__gradient.h | 11 +
...ore_DesktopEditor_allthemesgen_allthemesgen.pro | 14 +
.../patch-core_DesktopEditor_allthemesgen_main.cpp | 20 +
.../patch-core_DesktopEditor_common_Directory.cpp | 64 +
.../files/patch-core_DesktopEditor_common_File.cpp | 42 +
.../files/patch-core_DesktopEditor_common_Path.cpp | 29 +
.../files/patch-core_DesktopEditor_common_Types.h | 11 +
...tch-core_DesktopEditor_cximage_CxImage_ximage.h | 11 +
...-core_DesktopEditor_cximage_CxImage_ximagif.cpp | 11 +
...core_DesktopEditor_cximage_CxImage_ximainfo.cpp | 11 +
...ch-core_DesktopEditor_cximage_CxImage_ximajas.h | 11 +
...-core_DesktopEditor_cximage_CxImage_ximajpg.cpp | 11 +
...ch-core_DesktopEditor_cximage_CxImage_ximajpg.h | 11 +
...ch-core_DesktopEditor_cximage_CxImage_ximapng.h | 11 +
...-core_DesktopEditor_cximage_CxImage_ximaraw.cpp | 11 +
.../patch-core_DesktopEditor_cximage_raw_libdcr.h | 11 +
...h-core_DesktopEditor_cximage_tiff_tif__config.h | 38 +
...atch-core_DesktopEditor_cximage_tiff_tiffconf.h | 11 +
...Editor_doctrenderer_app__builder_docbuilder.pro | 11 +
...esktopEditor_doctrenderer_app__builder_main.cpp | 11 +
...core_DesktopEditor_doctrenderer_docbuilder__p.h | 29 +
...ore_DesktopEditor_doctrenderer_doctrenderer.pro | 13 +
...core_DesktopEditor_doctrenderer_nativecontrol.h | 11 +
...e_DesktopEditor_fontengine_ApplicationFonts.cpp | 22 +
...ch-core_DesktopEditor_fontengine_MemoryStream.h | 11 +
...opEditor_fontengine_fontconverter_MemoryUtils.h | 11 +
.../patch-core_DesktopEditor_graphics_Graphics.cpp | 29 +
...ch-core_DesktopEditor_graphics_pro_graphics.pro | 14 +
...atch-core_DesktopEditor_graphics_pro_raster.pri | 15 +
..._DesktopEditor_raster_Metafile_Wmf_WmfObjects.h | 11 +
.../patch-core_DesktopEditor_xml_libxml2_trionan.c | 29 +
.../patch-core_DesktopEditor_xml_libxml2_xmlIO.c | 11 +
.../patch-core_DesktopEditor_xmlsec_libxmlsec.pro | 19 +
..._test_OpenSSL__gui__test_OpenSSL__gui__test.pro | 13 +
.../patch-core_DjVuFile_libdjvu_DjVuDocument.cpp | 11 +
.../files/patch-core_HtmlFile_HtmlFile.cpp | 20 +
.../files/patch-core_HtmlFile_HtmlFile.pro | 13 +
...OfficeCryptReader_ooxml__crypt_ooxml__crypt.pro | 14 +
.../files/patch-core_OfficeUtils_OfficeUtils.pri | 9 +
...Utils_src_zlib-1.2.11_contrib_minizip_miniunz.c | 11 +
...Utils_src_zlib-1.2.11_contrib_minizip_minizip.c | 11 +
.../files/patch-core_PdfWriter_PdfWriter.pro | 13 +
.../files/patch-core_PdfWriter_Src_Types.h | 11 +
...-core_Test_Applications_StandardTester_main.cpp | 20 +
...atch-core_UnicodeConverter_UnicodeConverter.pro | 14 +
...eConverter_icubuilds-mac_icu_unicode_platform.h | 11 +
...tch-core_X2tConverter_build_Qt_X2tConverter.pri | 11 +
.../patch-core_X2tConverter_src_ASCConverters.cpp | 20 +
...er_test_batch__convert_x2t__test_mainwindow.cpp | 20 +
.../files/patch-document-server-package_Makefile | 197 +
.../files/patch-server_package.json | 36 +
.../files/patch-web-apps_build_Gruntfile.js | 20 +
.../files/patch-web-apps_build_package.json | 14 +
.../files/patch-web-apps_build_patches_optipng-bin | 18 +
www/onlyoffice-documentserver/files/pkg-message.in | 66 +
www/onlyoffice-documentserver/pkg-descr | 6 +
www/onlyoffice-documentserver/pkg-plist | 22626 +++++++++++++++++++
www/onlyoffice-documentserver/v8_fetch.sh | 59 +
128 files changed, 29848 insertions(+), 2 deletions(-)
diff --git a/GIDs b/GIDs
index ee3b9573b3fc..289724c62710 100644
--- a/GIDs
+++ b/GIDs
@@ -242,7 +242,7 @@ owncast:*:299:
backuppc:*:300:
openvpn:*:301:
netdata:*:302:
-# free: 303
+onlyoffice:*:303:www
# free: 304
# free: 305
# free: 306
diff --git a/UIDs b/UIDs
index 22ca902e1876..6688287c8ada 100644
--- a/UIDs
+++ b/UIDs
@@ -247,7 +247,7 @@ owncast:*:299:299::0:0:& daemon:/nonexistent:/usr/sbin/nologin
backuppc:*:300:300::0:0:BackupPC pseudo-user:/nonexistent:/usr/sbin/nologin
openvpn:*:301:301::0:0:OpenVPN pseudo-user:/nonexistent:/usr/sbin/nologin
netdata:*:302:302::0:0:NetData Daemon:/var/cache/netdata:/usr/sbin/nologin
-# free: 303
+onlyoffice:*:303:303::0:0:Onlyoffice pseudo-user:/usr/local/www/onlyoffice/documentserver:/usr/sbin/nologin
# free: 304
# free: 305
# free: 306
diff --git a/www/Makefile b/www/Makefile
index 8db0c305e733..6a094de9237f 100644
--- a/www/Makefile
+++ b/www/Makefile
@@ -476,6 +476,7 @@
SUBDIR += oneshot
SUBDIR += onionbalance
SUBDIR += onionshare
+ SUBDIR += onlyoffice-documentserver
SUBDIR += openarc
SUBDIR += opencart
SUBDIR += orangehrm
diff --git a/www/onlyoffice-documentserver/Makefile b/www/onlyoffice-documentserver/Makefile
new file mode 100644
index 000000000000..08d90cf0f0af
--- /dev/null
+++ b/www/onlyoffice-documentserver/Makefile
@@ -0,0 +1,208 @@
+PORTNAME= onlyoffice-documentserver
+DISTVERSIONPREFIX= v
+DISTVERSION= 6.4.2
+CATEGORIES= www
+MASTER_SITES+= LOCAL/mikael/v8/:source1 \
+ LOCAL/mikael/onlyoffice/:source2 \
+ https://nodejs.org/dist/v16.13.0/:source3 \
+ SF/optipng/OptiPNG/optipng-0.7.7/:source4
+DISTFILES+= v8-8.7.220.31_all.tar.gz:source1 \
+ node-v16.13.0.tar.gz:source3 \
+ npm-cache-onlyoffice.tar.gz:source2 \
+ optipng-0.7.7.tar.gz:source4
+
+MAINTAINER= mikael@FreeBSD.org
+COMMENT= Secure office and productivity apps
+
+LICENSE= AGPLv3
+LICENSE_FILE= ${WRKSRC}/LICENSE.txt
+
+BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}Jinja2>=0:devel/py-Jinja2@${PY_FLAVOR} \
+ binutils>=0:devel/binutils \
+ boost-libs>0:devel/boost-libs \
+ glib>=2.54:devel/glib20 \
+ gn:devel/gn \
+ java:java/openjdk11 \
+ ninja:devel/ninja \
+ node:www/node16 \
+ npm:www/npm-node16
+LIB_DEPENDS= libboost_regex.so:devel/boost-libs \
+ libiconv.so:converters/libiconv \
+ libicutu.so:devel/icu
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}supervisor>0:sysutils/py-supervisor@${PY_FLAVOR} \
+ curl:ftp/curl \
+ gsed:textproc/gsed \
+ nginx:www/nginx \
+ pg_dump:databases/postgresql${PGSQL_VER_NODOT}-server \
+ rabbitmq>0:net/rabbitmq \
+ webfonts>=0:x11-fonts/webfonts
+
+USES= autoreconf:build dos2unix fakeroot gmake gnome iconv pgsql pkgconfig \
+ python:3.7+,build qt:5
+USE_QT= qmake_build
+USE_GITHUB= yes
+GH_ACCOUNT= ONLYOFFICE
+GH_PROJECT= DocumentServer
+GH_TUPLE= ONLYOFFICE:core:0c29e4d:core/core \
+ ONLYOFFICE:core-fonts:3929a09:corefonts/core-fonts \
+ ONLYOFFICE:dictionaries:cfa50d3:dictionaries/dictionaries \
+ ONLYOFFICE:document-server-integration:v1.0.0:dsi/document-server-integration \
+ ONLYOFFICE:document-templates:v6.4.2.1:dt/document-templates \
+ ONLYOFFICE:sdkjs:9af7d08:sdkjs/sdkjs \
+ ONLYOFFICE:server:10929a0:server/server \
+ ONLYOFFICE:web-apps:1851cae:webapps/web-apps \
+ ONLYOFFICE:plugin-highlightcode:7ea4ddf:sdkjs_plugins_highlightcode/sdkjs-plugins/plugin-highlightcode \
+ ONLYOFFICE:plugin-macros:4027439:sdkjs_plugins_macros/sdkjs-plugins/plugin-macros \
+ ONLYOFFICE:plugin-mendeley:5a36bf9:sdkjs_plugins_mendeley/sdkjs-plugins/plugin-mendeley \
+ ONLYOFFICE:plugin-ocr:5b24c87:sdkjs_plugins_ocr/sdkjs-plugins/plugin-ocr \
+ ONLYOFFICE:plugin-photoeditor:995b5f6:sdkjs_plugins_photoeditor/sdkjs-plugins/plugin-photoeditor \
+ ONLYOFFICE:plugin-speech:fcec715:sdkjs_plugins_speech/sdkjs-plugins/plugin-speech \
+ ONLYOFFICE:plugin-thesaurus:4ada280:sdkjs_plugins_thesaurus/sdkjs-plugins/plugin-thesaurus \
+ ONLYOFFICE:plugin-translator:ba6caed:sdkjs_plugins_translator/sdkjs-plugins/plugin-translator \
+ ONLYOFFICE:plugin-youtube:4dec911:sdkjs_plugins_youtube/sdkjs-plugins/plugin-youtube \
+ ONLYOFFICE:plugin-zotero:c9f472f:sdkjs_plugins_zotero/sdkjs-plugins/plugin-zotero \
+ ONLYOFFICE:build_tools:cf4cac94:buildtools/build_tools \
+ ONLYOFFICE:DocumentBuilder:4169685e6:document_builder/DocumentBuilder \
+ ONLYOFFICE:onlyoffice.github.io:ca730969:sdkjs_plugins_v1/onlyoffice.github.io \
+ ONLYOFFICE:document-server-package:c12273c0a:dsp/document-server-package \
+ hackers-painters:katana-parser:499118d3:hackers_painters_katana/core/Common/3dParty/html/katana-parser \
+ google:gumbo-parser:aa91b27:google_gumbo/core/Common/3dParty/html/gumbo-parser
+
+BINARY_ALIAS= python=${PYTHON_CMD}
+USE_LDCONFIG= yes
+
+WWWDIR= ${PREFIX}/www/onlyoffice
+ETCDIR= ${PREFIX}/etc/onlyoffice
+
+DS_USERNAME= onlyoffice
+DS_GROUPNAME= onlyoffice
+
+USERS= ${DS_USERNAME}
+GROUPS= ${DS_GROUPNAME}
+
+PLIST_SUB= DS_GROUPNAME=${DS_GROUPNAME} \
+ DS_USERNAME=${DS_USERNAME}
+SUB_FILES= pkg-message
+SUB_LIST= ETCDIR=${ETCDIR} \
+ PREFIX=${PREFIX} \
+ WWWDIR=${WWWDIR}
+
+MAKE_ENV= BUILD_NUMBER="1" \
+ PKG_CACHE_PATH=${WRKDIR}/.pkg-cache \
+ PRODUCT_VERSION="${DISTVERSION}"
+
+DOS2UNIX_FILES= document-server-package/common/documentserver/nginx/includes/http-common.conf.m4
+
+CONFLICTS_BUILD=devel/googletest
+
+post-extract:
+ @${MV} ${WRKDIR}/v8 ${WRKSRC}/core/Common/3dParty/v8
+
+ @${MKDIR} ${WRKDIR}/.pkg-cache/node
+ @${CP} ${DISTDIR}/node-v16.13.0.tar.gz ${WRKDIR}/.pkg-cache/node
+# Checksum can be verified here: https://nodejs.org/dist/v16.13.0/SHASUMS256.txt
+ @${ECHO} "9c00e5b6024cfcbc9105f9c58cf160762e78659a345d100c5bd80a7fb38c684f node-v16.13.0.tar.gz" > \
+ ${WRKDIR}/.pkg-cache/node/node-v16.13.0.tar.gz.sha256sum
+
+ @${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
+
+post-patch:
+ @${REINPLACE_CMD} 's|%%LOCALBASE%%|${LOCALBASE}|' \
+ ${WRKSRC}/core/Common/3dParty/v8/v8/build/toolchain/gcc_toolchain.gni \
+ ${WRKSRC}/core/Common/3dParty/v8/v8/buildtools/third_party/libc++/BUILD.gn \
+ ${WRKSRC}/core/DesktopEditor/fontengine/ApplicationFonts.cpp
+ @${REINPLACE_CMD} -e 's|%%CC%%|${CC}|' -e 's|%%CXX%%|${CXX}|' \
+ ${WRKSRC}/core/Common/3dParty/v8/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} -e 's|linux|freebsd|' -e 's|/etc|${LOCALBASE}/etc|' \
+ ${WRKSRC}/document-server-package/common/documentserver/supervisor/ds-docservice.conf.m4 \
+ ${WRKSRC}/document-server-package/common/documentserver/supervisor/ds-converter.conf.m4 \
+ ${WRKSRC}/document-server-package/common/documentserver-example/supervisor/ds-example.conf.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
+ @${REINPLACE_CMD} 's|/var/www|${LOCALBASE}/www|' \
+ ${WRKSRC}/document-server-package/common/documentserver/bin/documentserver-generate-allfonts.sh.m4 \
+ ${WRKSRC}/document-server-package/common/documentserver/bin/documentserver-static-gzip.sh.m4 \
+ ${WRKSRC}/document-server-package/common/documentserver/supervisor/ds-converter.conf.m4 \
+ ${WRKSRC}/document-server-package/common/documentserver/supervisor/ds-docservice.conf.m4 \
+ ${WRKSRC}/document-server-package/common/documentserver/supervisor/ds-metrics.conf.m4
+ @${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} -e 's|bash|sh|' -e 's|sed|gsed|' \
+ ${WRKSRC}/document-server-package/common/documentserver/bin/documentserver-static-gzip.sh.m4 \
+ ${WRKSRC}/document-server-package/common/documentserver/bin/documentserver-update-securelink.sh.m4
+ @${REINPLACE_CMD} 's|%%DISTDIR%%|${DISTDIR}|' \
+ ${WRKSRC}/web-apps/build/patches/optipng-bin+5.1.0.patch
+ @${RM} ${WRKSRC}/web-apps/build/patches/optipng-bin+5.1.0.patch.orig
+
+ @${FIND} ${WRKSRC}/server -type f -name npm-shrinkwrap.json -delete
+
+do-build:
+ @${CP} ${FILESDIR}/packagejsons/server/package-lock.json ${WRKSRC}/server
+ @${CP} ${FILESDIR}/packagejsons/server/Common/package-lock.json ${WRKSRC}/server/Common
+
+ @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 ; ${SETENV} ${MAKE_ENV} npm build optipng-bin
+
+ @cd ${WRKSRC}/web-apps/build ; ${SETENV} ${MAKE_ENV} npm install patch-package
+ @cd ${WRKSRC}/server ; ${SETENV} ${MAKE_ENV} npm install grunt-cli
+ @cd ${WRKSRC}/server ; ${SETENV} ${MAKE_ENV} npm install grunt
+ @cd ${WRKSRC}/server ; ${SETENV} ${MAKE_ENV} npm install pkg
+ @cd ${WRKSRC}/sdkjs ; ${SETENV} ${MAKE_ENV} npm install grunt-cli
+ @cd ${WRKSRC}/sdkjs ; ${SETENV} ${MAKE_ENV} npm install grunt
+ @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.v16.13.0.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 and metrics
+ 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/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"
+.for f in ds.conf includes/http-common.conf includes/ds-common.conf includes/ds-docservice.conf includes/ds-letsencrypt.conf
+ ${INSTALL_DATA} ${WRKSRC}/document-server-package/common/documentserver/nginx/${f} ${STAGEDIR}${ETCDIR}/documentserver/nginx/${f}.sample
+.endfor
+ 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
+
+# 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
+
+.include <bsd.port.mk>
diff --git a/www/onlyoffice-documentserver/distinfo b/www/onlyoffice-documentserver/distinfo
new file mode 100644
index 000000000000..3eb4d249f1f3
--- /dev/null
+++ b/www/onlyoffice-documentserver/distinfo
@@ -0,0 +1,59 @@
+TIMESTAMP = 1641567875
+SHA256 (v8-8.7.220.31_all.tar.gz) = 0d2e1355cbbb80130d87f9e0acfb94c72846f820339b8a1003875230a5d0fa2f
+SIZE (v8-8.7.220.31_all.tar.gz) = 305810432
+SHA256 (node-v16.13.0.tar.gz) = 9c00e5b6024cfcbc9105f9c58cf160762e78659a345d100c5bd80a7fb38c684f
+SIZE (node-v16.13.0.tar.gz) = 63735070
+SHA256 (npm-cache-onlyoffice.tar.gz) = 85c72a0b06439352f2a0ead2fb1412436c38b0dc3200c620f52967415adbf225
+SIZE (npm-cache-onlyoffice.tar.gz) = 263763627
+SHA256 (optipng-0.7.7.tar.gz) = 4f32f233cef870b3f95d3ad6428bfe4224ef34908f1b42b0badf858216654452
+SIZE (optipng-0.7.7.tar.gz) = 2329555
+SHA256 (ONLYOFFICE-DocumentServer-v6.4.2_GH0.tar.gz) = fac8bb07884149c042afabb2ab9ce8ba1c11dd35379eea1e2086d6d5bef45a5d
+SIZE (ONLYOFFICE-DocumentServer-v6.4.2_GH0.tar.gz) = 51163
+SHA256 (ONLYOFFICE-core-0c29e4d_GH0.tar.gz) = e522f85ce12c66f46edfb252efcf8f6205d693b95c3391bf485fb7accfd41735
+SIZE (ONLYOFFICE-core-0c29e4d_GH0.tar.gz) = 83856852
+SHA256 (ONLYOFFICE-core-fonts-3929a09_GH0.tar.gz) = f264251db39c2ac844644dfebccc6fa836afb2a27cce1bfc565645a48600b49b
+SIZE (ONLYOFFICE-core-fonts-3929a09_GH0.tar.gz) = 95253093
+SHA256 (ONLYOFFICE-dictionaries-cfa50d3_GH0.tar.gz) = b58d9df27bd3b8a5898a28727e247e282ecb1b770d7980205c0ef4eba5e5fa58
+SIZE (ONLYOFFICE-dictionaries-cfa50d3_GH0.tar.gz) = 39363959
+SHA256 (ONLYOFFICE-document-server-integration-v1.0.0_GH0.tar.gz) = f09c9384d3abea4d7e3ef31df333125d4e45cc4fa9ecc69a573ee6562231658a
+SIZE (ONLYOFFICE-document-server-integration-v1.0.0_GH0.tar.gz) = 5227788
+SHA256 (ONLYOFFICE-document-templates-v6.4.2.1_GH0.tar.gz) = b3ad21607446074d36a1913f6b1ac896e38911c8a9c7ffd4a7ea68f5cb6cf39f
+SIZE (ONLYOFFICE-document-templates-v6.4.2.1_GH0.tar.gz) = 2152308
+SHA256 (ONLYOFFICE-sdkjs-9af7d08_GH0.tar.gz) = 45198d1264b52e36a1e8c66d69130c214a713f4f0ee1a2b9428f95d75480e1e6
+SIZE (ONLYOFFICE-sdkjs-9af7d08_GH0.tar.gz) = 11523531
+SHA256 (ONLYOFFICE-server-10929a0_GH0.tar.gz) = 439822bbf9a3849823c63cff93b3af0d31560134e58b8b4562baec56d69dab14
+SIZE (ONLYOFFICE-server-10929a0_GH0.tar.gz) = 242462
+SHA256 (ONLYOFFICE-web-apps-1851cae_GH0.tar.gz) = 598f57b821013e14936a539ebfc7fe1da1ce673d85c95fdfdd607f8e4fa4b5e6
+SIZE (ONLYOFFICE-web-apps-1851cae_GH0.tar.gz) = 215031184
+SHA256 (ONLYOFFICE-plugin-highlightcode-7ea4ddf_GH0.tar.gz) = 74ec5782ee967bbddf4b524311dcc09be0e28a7e15ef07ce85b30c1fbf0dda90
+SIZE (ONLYOFFICE-plugin-highlightcode-7ea4ddf_GH0.tar.gz) = 245219
+SHA256 (ONLYOFFICE-plugin-macros-4027439_GH0.tar.gz) = faf8a2bee2c8eaa169eec6ceae272d168e0b6307a16845b5fb844f039cebd351
+SIZE (ONLYOFFICE-plugin-macros-4027439_GH0.tar.gz) = 2616745
+SHA256 (ONLYOFFICE-plugin-mendeley-5a36bf9_GH0.tar.gz) = 3da951e764ff201d8853ca70e1bc147a0b4bcf6a3b2134b067de8432c293bee0
+SIZE (ONLYOFFICE-plugin-mendeley-5a36bf9_GH0.tar.gz) = 417551
+SHA256 (ONLYOFFICE-plugin-ocr-5b24c87_GH0.tar.gz) = f39b418974868c863ce313873b876e47cd33a3469d786a9eade584c35881cbae
+SIZE (ONLYOFFICE-plugin-ocr-5b24c87_GH0.tar.gz) = 169538
+SHA256 (ONLYOFFICE-plugin-photoeditor-995b5f6_GH0.tar.gz) = 413b4444a9d3f47a57637f141066ea72e4e24bbbed9c0f45794b2d9da651d43c
+SIZE (ONLYOFFICE-plugin-photoeditor-995b5f6_GH0.tar.gz) = 201051
+SHA256 (ONLYOFFICE-plugin-speech-fcec715_GH0.tar.gz) = d85e322059d8b62176c0d3f6a0a999268932990e314242c6b4828ec1a28bbbd0
+SIZE (ONLYOFFICE-plugin-speech-fcec715_GH0.tar.gz) = 68212
+SHA256 (ONLYOFFICE-plugin-thesaurus-4ada280_GH0.tar.gz) = 8834dec6b1d3ac3aabe4c1c8697bbce859acee0b38137d1d8310631bf7da1286
+SIZE (ONLYOFFICE-plugin-thesaurus-4ada280_GH0.tar.gz) = 42914
+SHA256 (ONLYOFFICE-plugin-translator-ba6caed_GH0.tar.gz) = d78241b0a23e7b451c92d67a14626066e838dfe1fed098cf1032939c797cabf0
+SIZE (ONLYOFFICE-plugin-translator-ba6caed_GH0.tar.gz) = 140898
+SHA256 (ONLYOFFICE-plugin-youtube-4dec911_GH0.tar.gz) = 953526e6b8d56a21d1428be949cbb1dc1017b3a0d7f07703aaa860fdb5f9afc4
+SIZE (ONLYOFFICE-plugin-youtube-4dec911_GH0.tar.gz) = 11635
+SHA256 (ONLYOFFICE-plugin-zotero-c9f472f_GH0.tar.gz) = 8cabfed9f54e23630b7a0fec71db8e16c703b1c67eb85a439a09b5e311ac0ab9
+SIZE (ONLYOFFICE-plugin-zotero-c9f472f_GH0.tar.gz) = 33816
+SHA256 (ONLYOFFICE-build_tools-cf4cac94_GH0.tar.gz) = ef2617a425b3c4b5c893709725f2c4941cb872ecc8c6fbb966fb12ae80f50f18
+SIZE (ONLYOFFICE-build_tools-cf4cac94_GH0.tar.gz) = 4089822
+SHA256 (ONLYOFFICE-DocumentBuilder-4169685e6_GH0.tar.gz) = 697bd92c6d02973a5e9df78d3be888f7e305983eda3661e3a16ae7fbbee6bb9e
+SIZE (ONLYOFFICE-DocumentBuilder-4169685e6_GH0.tar.gz) = 1271109
+SHA256 (ONLYOFFICE-onlyoffice.github.io-ca730969_GH0.tar.gz) = 1612d7ab512bfe80001d40da99cb96761c0bfcd9026c1be5ba8ffa3a050ac085
+SIZE (ONLYOFFICE-onlyoffice.github.io-ca730969_GH0.tar.gz) = 13278
+SHA256 (ONLYOFFICE-document-server-package-c12273c0a_GH0.tar.gz) = c6b226a8616d1a897a64fdf3de4cdf2a70e9418fde911bb558cef84d57633fc5
+SIZE (ONLYOFFICE-document-server-package-c12273c0a_GH0.tar.gz) = 171493
+SHA256 (hackers-painters-katana-parser-499118d3_GH0.tar.gz) = ed83020cbe07877c7323d475491803797fac12ce4086966011c81023b9852c4b
+SIZE (hackers-painters-katana-parser-499118d3_GH0.tar.gz) = 97209
+SHA256 (google-gumbo-parser-aa91b27_GH0.tar.gz) = 1360f85c02fb2573a10f00abcddebc8f1ff277a16f66553439193af93afae335
+SIZE (google-gumbo-parser-aa91b27_GH0.tar.gz) = 2119417
diff --git a/www/onlyoffice-documentserver/files/extra-patch-pkg-fetch_lib-es5_build.js b/www/onlyoffice-documentserver/files/extra-patch-pkg-fetch_lib-es5_build.js
new file mode 100644
index 000000000000..aa81e8db03d8
--- /dev/null
+++ b/www/onlyoffice-documentserver/files/extra-patch-pkg-fetch_lib-es5_build.js
@@ -0,0 +1,24 @@
+--- server/node_modules/pkg-fetch/lib-es5/build.js.orig 2021-12-31 17:50:57.174508000 +0100
++++ server/node_modules/pkg-fetch/lib-es5/build.js 2021-12-31 17:50:42.893063000 +0100
+@@ -98,18 +98,14 @@ function getConfigureArgs(major, targetPlatform) {
+ if (targetPlatform === 'linuxstatic') {
+ args.push('--fully-static');
+ }
+- // Link Time Optimization
+- if (major >= 12) {
+- if (system_1.hostPlatform !== 'win') {
+- args.push('--enable-lto');
+- }
+- }
+ // DTrace
+ args.push('--without-dtrace');
+ // bundled npm package manager
+ args.push('--without-npm');
+ // Small ICU
+- args.push('--with-intl=small-icu');
++ args.push('--with-intl=system-icu');
++ args.push('--shared-openssl');
++ args.push('--openssl-use-def-ca-store');
+ // Workaround for nodejs/node#39313
+ // All supported macOS versions have zlib as a system library
+ if (targetPlatform === 'macos') {
diff --git a/www/onlyoffice-documentserver/files/extra-patch-pkg-fetch_patches_node.v16.13.0.cpp.patch b/www/onlyoffice-documentserver/files/extra-patch-pkg-fetch_patches_node.v16.13.0.cpp.patch
new file mode 100644
index 000000000000..123dd5c3a4c9
--- /dev/null
+++ b/www/onlyoffice-documentserver/files/extra-patch-pkg-fetch_patches_node.v16.13.0.cpp.patch
@@ -0,0 +1,174 @@
+--- server/node_modules/pkg-fetch/patches/node.v16.13.0.cpp.patch.orig 2021-12-30 20:04:18.203959000 +0100
++++ server/node_modules/pkg-fetch/patches/node.v16.13.0.cpp.patch 2021-12-30 20:09:53.210319000 +0100
+@@ -521,3 +521,171 @@ index 0000000000..fb2d47f52b
+ 'cflags_cc!': [ '-fno-rtti' ],
+ }],
+ [ 'OS == "mac" or OS == "ios"', {
++--- node/deps/openssl/config/archs/linux-elf/no-asm/openssl-cl.gypi.orig 2019-08-06 20:46:23 UTC
+++++ node/deps/openssl/config/archs/linux-elf/no-asm/openssl-cl.gypi
++@@ -12,7 +12,7 @@
++ '-Wall -O3 -fomit-frame-pointer',
++ ],
++ 'openssl_ex_libs_linux-elf': [
++- '-ldl -pthread',
+++ '-pthread',
++ ],
++ 'openssl_cli_srcs_linux-elf': [
++ 'openssl/apps/asn1pars.c',
++--- node/deps/openssl/config/archs/linux-elf/no-asm/openssl.gypi.orig 2021-03-17 20:16:25 UTC
+++++ node/deps/openssl/config/archs/linux-elf/no-asm/openssl.gypi
++@@ -698,7 +698,7 @@
++ '-Wall -O3 -fomit-frame-pointer',
++ ],
++ 'openssl_ex_libs_linux-elf': [
++- '-ldl -pthread',
+++ '-pthread',
++ ],
++ },
++ 'include_dirs': [
++--- node/deps/openssl/openssl_no_asm.gypi.orig 2020-09-08 12:17:11 UTC
+++++ node/deps/openssl/openssl_no_asm.gypi
++@@ -48,7 +48,7 @@
++ 'includes': ['config/archs/linux64-mips64/no-asm/openssl.gypi'],
++ }, {
++ # Other architectures don't use assembly
++- 'includes': ['config/archs/linux-x86_64/no-asm/openssl.gypi'],
+++ 'includes': ['config/archs/linux-elf/no-asm/openssl.gypi'],
++ }],
++ ],
++ }
++--- node/deps/openssl/openssl-cl_no_asm.gypi.orig 2020-09-08 12:17:10 UTC
+++++ node/deps/openssl/openssl-cl_no_asm.gypi
++@@ -1,4 +1,5 @@
++ {
+++ 'defines': ['OPENSSL_NO_ASM'],
++ 'conditions': [
++ ['target_arch=="ppc" and OS=="aix"', {
++ 'includes': ['config/archs/aix-gcc/no-asm/openssl-cl.gypi'],
++@@ -47,7 +48,7 @@
++ 'includes': ['config/archs/linux64-mips64/no-asm/openssl-cl.gypi'],
++ }, {
++ # Other architectures don't use assembly
++- 'includes': ['config/archs/linux-x86_64/no-asm/openssl-cl.gypi'],
+++ 'includes': ['config/archs/linux-elf/no-asm/openssl-cl.gypi'],
++ }],
++ ],
++ }
++--- node/deps/v8/src/base/platform/platform-freebsd.cc.orig 2020-06-30 17:49:16 UTC
+++++ node/deps/v8/src/base/platform/platform-freebsd.cc
++@@ -82,8 +82,8 @@ std::vector<OS::SharedLibraryAddress> OS::GetSharedLib
++ lib_name = std::string(path);
++ }
++ result.push_back(SharedLibraryAddress(
++- lib_name, reinterpret_cast<uintptr_t>(map->kve_start),
++- reinterpret_cast<uintptr_t>(map->kve_end)));
+++ lib_name, static_cast<uintptr_t>(map->kve_start),
+++ static_cast<uintptr_t>(map->kve_end)));
++ }
++
++ start += ssize;
++@@ -94,6 +94,48 @@ std::vector<OS::SharedLibraryAddress> OS::GetSharedLib
++ }
++
++ void OS::SignalCodeMovingGC() {}
+++
+++#ifdef __arm__
+++
+++bool OS::ArmUsingHardFloat() {
+++// GCC versions 4.6 and above define __ARM_PCS or __ARM_PCS_VFP to specify
+++// the Floating Point ABI used (PCS stands for Procedure Call Standard).
+++// We use these as well as a couple of other defines to statically determine
+++// what FP ABI used.
+++// GCC versions 4.4 and below don't support hard-fp.
+++// GCC versions 4.5 may support hard-fp without defining __ARM_PCS or
+++// __ARM_PCS_VFP.
+++
+++#define GCC_VERSION \
+++ (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__)
+++#if GCC_VERSION >= 40600 && !defined(__clang__)
+++#if defined(__ARM_PCS_VFP)
+++ return true;
+++#else
+++ return false;
+++#endif
+++
+++#elif GCC_VERSION < 40500 && !defined(__clang__)
+++ return false;
+++
+++#else
+++#if defined(__ARM_PCS_VFP)
+++ return true;
+++#elif defined(__ARM_PCS) || defined(__SOFTFP__) || defined(__SOFTFP) || \
+++ !defined(__VFP_FP__)
+++ return false;
+++#else
+++#error \
+++ "Your version of compiler does not report the FP ABI compiled for." \
+++ "Please report it on this issue" \
+++ "http://code.google.com/p/v8/issues/detail?id=2140"
+++
+++#endif
+++#endif
+++#undef GCC_VERSION
+++}
+++
+++#endif // def __arm__
++
++ void OS::AdjustSchedulingParams() {}
++
++--- node/deps/v8/src/codegen/ppc/constants-ppc.h.orig 2020-06-30 17:49:17 UTC
+++++ node/deps/v8/src/codegen/ppc/constants-ppc.h
++@@ -36,7 +36,7 @@
++ #endif
++
++ #if !(V8_HOST_ARCH_PPC || V8_HOST_ARCH_PPC64) || !V8_TARGET_ARCH_PPC64 || \
++- V8_TARGET_LITTLE_ENDIAN || (defined(_CALL_ELF) && _CALL_ELF == 2)
+++ (defined(_CALL_ELF) && _CALL_ELF == 2)
++ #define ABI_RETURNS_OBJECT_PAIRS_IN_REGS 1
++ #else
++ #define ABI_RETURNS_OBJECT_PAIRS_IN_REGS 0
++@@ -44,7 +44,7 @@
++
++ #if !(V8_HOST_ARCH_PPC || V8_HOST_ARCH_PPC64) || \
++ (V8_TARGET_ARCH_PPC64 && \
++- (V8_TARGET_LITTLE_ENDIAN || (defined(_CALL_ELF) && _CALL_ELF == 2)))
+++ (defined(_CALL_ELF) && _CALL_ELF == 2))
++ #define ABI_CALL_VIA_IP 1
++ #else
++ #define ABI_CALL_VIA_IP 0
++--- node/deps/v8/src/libsampler/sampler.cc.orig 2021-10-08 13:38:46 UTC
+++++ node/deps/v8/src/libsampler/sampler.cc
++@@ -490,6 +490,10 @@ void SignalHandler::FillRegisterState(void* context, R
++ state->pc = reinterpret_cast<void*>(mcontext.__gregs[_REG_PC]);
++ state->sp = reinterpret_cast<void*>(mcontext.__gregs[_REG_SP]);
++ state->fp = reinterpret_cast<void*>(mcontext.__gregs[_REG_FP]);
+++#elif V8_TARGET_ARCH_PPC64
+++ state->pc = reinterpret_cast<void*>(mcontext.mc_srr0);
+++ state->sp = reinterpret_cast<void*>(mcontext.mc_frame[1]);
+++ state->fp = reinterpret_cast<void*>(mcontext.mc_frame[31]);
++ #endif // V8_HOST_ARCH_*
++ #elif V8_OS_NETBSD
++ #if V8_HOST_ARCH_IA32
++--- node/node.gypi.orig 2021-03-03 05:40:19 UTC
+++++ node/node.gypi
++@@ -319,6 +319,9 @@
++ [ 'node_use_openssl=="true"', {
++ 'defines': [ 'HAVE_OPENSSL=1' ],
++ 'conditions': [
+++ ['openssl_no_asm==1', {
+++ 'defines': [ 'OPENSSL_NO_ASM' ],
+++ }],
++ [ 'node_shared_openssl=="false"', {
++ 'dependencies': [
++ './deps/openssl/openssl.gyp:openssl',
++--- node/src/cares_wrap.h.orig 2021-08-18 22:13:12 UTC
+++++ node/src/cares_wrap.h
++@@ -22,7 +22,7 @@
++ # include <netdb.h>
++ #endif // __POSIX__
++
++-# include <ares_nameser.h>
+++# include <arpa/nameser.h>
++
++ namespace node {
++ namespace cares_wrap {
diff --git a/www/onlyoffice-documentserver/files/local.json.sample b/www/onlyoffice-documentserver/files/local.json.sample
new file mode 100644
index 000000000000..afe6599ff513
--- /dev/null
+++ b/www/onlyoffice-documentserver/files/local.json.sample
@@ -0,0 +1,43 @@
+{
+ "services": {
+ "CoAuthoring": {
+ "sql": {
+ "type": "postgres",
+ "dbHost": "localhost",
+ "dbPort": "5432",
+ "dbName": "onlyoffice",
+ "dbUser": "onlyoffice",
+ "dbPass": "onlyoffice"
+ },
+ "token": {
+ "enable": {
+ "request": {
+ "inbox": false,
+ "outbox": false
+ },
+ "browser": false
+ },
+ "inbox": {
+ "header": "Authorization"
+ },
+ "outbox": {
+ "header": "Authorization"
+ }
+ },
+ "secret": {
+ "inbox": {
+ "string": "secret"
+ },
+ "outbox": {
+ "string": "secret"
+ },
+ "session": {
+ "string": "secret"
+ }
+ }
+ }
+ },
+ "rabbitmq": {
+ "url": "amqp://guest:guest@localhost"
+ }
+}
diff --git a/www/onlyoffice-documentserver/files/packagejsons/server/Common/package-lock.json b/www/onlyoffice-documentserver/files/packagejsons/server/Common/package-lock.json
new file mode 100644
index 000000000000..a65460f327f7
--- /dev/null
+++ b/www/onlyoffice-documentserver/files/packagejsons/server/Common/package-lock.json
@@ -0,0 +1,1028 @@
+{
+ "name": "common",
+ "version": "1.0.1",
+ "lockfileVersion": 1,
+ "requires": true,
+ "dependencies": {
+ "ajv": {
+ "version": "6.12.6",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
+ "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
+ "requires": {
+ "fast-deep-equal": "^3.1.1",
+ "fast-json-stable-stringify": "^2.0.0",
+ "json-schema-traverse": "^0.4.1",
+ "uri-js": "^4.2.2"
+ }
+ },
+ "amazon-s3-url-signer": {
+ "version": "https://github.com/agolybev/amazon-s3-url-signer/archive/v0.0.9.tar.gz",
+ "integrity": "sha512-wkmsZG000+d711di1U3690g3rE++ettaLZWDrAESgNhklr3wQcYEdEqAnQjgNirM0jjByQ9HTCeV48wFpHHguQ=="
+ },
+ "amqplib": {
+ "version": "0.5.6",
+ "resolved": "https://registry.npmjs.org/amqplib/-/amqplib-0.5.6.tgz",
+ "integrity": "sha512-J4TR0WAMPBHN+tgTuhNsSObfM9eTVTZm/FNw0LyaGfbiLsBxqSameDNYpChUFXW4bnTKHDXy0ab+nuLhumnRrQ==",
+ "requires": {
+ "bitsyntax": "~0.1.0",
+ "bluebird": "^3.5.2",
+ "buffer-more-ints": "~1.0.0",
+ "readable-stream": "1.x >=1.1.9",
+ "safe-buffer": "~5.1.2",
+ "url-parse": "~1.4.3"
+ }
+ },
+ "asap": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz",
+ "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY="
+ },
+ "asn1": {
+ "version": "0.2.6",
+ "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz",
+ "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==",
+ "requires": {
+ "safer-buffer": "~2.1.0"
+ }
+ },
+ "asn1.js": {
+ "version": "5.4.1",
+ "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz",
+ "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==",
+ "requires": {
+ "bn.js": "^4.0.0",
+ "inherits": "^2.0.1",
+ "minimalistic-assert": "^1.0.0",
+ "safer-buffer": "^2.1.0"
+ }
+ },
+ "assert-plus": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
+ "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU="
+ },
+ "asynckit": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
+ "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k="
+ },
+ "aws-sdk": {
+ "version": "2.1049.0",
+ "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1049.0.tgz",
+ "integrity": "sha512-+wls9iNlotMeoZepwgR0yPzXsjXzr2ijoi5ERmsPWfMTFMHkm6INndBtSkm6fpu/NZnl+7EaPPES2yhaqnhoJg==",
+ "requires": {
+ "buffer": "4.9.2",
+ "events": "1.1.1",
+ "ieee754": "1.1.13",
+ "jmespath": "0.15.0",
+ "querystring": "0.2.0",
+ "sax": "1.2.1",
+ "url": "0.10.3",
+ "uuid": "3.3.2",
+ "xml2js": "0.4.19"
+ }
+ },
+ "aws-sign2": {
+ "version": "0.7.0",
+ "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
+ "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg="
+ },
+ "aws4": {
+ "version": "1.11.0",
+ "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz",
+ "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA=="
+ },
+ "base64-js": {
+ "version": "1.5.1",
+ "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
+ "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA=="
+ },
+ "bcrypt-pbkdf": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
+ "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=",
+ "requires": {
+ "tweetnacl": "^0.14.3"
+ }
+ },
+ "bitsyntax": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/bitsyntax/-/bitsyntax-0.1.0.tgz",
+ "integrity": "sha512-ikAdCnrloKmFOugAfxWws89/fPc+nw0OOG1IzIE72uSOg/A3cYptKCjSUhDTuj7fhsJtzkzlv7l3b8PzRHLN0Q==",
+ "requires": {
+ "buffer-more-ints": "~1.0.0",
+ "debug": "~2.6.9",
+ "safe-buffer": "~5.1.2"
+ }
+ },
+ "bluebird": {
+ "version": "3.7.2",
+ "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz",
+ "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg=="
+ },
+ "bn.js": {
+ "version": "4.12.0",
+ "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
+ "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA=="
+ },
+ "buffer": {
+ "version": "4.9.2",
+ "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz",
+ "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==",
+ "requires": {
+ "base64-js": "^1.0.2",
+ "ieee754": "^1.1.4",
+ "isarray": "^1.0.0"
+ },
+ "dependencies": {
+ "isarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
+ }
+ }
+ },
+ "buffer-equal-constant-time": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz",
+ "integrity": "sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk="
+ },
+ "buffer-more-ints": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/buffer-more-ints/-/buffer-more-ints-1.0.0.tgz",
+ "integrity": "sha512-EMetuGFz5SLsT0QTnXzINh4Ksr+oo4i+UGTXEshiGCQWnsgSs7ZhJ8fzlwQ+OzEMs0MpDAMr1hxnblp5a4vcHg=="
+ },
+ "caseless": {
+ "version": "0.12.0",
+ "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
+ "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw="
+ },
+ "circular-json": {
+ "version": "0.5.9",
+ "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.5.9.tgz",
+ "integrity": "sha512-4ivwqHpIFJZBuhN3g/pEcdbnGUywkBblloGbkglyloVjjR3uT6tieI89MVOfbP2tHX5sgb01FuLgAOzebNlJNQ=="
+ },
+ "clone": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz",
+ "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18="
+ },
+ "co": {
+ "version": "4.6.0",
+ "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
+ "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ="
+ },
+ "combined-stream": {
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
+ "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
+ "requires": {
+ "delayed-stream": "~1.0.0"
+ }
+ },
+ "config": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/config/-/config-2.0.2.tgz",
+ "integrity": "sha512-duIbkKb0gls0bOtGwd1vaD4236MwepQlZcrMheOGrn3/9Px7oYFh8G4LB3ylGOlPr5wGoJRm8Grb2RihJZxuHQ==",
+ "requires": {
+ "json5": "^1.0.1"
+ }
+ },
+ "content-disposition": {
+ "version": "0.5.4",
+ "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz",
+ "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==",
+ "requires": {
+ "safe-buffer": "5.2.1"
+ },
+ "dependencies": {
+ "safe-buffer": {
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
+ "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ=="
+ }
+ }
+ },
+ "core-util-is": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz",
+ "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ=="
+ },
+ "dashdash": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
+ "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
+ "requires": {
+ "assert-plus": "^1.0.0"
+ }
+ },
+ "date-format": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/date-format/-/date-format-1.2.0.tgz",
+ "integrity": "sha1-YV6CjiM90aubua4JUODOzPpuytg="
+ },
+ "debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "requires": {
+ "ms": "2.0.0"
+ },
+ "dependencies": {
+ "ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
+ }
+ }
+ },
+ "delayed-stream": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
+ "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk="
+ },
+ "dnscache": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/dnscache/-/dnscache-1.0.2.tgz",
+ "integrity": "sha512-2FFKzmLGOnD+Y378bRKH+gTjRMuSpH7OKgPy31KjjfCoKZx7tU8Dmqfd/3fhG2d/4bppuN8/KtWMUZBAcUCRnQ==",
+ "requires": {
+ "asap": "^2.0.6",
+ "lodash.clone": "^4.5.0"
+ }
+ },
+ "ecc-jsbn": {
*** 29798 LINES SKIPPED ***