me
/
guix
Archived
1
0
Fork 0

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>
master
Timotej Lazar 2020-06-17 12:50:06 +02:00 committed by Ludovic Courtès
parent 7afaab8bef
commit 4aa89a0914
No known key found for this signature in database
GPG Key ID: 090B11993D9AEBB5
1 changed files with 15 additions and 0 deletions

View File

@ -300,6 +300,19 @@ This package is part of the KDE multimedia module.")
(arguments (arguments
`(#:phases `(#:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(add-after 'unpack 'set-absolute-library-paths
(lambda _
;; Set absolute paths for dlopened libraries. We cant use k3bs
;; 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 (add-after 'qt-wrap 'wrap-path
(lambda _ (lambda _
;; Set paths to backend programs. ;; Set paths to backend programs.
@ -335,6 +348,8 @@ This package is part of the KDE multimedia module.")
("kxmlgui" ,kxmlgui) ("kxmlgui" ,kxmlgui)
("lame" ,lame) ("lame" ,lame)
("libburn" ,libburn) ("libburn" ,libburn)
("libcdio-paranoia" ,libcdio-paranoia)
("libdvdcss" ,libdvdcss)
("libdvdread" ,libdvdread) ("libdvdread" ,libdvdread)
;; TODO: LibFuzzer ;; TODO: LibFuzzer
("libiconv" ,libiconv) ("libiconv" ,libiconv)