summary refs log tree commit diff
path: root/gnu/packages
diff options
context:
space:
mode:
authorMaxim Cournoyer <maxim.cournoyer@gmail.com>2023-02-18 13:21:59 -0500
committerMaxim Cournoyer <maxim.cournoyer@gmail.com>2023-02-18 14:47:19 -0500
commit9f21ca83a89a5e6c808b58fab0dc54b7785c26b7 (patch)
treedb09ca6de4f4fcdc8a58cd6bb469f703635fb448 /gnu/packages
parentc7e3617cf241a204e42c37047553e9e8ac6722c4 (diff)
downloadguix-9f21ca83a89a5e6c808b58fab0dc54b7785c26b7.tar.gz
gnu: libreoffice: Fix password encryption issue.
Fixes <https://issues.guix.gnu.org/59292>.

* gnu/packages/libreoffice.scm (libreoffice) [phases]: Add a
augment-LD_LIBRARY_PATH phase.
Diffstat (limited to 'gnu/packages')
-rw-r--r--gnu/packages/libreoffice.scm12
1 files changed, 12 insertions, 0 deletions
diff --git a/gnu/packages/libreoffice.scm b/gnu/packages/libreoffice.scm
index 7ce89fc904..9706e0ab69 100644
--- a/gnu/packages/libreoffice.scm
+++ b/gnu/packages/libreoffice.scm
@@ -934,6 +934,18 @@ commonly called @code{ftoa} or @code{dtoa}.")
             (lambda _
               (mkdir-p "external/tarballs")
               (copy-file #$dtoa "external/tarballs/dtoa-20180411.tgz")))
+          (add-after 'unpack 'augment-LD_LIBRARY_PATH
+            ;; Without this, the nsscrypto_initialize procedure in
+            ;; nssinitializer.cxx silently fails to load libnssckbi.so, which
+            ;; causes password encryption to also silently fail (see:
+            ;; https://bugs.documentfoundation.org/show_bug.cgi?id=153714).
+            (lambda* (#:key inputs #:allow-other-keys)
+              (substitute* "desktop/scripts/soffice.sh"
+                (("^exec .*oosplash.*" anchor)
+                 (string-append "export LD_LIBRARY_PATH="
+                                (search-input-directory inputs "lib/nss")
+                                "${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}\n"
+                                anchor)))))
           (add-before 'configure 'prepare-src
             (lambda* (#:key inputs #:allow-other-keys)
               (substitute*