summary refs log tree commit diff
path: root/gnu/packages/engineering.scm
diff options
context:
space:
mode:
authorRicardo Wurmus <rekado@elephly.net>2017-11-27 12:10:38 +0100
committerRicardo Wurmus <rekado@elephly.net>2017-11-27 12:11:58 +0100
commit9cc51d16cb22f8a0c50fe81c98abb3b9108db9ff (patch)
tree8e98b45eae611dc4fdb5e6251814611251dd6e10 /gnu/packages/engineering.scm
parent35e78aaa25804282beb810c04455d71920289545 (diff)
downloadguix-9cc51d16cb22f8a0c50fe81c98abb3b9108db9ff.tar.gz
gnu: librecad: Ensure that icons are found at runtime.
* gnu/packages/engineering.scm (librecad)[arguments]: Add phase
"wrap-executable".
Diffstat (limited to 'gnu/packages/engineering.scm')
-rw-r--r--gnu/packages/engineering.scm14
1 files changed, 13 insertions, 1 deletions
diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index b2127ba45d..5c36de1dd2 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -127,7 +127,19 @@
                (install-file "unix/librecad" bin)
                (mkdir-p share)
                (copy-recursively "unix/resources" share))
-             #t)))))
+             #t))
+         ;; Ensure that icons are found at runtime
+         (add-after 'install 'wrap-executable
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (qt '("qtbase" "qtsvg")))
+               (wrap-program (string-append out "/bin/librecad")
+                 `("QT_PLUGIN_PATH" ":" prefix
+                   ,(map (lambda (label)
+                           (string-append (assoc-ref inputs label)
+                                          "/lib/qt5/plugins/"))
+                         qt)))
+               #t))))))
     (inputs
      `(("boost" ,boost)
        ("muparser" ,muparser)