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.")))