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.
This commit is contained in:
Hartmut Goebel 2017-11-01 16:31:03 +01:00
parent 64f390a409
commit 042f7c2636
No known key found for this signature in database
GPG Key ID: 634A8DFFD3F631DF
1 changed files with 13 additions and 0 deletions

View File

@ -999,6 +999,19 @@ compositor libraries.")))
(inputs (inputs
`(("qtbase" ,qtbase) `(("qtbase" ,qtbase)
("eudev" ,eudev))) ("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") (synopsis "Qt Serial Port module")
(description "The Qt Serial Port module provides the library for (description "The Qt Serial Port module provides the library for
interacting with serial ports from within Qt."))) interacting with serial ports from within Qt.")))