summary refs log tree commit diff
path: root/gnu/packages/qt.scm
diff options
context:
space:
mode:
authorHartmut Goebel <h.goebel@crazy-compilers.com>2017-11-01 16:31:03 +0100
committerHartmut Goebel <h.goebel@crazy-compilers.com>2018-02-18 18:39:19 +0100
commit042f7c2636a3595e2af970025854edcfd8860329 (patch)
tree18fe9d3337107ca523d9f0fb8878072d5c7682c3 /gnu/packages/qt.scm
parent64f390a40994da24d310c4894301585b4722912b (diff)
downloadguix-042f7c2636a3595e2af970025854edcfd8860329.tar.gz
gnu: qtserialport: Use the store paths for dynamically loaded libs.
Transfer the applicable NixOS patches for qtserialport as of 2018-01-19:

- src/serialport/qtudev_p.h: Transferred: Use hard-coded path to libudev.

* gnu/packages/qt.scm(qtserialport)[#:phases]<patch-dlopen-paths>:
  New phase.
Diffstat (limited to 'gnu/packages/qt.scm')
-rw-r--r--gnu/packages/qt.scm13
1 files changed, 13 insertions, 0 deletions
diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 361bcf6b6e..4cf1ed5735 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -999,6 +999,19 @@ compositor libraries.")))
     (inputs
      `(("qtbase" ,qtbase)
        ("eudev" ,eudev)))
+    (arguments
+     (substitute-keyword-arguments (package-arguments qtsvg)
+       ((#:phases phases)
+        `(modify-phases ,phases
+           (add-after 'unpack 'patch-dlopen-paths
+           (lambda* (#:key inputs #:allow-other-keys)
+             (substitute* "src/serialport/qtudev_p.h"
+               ;; Use the absolute paths for dynamically loaded libs,
+               ;; otherwise the lib will be searched in LD_LIBRARY_PATH which
+               ;; typically is not set in guix.
+               (("^\\s*(udevLibrary->setFileNameAndVersion\\(QStringLiteral\\(\")(udev\"\\),\\s*[0-9]+\\);)" _ a b)
+                (string-append a (assoc-ref inputs "eudev") "/lib/lib" b)))
+             #t))))))
     (synopsis "Qt Serial Port module")
     (description "The Qt Serial Port module provides the library for
 interacting with serial ports from within Qt.")))