[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#41911] [PATCH 3/5] gnu: k3b: Add inputs for libraries loaded at run
From: |
Timotej Lazar |
Subject: |
[bug#41911] [PATCH 3/5] gnu: k3b: Add inputs for libraries loaded at runtime. |
Date: |
Wed, 17 Jun 2020 12:50:06 +0200 |
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.
---
gnu/packages/kde-multimedia.scm | 15 +++++++++++++++
1 file changed, 15 insertions(+)
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)
--
2.26.2