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.
This commit is contained in:
Martin Milata 2020-02-17 14:50:38 +01:00
parent 583950cdd2
commit c95bfd235b
3 changed files with 11 additions and 2 deletions

View file

@ -26,7 +26,8 @@ rec {
sha256 = "0730fw2kr00b2d56jkdzjdz49c4k4mxiz879c7ikw59c5zvrh009";
};
# TODO: dictionaries
# the "dictionaries" archive is not used for LO build because we already build hunspellDicts packages from
# it and LibreOffice can use these by pointing DICPATH environment variable at the hunspell directory
help = fetchSrc {
name = "help";

View file

@ -25,7 +25,8 @@ rec {
sha256 = "1l5v9bb7n9s6i24q4mdyqyp5v4f8iy0a9dmpgw649vngj1zxdxfh";
};
# TODO: dictionaries
# the "dictionaries" archive is not used for LO build because we already build hunspellDicts packages from
# it and LibreOffice can use these by pointing DICPATH environment variable at the hunspell directory
help = fetchSrc {
name = "help";

View file

@ -17,6 +17,13 @@ if uname | grep Linux > /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="$?"