nixpkgs/pkgs/applications/office/libreoffice/wrapper.sh
Martin Milata c95bfd235b libreoffice: wrapper: add hunspell dirs to DICPATH
LibreOffice doesn't know where to look for hunspell dictionaries on
NixOS but we can use the DICPATH env var to point to them. Now
spellchecking with system dictionaries works.

Note that some of these dictionaries are built from LibreOffice repos -
this is preferable to building them as part of LO as other applications
can use them.
2020-02-18 14:55:03 +01:00

32 lines
1.1 KiB
Bash

#!@bash@/bin/bash
export JAVA_HOME="${JAVA_HOME:-@jdk@}"
#export SAL_USE_VCLPLUGIN="${SAL_USE_VCLPLUGIN:-gen}"
if uname | grep Linux > /dev/null &&
! ( test -n "$DBUS_SESSION_BUS_ADDRESS" ); then
dbus_tmp_dir="/run/user/$(id -u)/libreoffice-dbus"
if ! test -d "$dbus_tmp_dir" && test -d "/run"; then
mkdir -p "$dbus_tmp_dir"
fi
if ! test -d "$dbus_tmp_dir"; then
dbus_tmp_dir="/tmp/libreoffice-$(id -u)/libreoffice-dbus"
mkdir -p "$dbus_tmp_dir"
fi
dbus_socket_dir="$(mktemp -d -p "$dbus_tmp_dir")"
"@dbus@"/bin/dbus-daemon --nopidfile --nofork --config-file "@dbus@"/share/dbus-1/session.conf --address "unix:path=$dbus_socket_dir/session" &> /dev/null &
export DBUS_SESSION_BUS_ADDRESS="unix:path=$dbus_socket_dir/session"
fi
for PROFILE in $NIX_PROFILES; do
HDIR="$PROFILE/share/hunspell"
if [ -d "$HDIR" ]; then
export DICPATH=$DICPATH''${DICPATH:+:}$HDIR
fi
done
"@libreoffice@/bin/$(basename "$0")" "$@"
code="$?"
test -n "$dbus_socket_dir" && rm -rf "$dbus_socket_dir"
exit "$code"