Got a Mac and a curious mind? Build your own Collabora Office and see the magic happen.
Build Collabora Office
The steps below are for building the Collabora Office in macOS (macos/).
Mac
The following instructions depend heavily on using Homebrew, as that makes the managing the build requirements much easier. It is of course possible to avoid it, and only depend on eg. self-built libpng, etc.
Setup
Node.js
- Needed for building the JS parts (not needed if you build them on another linux machine)
Install node.js
brew install nodeInstall poco
brew install pocozstd
brew install zstdfor ./configure
brew install libtoolzlib
brew install zliblibpng
brew install libpngcppunit
brew install cppunitinstall dependencies for the canvas@next
brew install cairo brew install pango /opt/homebrew/bin/pip3 install --break-system-packages lxml /opt/homebrew/bin/pip3 install --break-system-packages polibinstall canvas to avoid error during build (complains about node-pre-gyp)
- NB. version 3.0 needed, it upgrades the API to fit the new node.js
- npm install canvas@next
- It might be that you should run the above in the browser subdirectory of your online directory: (cd browser && npm install canvas@next)
Install and/or update the Command Line Tools for Xcode:
xcode-select --install- After that you might need to update them in System Settings > General > Software Updates
- For some reason for me it lists both 15.3 and 16.0 there. As I have Xcode 16.0, I choose just that one.
Clone the monorepo
Collabora Online and the LibreOffice core now live in a single Gerrit monorepo - core is the engine/ subdirectory of the online repo, so there is no separate core clone any more. Code review happens on Gerrit, not GitHub pull requests; see the first contribution guide for the full workflow.
For an anonymous read-only clone:
git clone https://gerrit.collaboraoffice.com/online collabora-online
cd collabora-online
If you have a Gerrit account and plan to push changes for review, clone over SSH instead:
git clone ssh://YOUR_USERNAME@gerrit.collaboraoffice.com:29418/online collabora-online
cd collabora-online
Build LO
Move into the engine/ subdirectory of the monorepo and build the main branch with the following autogen.input.
NOTE: Build with stuff installed via ‘brew’, and not via ’lode’; if you have too many things installed via ‘brew’, compilation may fail for you due to incompatible stuff.
autogen.input:
# Distro
--with-distro=CPMacOS-LOKit
--disable-mergelibs
# Overrides for the debug builds
--enable-debug
#--enable-dbgutil
--enable-werror
--enable-symbols
# If you don't want localizations
--without-lang
For dependency installation, refer to https://wiki.documentfoundation.org/Development/BuildingOnLinux
Configure Collabora Online
Run this from the top of the monorepo (one level up from engine/):
./autogen.sh && ./configure \
--enable-macosapp \
--enable-experimental \
--with-app-name="Collabora Office" \
--with-app-package-name=com.yourpackage.name \
--with-vendor="Your Name" \
--with-poco-includes=/opt/homebrew/opt/poco/include \
--with-poco-libs=/opt/homebrew/opt/poco/lib \
--with-zstd-includes=/opt/homebrew/include \
--with-zstd-libs=/opt/homebrew/lib \
--with-libpng-includes=/opt/homebrew/include \
--with-libpng-libs=/opt/homebrew/lib \
--with-lo-path=engine/instdir/your-built-lo.app \
--with-lokit-path=engine/include
Adjust your-built-lo.app to match the app bundle name produced by your core
build. Also, on Intel Macs homebrew gets installed in
/usr/local, not /opt/homebrew; but you may prefer your own built versions of
POCO, libpng and zstd.
Build the JavaScipt bits
Just run make from the terminal.
Build the Desktop Edition
Open the macos/coda/coda.xcodeproj project in Xcode and choose Build and Run current scheme.
That’s it!
pre-built macOS
If you just want a pre-built macOS version instead of building locally, please use
the TestFlight preview build:
👉 https://testflight.apple.com/join/sbkwMzMt

