about summary refs log tree commit diff
path: root/pkgs/applications/office
diff options
context:
space:
mode:
authorMartin Milata <martin@martinmilata.cz>2020-02-17 14:50:38 +0100
committerMartin Milata <martin@martinmilata.cz>2020-02-18 14:55:03 +0100
commitc95bfd235b6a94a9bf748abff408f9a598974183 (patch)
treecdc4dbf2abe9de5549e3869083f9c53383537ae3 /pkgs/applications/office
parent583950cdd26aca2e5d895827124a0a523c4bb3a5 (diff)
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.
Diffstat (limited to 'pkgs/applications/office')
-rw-r--r--pkgs/applications/office/libreoffice/src-fresh/primary.nix3
-rw-r--r--pkgs/applications/office/libreoffice/src-still/primary.nix3
-rw-r--r--pkgs/applications/office/libreoffice/wrapper.sh7
3 files changed, 11 insertions, 2 deletions
diff --git a/pkgs/applications/office/libreoffice/src-fresh/primary.nix b/pkgs/applications/office/libreoffice/src-fresh/primary.nix
index 28bf127c39883..636f4b360eaae 100644
--- a/pkgs/applications/office/libreoffice/src-fresh/primary.nix
+++ b/pkgs/applications/office/libreoffice/src-fresh/primary.nix
@@ -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";
diff --git a/pkgs/applications/office/libreoffice/src-still/primary.nix b/pkgs/applications/office/libreoffice/src-still/primary.nix
index a27087a1b051a..502bcc54d0ca1 100644
--- a/pkgs/applications/office/libreoffice/src-still/primary.nix
+++ b/pkgs/applications/office/libreoffice/src-still/primary.nix
@@ -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";
diff --git a/pkgs/applications/office/libreoffice/wrapper.sh b/pkgs/applications/office/libreoffice/wrapper.sh
index 62569734745c0..806dd0806ad59 100644
--- a/pkgs/applications/office/libreoffice/wrapper.sh
+++ b/pkgs/applications/office/libreoffice/wrapper.sh
@@ -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="$?"