diff options
author | Timotej Lazar <timotej.lazar@araneo.si> | 2020-06-17 12:50:06 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2020-06-21 17:36:41 +0200 |
commit | 4aa89a09144e8dac30c9c618ce159f81862da952 (patch) | |
tree | d3f51189f745ebc797fd264646b7acb00d6f912e | |
parent | 7afaab8befef57a8358e4a5881508fb278d18733 (diff) | |
download | guix-4aa89a09144e8dac30c9c618ce159f81862da952.tar.gz |
gnu: k3b: Add inputs for libraries loaded at runtime.
Patch the source to load these from absolute paths. Actual loading is done by the Qt library, so we cannot use k3b’s runpath. * gnu/packages/kde-multimedia.scm (k3b)[inputs]: Add libcdio-paranoia and libdvdcss. [arguments]<#:phases>[set-absolute-library-paths]: New phase. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
-rw-r--r-- | gnu/packages/kde-multimedia.scm | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/gnu/packages/kde-multimedia.scm b/gnu/packages/kde-multimedia.scm index 654aecd858..9fab19f1f6 100644 --- a/gnu/packages/kde-multimedia.scm +++ b/gnu/packages/kde-multimedia.scm @@ -300,6 +300,19 @@ This package is part of the KDE multimedia module.") (arguments `(#:phases (modify-phases %standard-phases + (add-after 'unpack 'set-absolute-library-paths + (lambda _ + ;; Set absolute paths for dlopened libraries. We can’t use k3b’s + ;; runpath as they are loaded by the Qt library. + (let ((libcdio-paranoia (assoc-ref %build-inputs "libcdio-paranoia")) + (libdvdcss (assoc-ref %build-inputs "libdvdcss"))) + (substitute* "libk3b/tools/k3bcdparanoialib.cpp" + (("\"(cdio_cdda|cdio_paranoia)\"" _ library) + (string-append "\"" libcdio-paranoia "/lib/" library "\""))) + (substitute* "libk3b/tools/k3blibdvdcss.cpp" + (("\"(dvdcss)\"" _ library) + (string-append "\"" libdvdcss "/lib/" library "\"")))) + #t)) (add-after 'qt-wrap 'wrap-path (lambda _ ;; Set paths to backend programs. @@ -335,6 +348,8 @@ This package is part of the KDE multimedia module.") ("kxmlgui" ,kxmlgui) ("lame" ,lame) ("libburn" ,libburn) + ("libcdio-paranoia" ,libcdio-paranoia) + ("libdvdcss" ,libdvdcss) ("libdvdread" ,libdvdread) ;; TODO: LibFuzzer ("libiconv" ,libiconv) |