diff --git a/GIDs b/GIDs --- a/GIDs +++ b/GIDs @@ -326,7 +326,7 @@ cascade:*:383: omada:*:384: mtail:*:385: -# free: 386 +collaboraonline:*:386: # free: 387 # free: 388 ldap:*:389: diff --git a/UIDs b/UIDs --- a/UIDs +++ b/UIDs @@ -332,7 +332,7 @@ cascade:*:383:383::0:0:Cascade Daemon:/var/db/cascade:/usr/sbin/nologin omada:*:384:384::0:0:Omada Wireless Controller:/nonexistent:/usr/sbin/nologin mtail:*:385:385::0:0:mtail:/nonexistent:/usr/sbin/nologin -# free: 386 +collaboraonline:*:386:386::0:0:Collabora Online:/usr/local/share/collabora:/usr/sbin/nologin # free: 387 # free: 388 ldap:*:389:389::0:0:OpenLDAP Server:/nonexistent:/usr/sbin/nologin diff --git a/net/Makefile b/net/Makefile --- a/net/Makefile +++ b/net/Makefile @@ -91,6 +91,8 @@ SUBDIR += clusterit SUBDIR += cnd SUBDIR += containernetworking-plugins + SUBDIR += collabora-office-online + SUBDIR += collabora-online SUBDIR += corkscrew SUBDIR += corosync2 SUBDIR += corosync3 diff --git a/net/collabora-office-online/Makefile b/net/collabora-office-online/Makefile new file mode 100644 --- /dev/null +++ b/net/collabora-office-online/Makefile @@ -0,0 +1,240 @@ +PORTNAME= collabora-office-online +DISTVERSIONPREFIX=co- +DISTVERSION= 25.04.7-1 +CATEGORIES= net +MASTER_SITES= https://dev-www.libreoffice.org/src/ \ + https://dev-www.libreoffice.org/extern/:src1 +DIST_SUBDIR= collabora-office +DISTFILES= dragonbox-1.1.3.tar.gz \ + mdds-2.1.1.tar.xz \ + zxcvbn-c-2.6.tar.gz \ + frozen-1.2.0.tar.gz \ + libpng-1.6.50.tar.xz \ + pdfium-7012.tar.bz2 \ + afdko-4.0.2.tar.gz \ + liborcus-0.19.2.tar.xz \ + antlr4-cpp-runtime-4.13.2-source.zip \ + f543e6e2d7275557a839a164941c0a86e5f2c3f2a0042bfc434c88c6dde9e140-opens___.ttf:src1 + +EXTRACT_ONLY= LibreOffice-core-${DISTVERSIONPREFIX}${DISTVERSION}_GH0.tar.gz \ + LibreOffice-dictionaries-43e5151caa1951fdf03a768f946a19566376dc39_GH0.tar.gz \ + LibreOffice-translations-65f49d9bf5ecc57ac31094de75a9b0a75e544f3d_GH0.tar.gz + +MAINTAINER= jsm@FreeBSD.org +COMMENT= LibreOffice flavor for online collaboration +WWW= https://collaboraonline.github.io/ + +LICENSE= GPLv3 LGPL3 MPL20 +LICENSE_COMB= multi +BINARY_ALIAS= sed=gsed +BUILD_DEPENDS= autoconf>=2.72:devel/autoconf \ + afdko>=4.0.2:x11-fonts/afdko \ + automake>=1.17:devel/automake \ + bash>=5.3.3:shells/bash \ + nasm>=2.16.0.3:devel/nasm \ + fontconfig>=2.12:x11-fonts/fontconfig \ + gsed:textproc/gsed \ + gperf>=3.2.1:devel/gperf \ + patch>=2.7.6:devel/patch \ + cppunit-config:devel/cppunit \ + zip>=3.0:archivers/zip \ + ${LOCALBASE}/include/glm/glm.hpp:math/glm \ + ${LOCALBASE}/include/fast_float/fast_float.h:math/fast_float \ + ${LOCALBASE}/include/sqlext.h:databases/unixODBC \ + ${LOCALBASE}/include/sane/sane.h:graphics/sane-backends + + + +LIB_DEPENDS= libboost_date_time.so:devel/boost-libs \ + libnss3.so:security/nss \ + libsmime3.so:security/nss \ + libssl3.so:security/nss \ + libnssutil3.so:security/nss \ + libplds4.so:devel/nspr \ + libplc4.so:devel/nspr \ + libnspr4.so:devel/nspr \ + liblangtag.so:devel/liblangtag \ + libexpat.so:textproc/expat2 \ + libraptor2.so:textproc/raptor2 \ + liblcms2.so:graphics/lcms2 \ + liblcms2_fast_float.so:graphics/lcms2 \ + liblcms2_threaded.so:graphics/lcms2 \ + libtiff.so:graphics/tiff \ + libwebp.so:graphics/webp \ + libfontconfig.so:x11-fonts/fontconfig \ + libfreetype.so:print/freetype2 \ + libltdl.so:devel/libltdl \ + libCbcSolver.so:math/cbc \ + libCbc.so:math/cbc \ + libnauty.so:math/nauty \ + libCgl.so:math/cgl \ + libOsi.so:math/osi \ + libOsiClp.so:math/clp \ + libClpSolver.so:math/clp \ + libClp.so:math/clp \ + libCoinUtils.so:math/coinutils \ + libcoinasl.so:math/asl \ + libcoinmumps.so:math/coin-or-mumps \ + libicuuc.so:devel/icu \ + libcurl.so:ftp/curl \ + libopenblas.so:math/openblas \ + libcmis-0.6.so:net/libcmis \ + libmd4c.so.0:textproc/md4c \ + libjpeg.so.8:graphics/jpeg-turbo \ + libclucene-core.so:textproc/clucene \ + libxmlsec1-nss.so:security/xmlsec1 \ + librevenge-0.0.so:textproc/librevenge \ + libodfgen-0.1.so:textproc/libodfgen01 \ + libepubgen-0.1.so:textproc/libepubgen \ + libwpd-0.10.so:textproc/libwpd010 \ + libwpg-0.3.so:graphics/libwpg03 \ + libwps-0.4.so:textproc/libwps \ + libvisio-0.1.so:textproc/libvisio01 \ + libcdr-0.1.so:graphics/libcdr01 \ + libmspub-0.1.so:print/libmspub01 \ + libmwaw-0.3.so:textproc/libmwaw03 \ + libetonyek-0.1.so:graphics/libetonyek01 \ + libfreehand-0.1.so:graphics/libfreehand \ + libe-book-0.1.so:textproc/libe-book \ + libabw-0.1.so:textproc/libabw \ + libpagemaker-0.0.so:print/libpagemaker \ + libqxp-0.0.so:textproc/libqxp \ + libzmf-0.0.so:graphics/libzmf \ + libstaroffice-0.0.so:textproc/libstaroffice \ + libgraphite2.so:graphics/graphite2 \ + libharfbuzz.so:print/harfbuzz \ + libharfbuzz-icu.so:print/harfbuzz-icu \ + libharfbuzz.so:print/harfbuzz \ + libargon2.so:security/libargon2 \ + librdf.so:textproc/redland \ + libhunspell-1.7.so:textproc/hunspell \ + libZXing.so:textproc/zxing-cpp \ + libbox2d.so:misc/box2d \ + libhyphen.so:textproc/hyphen \ + libmythes-1.2.so:textproc/mythes \ + libCoinMP.so:math/coinmp \ + libexttextcat-2.0.so:textproc/libexttextcat \ + libnumbertext-1.0.so:textproc/libnumbertext \ + libabsl_strings.so:devel/abseil + +CONFIGURE_ENV+= CFLAGS="-I${LOCALBASE}/include" \ + LDFLAGS"=-L${LOCALBASE}/lib" \ + CXXFLAGS="-I${LOCALBASE}/include" +MAKE_ENV+= ${CONFIGURE_ENV} \ + GNUSED=${LOCALBASE}/bin/gsed +USES= bison gmake perl5 pkgconfig gnome python gettext ldap localbase:ldflags ssl +USE_LDCONFIG= ${PREFIX}/share/collabora-office-online/instdir/program +USE_GNOME= libxml2 libxslt cairo +USE_GITHUB= yes +GH_ACCOUNT= LibreOffice +GH_PROJECT= core +GH_TAGNAME= ${DISTVERSIONPREFIX}${DISTVERSION} +GH_TUPLE= LibreOffice:translations:65f49d9bf5ecc57ac31094de75a9b0a75e544f3d:translations/translations \ + LibreOffice:dictionaries:43e5151caa1951fdf03a768f946a19566376dc39:dictionaries/dictionaries +GNU_CONFIGURE= no +CC= cc +CXX= c++ +ALL_TARGET= "" + +CONFIGURE_ARGS= --disable-dependency-tracking \ + --with-system-libs \ + --disable-firebird-sdbc \ + --disable-online-update \ + --disable-dbgutil \ + --enable-release-build \ + --enable-hardening-flags \ + --enable-mpl-subset \ + --with-vendor="FreeBSD Ports" \ + --enable-community-flavor \ + --with-system-dicts \ + --with-system-nss \ + --with-myspell-dicts \ + --with-system-openjpeg=no \ + --with-system-libs \ + --disable-poppler \ + --with-system-orcus=no \ + --with-system-boost \ + --with-boost=${LOCALBASE} \ + --with-system-mdds=no \ + --with-system-abseil \ + --with-system-argon2 \ + --with-system-cppunit \ + --with-system-curl \ + --with-system-expat \ + --with-system-icu \ + --with-system-fast-float \ + --with-system-dragonbox=no \ + --with-system-frozen=no \ + --with-system-gpgmepp \ + --with-system-libtiff \ + --with-system-libxml \ + --with-system-nss \ + --with-system-liblangtag \ + --with-system-zlib \ + --with-system-zxcvbn=no \ + --with-system-zxing \ + --with-system-frozen=no \ + --with-system-libfixmath=no \ + --with-system-libpng=no \ + --enable-mergelibs \ + --without-java \ + --without-junit \ + --without-help \ + --with-linker-hash-style=both \ + --without-fonts \ + --with-galleries=no \ + --with-theme="colibre colibre_svg" \ + --disable-dbus \ + --enable-extension-integration \ + --disable-odk \ + --disable-kf5 \ + --disable-gtk3 \ + --disable-qt5 \ + --disable-gstreamer-1-0 \ + --disable-evolution2 \ + --disable-gio \ + --disable-gui \ + --disable-scripting-beanshell \ + --disable-scripting-javascript \ + --disable-ext-wiki-publisher \ + --disable-report-builder \ + --disable-ext-nlpsolver \ + --disable-sdremote \ + --disable-sdremote-bluetooth \ + --disable-postgresql-sdbc \ + --disable-firebird-sdbc \ + --disable-randr \ + --disable-epm \ + --enable-python=system \ + --disable-online-update \ + --disable-dconf \ + --without-package-format \ + --with-lang="ar bg ca cs da de el en-US en-GB eo es eu fi fr gl he hr hu hy id is it ja ko lo nb nl oc pl pt pt-BR sq ru sk sl sv tr uk vi zh-CN zh-TW" \ + --with-external-thes-dir=${LOCALBASE}/share/mythes \ + --with-external-hyph-dir=${LOCALBASE}/share/hyphen \ + --with-external-dict-dir=${LOCALBASE}/share/hunspell \ + --disable-lotuswordpro \ + --disable-lpsolve \ + --enable-sal-log \ + --without-templates \ + --with-buildconfig-recorded \ + --with-gnu-patch=/usr/local/bin/gpatch \ + --disable-fetch-external \ + --with-external-tar=${DISTDIR}/${DIST_SUBDIR} +post-patch: + cp ${FILESDIR}/configure.ac.patch.0 ${WRKSRC}/external/liborcus/configure.ac.patch.0 +do-configure: + cd ${WRKSRC} && ${SETENV} ${CONFIGURE_ENV} ./autogen.sh CC=${CC} CXX=${CXX} ${CONFIGURE_ARGS} +do-install: + ${MKDIR} ${STAGEDIR}${PREFIX}/include/${PORTNAME}/include + ${MKDIR} ${STAGEDIR}${PREFIX}/share/${PORTNAME} + ${CP} -a ${WRKSRC}/instdir ${STAGEDIR}${PREFIX}/share/${PORTNAME} + ${CP} -a ${WRKSRC}/include/LibreOfficeKit ${STAGEDIR}${PREFIX}/include/${PORTNAME}/include +post-install: + @cd ${STAGEDIR}${PREFIX} && \ + ${FIND} -s share/${PORTNAME}/instdir include/${PORTNAME}/include -type d -empty \ + -exec ${ECHO_CMD} "@dir {}" \; >> ${TMPPLIST} + @cd ${STAGEDIR}${PREFIX} && \ + ${FIND} -s share/${PORTNAME}/instdir include/${PORTNAME}/include -not -type d >> ${TMPPLIST} + +.include diff --git a/net/collabora-office-online/distinfo b/net/collabora-office-online/distinfo new file mode 100644 --- /dev/null +++ b/net/collabora-office-online/distinfo @@ -0,0 +1,27 @@ +TIMESTAMP = 1762897223 +SHA256 (collabora-office/dragonbox-1.1.3.tar.gz) = 09d63b05e9c594ec423778ab59b7a5aa1d76fdd71d25c7048b0258c4ec9c3384 +SIZE (collabora-office/dragonbox-1.1.3.tar.gz) = 4337233 +SHA256 (collabora-office/mdds-2.1.1.tar.xz) = 1483d90cefb8aa4563c4d0a85cb7b243aa95217d235d422e9ca6722fd5b97e56 +SIZE (collabora-office/mdds-2.1.1.tar.xz) = 540732 +SHA256 (collabora-office/zxcvbn-c-2.6.tar.gz) = 11e39f6776f9c82c68b2acb94336e32697d4ab6cdb4ac16f9583ccbdd735113a +SIZE (collabora-office/zxcvbn-c-2.6.tar.gz) = 1405136 +SHA256 (collabora-office/frozen-1.2.0.tar.gz) = ed8339c017d7c5fe019ac2c642477f435278f0dc643c1d69d3f3b1e95915e823 +SIZE (collabora-office/frozen-1.2.0.tar.gz) = 187169 +SHA256 (collabora-office/libpng-1.6.50.tar.xz) = 4df396518620a7aa3651443e87d1b2862e4e88cad135a8b93423e01706232307 +SIZE (collabora-office/libpng-1.6.50.tar.xz) = 1060992 +SHA256 (collabora-office/pdfium-7012.tar.bz2) = e647ca4fcc2c91d9dca717452e1b1be1ab6155ac4977dca716041652c7b10bdd +SIZE (collabora-office/pdfium-7012.tar.bz2) = 11270991 +SHA256 (collabora-office/afdko-4.0.2.tar.gz) = e1a31e871e83dd022635b852297c433c8e9c9d9d4f0c0f634e8d55dde28ad930 +SIZE (collabora-office/afdko-4.0.2.tar.gz) = 17804422 +SHA256 (collabora-office/liborcus-0.19.2.tar.xz) = 69ed26a00d4aaa7688e62a6e003cbc81928521a45e96605e53365aa499719e39 +SIZE (collabora-office/liborcus-0.19.2.tar.xz) = 2211268 +SHA256 (collabora-office/antlr4-cpp-runtime-4.13.2-source.zip) = 0ed13668906e86dbc0dcddf30fdee68c10203dea4e83852b4edb810821bee3c4 +SIZE (collabora-office/antlr4-cpp-runtime-4.13.2-source.zip) = 3182150 +SHA256 (collabora-office/f543e6e2d7275557a839a164941c0a86e5f2c3f2a0042bfc434c88c6dde9e140-opens___.ttf) = f543e6e2d7275557a839a164941c0a86e5f2c3f2a0042bfc434c88c6dde9e140 +SIZE (collabora-office/f543e6e2d7275557a839a164941c0a86e5f2c3f2a0042bfc434c88c6dde9e140-opens___.ttf) = 207992 +SHA256 (collabora-office/LibreOffice-core-co-25.04.7-1_GH0.tar.gz) = 7359254ceea6398fe416c91c6cd26c8b3a72eba18de24292a0d12d9511e6dd22 +SIZE (collabora-office/LibreOffice-core-co-25.04.7-1_GH0.tar.gz) = 340581183 +SHA256 (collabora-office/LibreOffice-translations-65f49d9bf5ecc57ac31094de75a9b0a75e544f3d_GH0.tar.gz) = 2fd529ef8e1855d76df50b9d1a2cae86788db6aa35fb1bc1bd4a3ce0f532864f +SIZE (collabora-office/LibreOffice-translations-65f49d9bf5ecc57ac31094de75a9b0a75e544f3d_GH0.tar.gz) = 371540977 +SHA256 (collabora-office/LibreOffice-dictionaries-43e5151caa1951fdf03a768f946a19566376dc39_GH0.tar.gz) = 776281dcca4bf15d3a155684bd23699c87dd61593fb263cbad9240cc8867be61 +SIZE (collabora-office/LibreOffice-dictionaries-43e5151caa1951fdf03a768f946a19566376dc39_GH0.tar.gz) = 110669672 diff --git a/net/collabora-office-online/files/configure.ac.patch.0 b/net/collabora-office-online/files/configure.ac.patch.0 new file mode 100644 --- /dev/null +++ b/net/collabora-office-online/files/configure.ac.patch.0 @@ -0,0 +1,18 @@ +--- configure.ac.orig 2025-11-11 02:55:26.008154000 +0000 ++++ configure.ac 2025-11-11 02:55:45.409445000 +0000 +@@ -92,7 +92,6 @@ + AC_SUBST(ORCUS_MICRO_VERSION) + + BOOST_REQUIRE([1.36]) +-BOOST_SYSTEM + AS_IF([test "x$have_filesystem" != "xyes" -a "x$have_experimental_filesystem" != "xyes"], [ + BOOST_FILESYSTEM + ]) +@@ -250,7 +249,6 @@ + + AS_IF([test "x$with_tools" != "xno"], [ + BOOST_PROGRAM_OPTIONS +- BOOST_SYSTEM + ]) + + # ============ diff --git a/net/collabora-office-online/files/patch-Makefile.in b/net/collabora-office-online/files/patch-Makefile.in new file mode 100644 --- /dev/null +++ b/net/collabora-office-online/files/patch-Makefile.in @@ -0,0 +1,20 @@ +--- Makefile.in.orig 2025-11-11 13:27:11.807538000 +0000 ++++ Makefile.in 2025-11-11 13:27:49.815778000 +0000 +@@ -9,7 +9,7 @@ + + gb_Top_MODULE_CHECK_TARGETS := slowcheck unitcheck subsequentcheck perfcheck uicheck screenshot + +-.PHONY : check-if-root bootstrap gbuild build build-non-l10n-only build-l10n-only check clean clean-build clean-host test-install distclean distro-pack-install docs download etags fetch get-submodules id install install-gdb-printers install-strip tags debugrun help showmodules translations packageinfo coverage internal.clean $(gb_Top_MODULE_CHECK_TARGETS) ++.PHONY : bootstrap gbuild build build-non-l10n-only build-l10n-only check clean clean-build clean-host test-install distclean distro-pack-install docs download etags fetch get-submodules id install install-gdb-printers install-strip tags debugrun help showmodules translations packageinfo coverage internal.clean $(gb_Top_MODULE_CHECK_TARGETS) + + MAKECMDGOALS?=build + build_goal:=$(if $(filter build uicheck,$(MAKECMDGOALS)),build)\ +@@ -289,7 +289,7 @@ + # + # Bootstrap + # +-bootstrap: check-if-root compilerplugins ++bootstrap: compilerplugins + + # + # Build diff --git a/net/collabora-office-online/files/patch-configure.ac b/net/collabora-office-online/files/patch-configure.ac new file mode 100644 --- /dev/null +++ b/net/collabora-office-online/files/patch-configure.ac @@ -0,0 +1,11 @@ +--- configure.ac.orig 2025-11-10 20:36:45 UTC ++++ configure.ac +@@ -11897,7 +11897,7 @@ else + save_CXXFLAGS=$CXXFLAGS + save_IFS=$IFS + IFS=$P_SEP +- for i in $CPLUS_INCLUDE_PATH /usr/include; do ++ for i in $CPLUS_INCLUDE_PATH /usr/local/include; do + dnl Reset IFS as soon as possible, to avoid unexpected side effects (and the + dnl "/usr/include" fallback makes sure we get here at least once; resetting rather than + dnl unsetting follows the advice at ++#endif + #if defined(__linux) || defined(__FreeBSD__) + #include + #if __BYTE_ORDER == __LITTLE_ENDIAN diff --git a/net/collabora-office-online/files/patch-solenv_gbuild_platform_unxgcc.mk b/net/collabora-office-online/files/patch-solenv_gbuild_platform_unxgcc.mk new file mode 100644 --- /dev/null +++ b/net/collabora-office-online/files/patch-solenv_gbuild_platform_unxgcc.mk @@ -0,0 +1,11 @@ +--- solenv/gbuild/platform/unxgcc.mk.orig 2025-11-11 20:59:24.708848000 +0100 ++++ solenv/gbuild/platform/unxgcc.mk 2025-11-11 20:59:43.136593000 +0100 +@@ -151,7 +151,7 @@ + $(foreach object,$(GENCXXOBJECTS),$(call gb_GenCxxObject_get_target,$(object))) \ + $(foreach object,$(GENASMOBJECTS),$(call gb_GenAsmObject_get_target,$(object))) \ + $(foreach object,$(GENNASMOBJECTS),$(call gb_GenNasmObject_get_target,$(object))) \ +- $(foreach extraobjectlist,$(EXTRAOBJECTLISTS),`cat $(extraobjectlist)`) \ ++ $(foreach extraobjectlist,$(EXTRAOBJECTLISTS),@$(extraobjectlist)) \ + $(if $(filter TRUE,$(DISABLE_DYNLOADING)), \ + -Wl$(COMMA)--start-group \ + $(shell echo -n \ diff --git a/net/collabora-office-online/pkg-descr b/net/collabora-office-online/pkg-descr new file mode 100644 --- /dev/null +++ b/net/collabora-office-online/pkg-descr @@ -0,0 +1,3 @@ +Collabora Online office suite based on LibreOffice, for online collaboration +for instance through Nextcloud Office. Requires also net/collabora-online and nextcloud or +other integrationinig programs. diff --git a/net/collabora-online/Makefile b/net/collabora-online/Makefile new file mode 100644 --- /dev/null +++ b/net/collabora-online/Makefile @@ -0,0 +1,75 @@ +PORTNAME= collabora-online +DISTVERSIONPREFIX= cp- +DISTVERSION= 25.04.7-1 +CATEGORIES= net +MASTER_SITES= LOCAL/jsm:source1 +DISTFILES= node-modules-${DISTVERSIONPREFIX}${GH_PROJECT}-${DISTVERSION}.tar.gz:source1 \ + +MAINTAINER= jsm@FreeBSD.org +COMMENT= CollaBoraOnline CODE server + +LICENSE= MPL20 + +USES= autoreconf iconv:wchar_t gmake libtool localbase nodejs pkgconfig python ssl python:env +USE_RC_SUBR= coolwsd +USE_GITHUB= yes +GH_ACCOUNT= collaboraonline +GH_PROJECT= online +USE_RC_SUBR= coolwsd +PATCH_SITES= https://github.com/jsm222/online/commit/ +PATCHFILES= 3d5fad0655f922928c398e64f11e2cbfa9a56546.diff:-p1 \ + aec4281a4902fed29a741579f439435050d76544.diff:-p1 \ + 33979b70c51282e97dee3c27b828843ae4d6b88a.diff:-p1 \ + 05af5eba22fd45363b9b8a402ac4882b0432c1d0.diff:-p1 \ + 64f22585d36d01df37afbde1ee039c52f944faa3.diff:-p1 \ + 3ab3adc64435c8e03ee057ecdad61cb3023c29a4.diff:-p1 + +BUILD_DEPENDS= ${PYTHON_SITELIBDIR}/lxml/__init__.py:devel/py-lxml\ + ${LOCALBASE}/include/collabora-office-online/include/LibreOfficeKit/LibreOfficeKit.h:net/collabora-office-online \ + ${PYTHON_SITELIBDIR}/polib.py:devel/py-polib \ + npm:www/npm-node${NODEJS_VERSION} \ + rsync:net/rsync \ + ${LOCALBASE}/lib/libcppunit.so:devel/cppunit \ + bash:shells/bash \ + grealpath:sysutils/coreutils +LIB_DEPENDS= libzstd.so:archivers/zstd \ + libpng16.so:graphics/png \ + libPocoNet.so:devel/poco +SUB_FILES= pkg-message +USERS= collaboraonline +GROUPS= collaboraonline +CC=cc +CXX=c++ +CPPFLAGS+=-DLOK_LOADLIB_GLOBAL +CONFIGURE_ARGS= --prefix=${LOCALBASE} --sysconfdir=${LOCALBASE}/etc \ + --localstatedir=/var \ + --enable-silent-rules \ + --with-lokit-path=${LOCALBASE}/include/collabora-office-online/include \ + --disable-seccomp \ + --with-poco-includes=${LOCALBASE}/include --disable-tests \ + --disable-dependency-tracking \ + --with-lo-path=${LOCALBASE}/share/collabora-office-online/instdir \ + --with-dictionaries="ar bg ca cs da de el en eo es eu fi fr gl he hr hu hy id is it ja ko lo nb nl oc pl pt pt-BR sq ru sk sl sv tr uk vi zh-CN zh-TW" \ + --with-user-id=collaboraonline \ + --disable-tests \ + +GNU_CONFIGURE= yes +post-extract: + ${CP} ${FILESDIR}/collabora-online-sbom.spdx.json ${WRKSRC}/collabora-online-sbom.spdx.json + ${TAR} -C ${WRKSRC}/browser -xvzf ${DISTDIR}/node-modules-${DISTVERSIONPREFIX}${GH_PROJECT}-${DISTVERSION}.tar.gz +post-patch: + ${REINPLACE_CMD} s/python3/${PYTHON_VERSION}/g ${WRKSRC}/scripts/create-sbom.py \ + ${WRKSRC}/configure.ac \ + ${WRKSRC}/Makefile.am \ + ${WRKSRC}/browser/util/po2json.py \ + ${WRKSRC}/browser/util/appendwelcome.py \ + ${WRKSRC}/scripts/unocommands.py +post-install: + ${CHMOD} 4755 ${STAGEDIR}${PREFIX}/bin/coolmount + ${CHMOD} 4755 ${STAGEDIR}${PREFIX}/bin/coolforkit-caps + ${INSTALL_DATA} ${STAGEDIR}${PREFIX}/etc/coolwsd/coolwsd.xml ${STAGEDIR}${PREFIX}/etc/coolwsd/coolwsd.xml.sample + + + + +.include diff --git a/net/collabora-online/distinfo b/net/collabora-online/distinfo new file mode 100644 --- /dev/null +++ b/net/collabora-online/distinfo @@ -0,0 +1,17 @@ +TIMESTAMP = 1769790063 +SHA256 (node-modules-cp-online-25.04.7-1.tar.gz) = 73a01156ea550445670a785a3e9f27e272d3fceb84d2658f3dcbbe55e7a8bfc9 +SIZE (node-modules-cp-online-25.04.7-1.tar.gz) = 41624084 +SHA256 (collaboraonline-online-cp-25.04.7-1_GH0.tar.gz) = ebb33915c802db47aacd53d6b3296073262e8c3318bb2a2ee2667c53c33e0edd +SIZE (collaboraonline-online-cp-25.04.7-1_GH0.tar.gz) = 57043118 +SHA256 (3d5fad0655f922928c398e64f11e2cbfa9a56546.diff) = f9bd892c4eec483cab048ebe24e2bd2da9cca10627d2f8fd5ea358f8ea809241 +SIZE (3d5fad0655f922928c398e64f11e2cbfa9a56546.diff) = 21339 +SHA256 (aec4281a4902fed29a741579f439435050d76544.diff) = 7131552fb526e662b88643ae670781446562a49448ab2db0955db1ca191e6843 +SIZE (aec4281a4902fed29a741579f439435050d76544.diff) = 1657 +SHA256 (33979b70c51282e97dee3c27b828843ae4d6b88a.diff) = c53101b18d763df07303f95eb426deaecd263697de0c53ee09e10cc31735ee44 +SIZE (33979b70c51282e97dee3c27b828843ae4d6b88a.diff) = 775 +SHA256 (05af5eba22fd45363b9b8a402ac4882b0432c1d0.diff) = 094a363880f68401721b88abcba9e3802811e9d1afc8692f7451892613fccbea +SIZE (05af5eba22fd45363b9b8a402ac4882b0432c1d0.diff) = 1886 +SHA256 (64f22585d36d01df37afbde1ee039c52f944faa3.diff) = 77e16840e11b743cb8c3c30d2108e123207dc86c21876e2ab818c5b6e62ffa3e +SIZE (64f22585d36d01df37afbde1ee039c52f944faa3.diff) = 636 +SHA256 (3ab3adc64435c8e03ee057ecdad61cb3023c29a4.diff) = 9d2fbdf494d858147981f7ab964c4ae568125217e9d2b88baaac96040afd6442 +SIZE (3ab3adc64435c8e03ee057ecdad61cb3023c29a4.diff) = 2517 diff --git a/net/collabora-online/files/collabora-online-sbom.spdx.json b/net/collabora-online/files/collabora-online-sbom.spdx.json new file mode 100644 --- /dev/null +++ b/net/collabora-online/files/collabora-online-sbom.spdx.json @@ -0,0 +1,369 @@ +{ + "SPDXID": "SPDXRef-DOCUMENT", + "spdxVersion": "SPDX-2.3", + "dataLicense": "CC0-1.0", + "name": "Collabora Online", + "documentNamespace": "http://spdx.org/spdxdocs/coolwsd-25.04.7.1", + "creationInfo": { + "creators": [ + "Tool: Custom Script" + ], + "created": "2025-11-16T15:41:31Z" + }, + "packages": [ + { + "SPDXID": "SPDXRef-coolwsd", + "name": "coolwsd", + "versionInfo": "25.04.7.1", + "filesAnalyzed": false, + "downloadLocation": "NONE", + "licenseConcluded": "MPL-2.0", + "externalRefs": [ + { + "referenceCategory": "SECURITY", + "referenceType": "vulnerability", + "referenceLocator": "https://github.com/CollaboraOnline/online/security/advisories" + } + ] + }, + { + "SPDXID": "SPDXRef-openssl", + "name": "OpenSSL", + "versionInfo": "3.0.16", + "filesAnalyzed": false, + "downloadLocation": "NONE", + "licenseConcluded": "Apache-2.0" + }, + { + "SPDXID": "SPDXRef-libzstd", + "name": "libzstd", + "versionInfo": "1.5.7", + "filesAnalyzed": false, + "downloadLocation": "NONE", + "licenseConcluded": "BSD-3-Clause" + }, + { + "SPDXID": "SPDXRef-libpng", + "name": "libpng", + "versionInfo": "1.6.50", + "filesAnalyzed": false, + "downloadLocation": "NONE", + "licenseConcluded": "libpng-2.0" + }, + { + "SPDXID": "SPDXRef-poco", + "name": "Poco", + "versionInfo": "1.13.3", + "filesAnalyzed": false, + "downloadLocation": "NONE", + "licenseConcluded": "BSL-1.0" + }, + { + "SPDXID": "SPDXRef-libz", + "name": "libz", + "versionInfo": "1.3.0", + "filesAnalyzed": false, + "downloadLocation": "NONE", + "licenseConcluded": "Zlib" + }, + { + "SPDXID": "SPDXRef-double-conversion", + "name": "double-conversion", + "versionInfo": "3.3.0", + "filesAnalyzed": false, + "downloadLocation": "NONE", + "licenseConcluded": "BSD-3-Clause" + }, + { + "SPDXID": "SPDXRef-pcre2", + "name": "pcre2", + "versionInfo": "10.42", + "filesAnalyzed": false, + "downloadLocation": "NONE", + "licenseConcluded": "BSD-3-Clause" + }, + { + "SPDXID": "SPDXRef-expat", + "name": "expat", + "versionInfo": "2.5.0", + "filesAnalyzed": false, + "downloadLocation": "NONE", + "licenseConcluded": "MIT" + }, + { + "SPDXID": "SPDXRef-Autolinker", + "name": "Autolinker.js", + "versionInfo": "3.14.1", + "filesAnalyzed": false, + "downloadLocation": "NONE", + "licenseConcluded": "MIT" + }, + { + "SPDXID": "SPDXRef-sanitize-url", + "name": "braintree/sanitize-url", + "versionInfo": "6.0.2", + "filesAnalyzed": false, + "downloadLocation": "NONE", + "licenseConcluded": "MIT" + }, + { + "SPDXID": "SPDXRef-Bulma", + "name": "Bulma", + "versionInfo": "0.8.2", + "filesAnalyzed": false, + "downloadLocation": "NONE", + "licenseConcluded": "MIT" + }, + { + "SPDXID": "SPDXRef-fzstd", + "name": "fzstd", + "versionInfo": "0.1.0", + "filesAnalyzed": false, + "downloadLocation": "NONE", + "licenseConcluded": "MIT" + }, + { + "SPDXID": "SPDXRef-hammer", + "name": "hammer.js", + "versionInfo": "2.0.7", + "filesAnalyzed": false, + "downloadLocation": "NONE", + "licenseConcluded": "MIT" + }, + { + "SPDXID": "SPDXRef-jquery", + "name": "jQuery", + "versionInfo": "3.5.1", + "filesAnalyzed": false, + "downloadLocation": "NONE", + "licenseConcluded": "MIT" + }, + { + "SPDXID": "SPDXRef-jquery-contextMenu", + "name": "jQuery contextMenu", + "versionInfo": "2.9.2", + "filesAnalyzed": false, + "downloadLocation": "NONE", + "licenseConcluded": "MIT" + }, + { + "SPDXID": "SPDXRef-jquery-mousewheel", + "name": "jQuery Mousewheel", + "versionInfo": "3.1.13", + "filesAnalyzed": false, + "downloadLocation": "NONE", + "licenseConcluded": "MIT" + }, + { + "SPDXID": "SPDXRef-jquery-ui", + "name": "jQuery UI", + "versionInfo": "1.13.2", + "filesAnalyzed": false, + "downloadLocation": "NONE", + "licenseConcluded": "MIT" + }, + { + "SPDXID": "SPDXRef-leaflet", + "name": "Leaflet", + "versionInfo": "0.8-dev", + "filesAnalyzed": false, + "downloadLocation": "NONE", + "licenseConcluded": "BSD-2-Clause" + }, + { + "SPDXID": "SPDXRef-ResizeObserverPolyfill", + "name": "ResizeObserverPolyfill.js", + "versionInfo": "1.5.1", + "filesAnalyzed": false, + "downloadLocation": "NONE", + "licenseConcluded": "MIT" + }, + { + "SPDXID": "SPDXRef-select2", + "name": "Select2", + "versionInfo": "4.0.13", + "filesAnalyzed": false, + "downloadLocation": "NONE", + "licenseConcluded": "MIT" + }, + { + "SPDXID": "SPDXRef-smartmenus", + "name": "SmartMenus jQuery Plugin", + "versionInfo": "1.0.0", + "filesAnalyzed": false, + "downloadLocation": "NONE", + "licenseConcluded": "MIT" + }, + { + "SPDXID": "SPDXRef-gl-matrix", + "name": "gl-matrix", + "versionInfo": "3.4.3", + "filesAnalyzed": false, + "downloadLocation": "NONE", + "licenseConcluded": "MIT" + }, + { + "SPDXID": "SPDXRef-l10n", + "name": "l10n.js", + "versionInfo": "2016-05-17", + "filesAnalyzed": false, + "downloadLocation": "NONE", + "licenseConcluded": "MIT", + "externalRefs": [ + { + "referenceCategory": "OTHER", + "referenceType": "URL", + "referenceLocator": "https://github.com/eligrey/l10n.js" + } + ] + }, + { + "SPDXID": "SPDXRef-dompurify", + "name": "DOMPurify", + "versionInfo": "3.2.4", + "filesAnalyzed": false, + "downloadLocation": "NONE", + "licenseConcluded": "Apache-2.0" + }, + { + "SPDXID": "SPDXRef-Montserrat", + "name": "Montserrat Regular Font", + "versionInfo": "7.200", + "filesAnalyzed": false, + "downloadLocation": "NONE", + "licenseConcluded": "OFL-1.1" + } + ], + "relationships": [ + { + "spdxElementId": "SPDXRef-DOCUMENT", + "relationshipType": "DESCRIBES", + "relatedSpdxElement": "SPDXRef-coolwsd" + }, + { + "spdxElementId": "SPDXRef-coolwsd", + "relationshipType": "CONTAINS", + "relatedSpdxElement": "SPDXRef-openssl" + }, + { + "spdxElementId": "SPDXRef-coolwsd", + "relationshipType": "CONTAINS", + "relatedSpdxElement": "SPDXRef-libzstd" + }, + { + "spdxElementId": "SPDXRef-coolwsd", + "relationshipType": "CONTAINS", + "relatedSpdxElement": "SPDXRef-libpng" + }, + { + "spdxElementId": "SPDXRef-coolwsd", + "relationshipType": "CONTAINS", + "relatedSpdxElement": "SPDXRef-poco" + }, + { + "spdxElementId": "SPDXRef-poco", + "relationshipType": "CONTAINS", + "relatedSpdxElement": "SPDXRef-libz" + }, + { + "spdxElementId": "SPDXRef-poco", + "relationshipType": "CONTAINS", + "relatedSpdxElement": "SPDXRef-double-conversion" + }, + { + "spdxElementId": "SPDXRef-poco", + "relationshipType": "CONTAINS", + "relatedSpdxElement": "SPDXRef-pcre2" + }, + { + "spdxElementId": "SPDXRef-poco", + "relationshipType": "CONTAINS", + "relatedSpdxElement": "SPDXRef-expat" + }, + { + "spdxElementId": "SPDXRef-coolwsd", + "relationshipType": "CONTAINS", + "relatedSpdxElement": "SPDXRef-Autolinker" + }, + { + "spdxElementId": "SPDXRef-coolwsd", + "relationshipType": "CONTAINS", + "relatedSpdxElement": "SPDXRef-sanitize-url" + }, + { + "spdxElementId": "SPDXRef-coolwsd", + "relationshipType": "CONTAINS", + "relatedSpdxElement": "SPDXRef-Bulma" + }, + { + "spdxElementId": "SPDXRef-coolwsd", + "relationshipType": "CONTAINS", + "relatedSpdxElement": "SPDXRef-fzstd" + }, + { + "spdxElementId": "SPDXRef-coolwsd", + "relationshipType": "CONTAINS", + "relatedSpdxElement": "SPDXRef-hammer" + }, + { + "spdxElementId": "SPDXRef-coolwsd", + "relationshipType": "CONTAINS", + "relatedSpdxElement": "SPDXRef-jquery" + }, + { + "spdxElementId": "SPDXRef-coolwsd", + "relationshipType": "CONTAINS", + "relatedSpdxElement": "SPDXRef-jquery-contextMenu" + }, + { + "spdxElementId": "SPDXRef-coolwsd", + "relationshipType": "CONTAINS", + "relatedSpdxElement": "SPDXRef-jquery-mousewheel" + }, + { + "spdxElementId": "SPDXRef-coolwsd", + "relationshipType": "CONTAINS", + "relatedSpdxElement": "SPDXRef-jquery-ui" + }, + { + "spdxElementId": "SPDXRef-coolwsd", + "relationshipType": "CONTAINS", + "relatedSpdxElement": "SPDXRef-leaflet" + }, + { + "spdxElementId": "SPDXRef-coolwsd", + "relationshipType": "CONTAINS", + "relatedSpdxElement": "SPDXRef-ResizeObserverPolyfill" + }, + { + "spdxElementId": "SPDXRef-coolwsd", + "relationshipType": "CONTAINS", + "relatedSpdxElement": "SPDXRef-select2" + }, + { + "spdxElementId": "SPDXRef-coolwsd", + "relationshipType": "CONTAINS", + "relatedSpdxElement": "SPDXRef-smartmenus" + }, + { + "spdxElementId": "SPDXRef-coolwsd", + "relationshipType": "CONTAINS", + "relatedSpdxElement": "SPDXRef-gl-matrix" + }, + { + "spdxElementId": "SPDXRef-coolwsd", + "relationshipType": "CONTAINS", + "relatedSpdxElement": "SPDXRef-l10n" + }, + { + "spdxElementId": "SPDXRef-coolwsd", + "relationshipType": "CONTAINS", + "relatedSpdxElement": "SPDXRef-dompurify" + }, + { + "spdxElementId": "SPDXRef-coolwsd", + "relationshipType": "CONTAINS", + "relatedSpdxElement": "SPDXRef-Montserrat" + } + ] +} \ No newline at end of file diff --git a/net/collabora-online/files/patch-configure.ac b/net/collabora-online/files/patch-configure.ac new file mode 100644 --- /dev/null +++ b/net/collabora-online/files/patch-configure.ac @@ -0,0 +1,31 @@ +--- configure.ac.orig 2026-01-27 20:27:38 UTC ++++ configure.ac +@@ -48,10 +48,7 @@ COOLWSD_VERSION_HASH="$COOLWSD_VERSION" + + # try to add a git hash for a version if we're developing + COOLWSD_VERSION_HASH="$COOLWSD_VERSION" +-git_hash=`cd ${srcdir} && ( cat dist_git_hash 2> /dev/null || git log -1 --format=%h --abbrev=10 2> /dev/null )` +-if test "z$git_hash" != "z"; then +- COOLWSD_VERSION_HASH=$git_hash +-fi ++COOLWSD_VERSION_HASH=e808afa229 + AC_SUBST([COOLWSD_VERSION_HASH]) + + AC_DEFINE_UNQUOTED([COOLWSD_VERSION_HASH],[["$COOLWSD_VERSION_HASH"]],[Collabora Online git hash if present]) +@@ -1494,10 +1491,13 @@ fi + if test "$host_os" != "emscripten"; then + LIBS="$LIBS -lPocoNetSSL${POCO_DEBUG_SUFFIX} -lPocoNet${POCO_DEBUG_SUFFIX} -lPocoUtil${POCO_DEBUG_SUFFIX} -lPocoJSON${POCO_DEBUG_SUFFIX} -lPocoXML${POCO_DEBUG_SUFFIX} -lPocoFoundation${POCO_DEBUG_SUFFIX} -lPocoCrypto${POCO_DEBUG_SUFFIX}" + fi ++AS_IF([test "$ENABLE_SSL" = "true"], [ ++ PKG_CHECK_MODULES([OPENSSL], [openssl], ++ [LIBS="$LIBS $OPENSSL_LIBS" ++ CFLAGS="$CFLAGS $OPENSSL_CFLAGS"], ++ [AC_MSG_ERROR([OpenSSL requested but not found])]) ++]) + +-AS_IF([test "$ENABLE_SSL" = "true"], +- [LIBS="$LIBS -lssl -lcrypto"]) +- + AS_IF([test "$ENABLE_IOSAPP" != "true" -a "$ENABLE_ANDROIDAPP" != "true" -a "$host_os" != "emscripten"], + [AC_CHECK_HEADERS([LibreOfficeKit/LibreOfficeKit.h], + [], diff --git a/net/collabora-online/files/patch-coolwsd.xml.in b/net/collabora-online/files/patch-coolwsd.xml.in new file mode 100644 --- /dev/null +++ b/net/collabora-online/files/patch-coolwsd.xml.in @@ -0,0 +1,35 @@ +--- coolwsd.xml.in.orig 2026-02-02 17:45:08.449131000 +0100 ++++ coolwsd.xml.in 2026-02-02 17:48:05.543815000 +0100 +@@ -34,12 +34,12 @@ + + + +- +- ++ ../share/collabora/systemplate ++ ../share/collabora/jails + true + + +- ++ ../share/coolwsd + false + @ENABLE_EXPERIMENTAL@ + +@@ -208,13 +208,13 @@ + + + +- @ENABLE_SSL@ ++ false + +- false ++ true + @COOLWSD_CONFIGDIR@/cert.pem + @COOLWSD_CONFIGDIR@/key.pem + @COOLWSD_CONFIGDIR@/ca-chain.cert.pem +- @SSL_VERIFY@ ++ true + + + 1000 diff --git a/net/collabora-online/files/pkg-message.in b/net/collabora-online/files/pkg-message.in new file mode 100644 --- /dev/null +++ b/net/collabora-online/files/pkg-message.in @@ -0,0 +1,14 @@ +[ +{ type: install + message: <