summaryrefslogtreecommitdiff
path: root/gnu/packages/kde-multimedia.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/kde-multimedia.scm')
-rw-r--r--gnu/packages/kde-multimedia.scm43
1 files changed, 39 insertions, 4 deletions
diff --git a/gnu/packages/kde-multimedia.scm b/gnu/packages/kde-multimedia.scm
index 938251a532..dd1355010e 100644
--- a/gnu/packages/kde-multimedia.scm
+++ b/gnu/packages/kde-multimedia.scm
@@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2017, 2019 Hartmut Goebel <[email protected]>
+;;; Copyright © 2020 Timotej Lazar <[email protected]>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -287,21 +288,48 @@ This package is part of the KDE multimedia module.")
(define-public k3b
(package
(name "k3b")
- (version "20.04.1")
+ (version "20.04.2")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://kde/stable/release-service/" version
"/src/k3b-" version ".tar.xz"))
(sha256
- (base32 "0r01ninrrmqk7pl5jg0g51fcky1ammw0yyq572wyhibw7q8y7ly7"))))
+ (base32 "15wm987hz6rfs9ds9l1gbs6gdsardj1ywvk6zmpvj2i2190y4b3q"))))
(build-system qt-build-system)
+ (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.
+ (wrap-program (string-append (assoc-ref %outputs "out") "/bin/k3b")
+ `("PATH" ":" prefix
+ ,(map (lambda (input)
+ (string-append (assoc-ref %build-inputs input) "/bin"))
+ '("cdrdao" "dvd+rw-tools" "libburn" "sox"))))
+ #t)))))
(native-inputs
`(("extra-cmake-modules" ,extra-cmake-modules)
("pkg-config" ,pkg-config)
("kdoctools" ,kdoctools)))
(inputs
- `(("ffmpeg" ,ffmpeg)
+ `(("cdrdao" ,cdrdao)
+ ("dvd+rw-tools" ,dvd+rw-tools)
+ ("ffmpeg" ,ffmpeg)
("flac" ,flac)
("karchive" ,karchive)
("kcmutils" ,kcmutils)
@@ -319,6 +347,9 @@ This package is part of the KDE multimedia module.")
("kwidgetsaddons" ,kwidgetsaddons)
("kxmlgui" ,kxmlgui)
("lame" ,lame)
+ ("libburn" ,libburn)
+ ("libcdio-paranoia" ,libcdio-paranoia)
+ ("libdvdcss" ,libdvdcss)
("libdvdread" ,libdvdread)
;; TODO: LibFuzzer
("libiconv" ,libiconv)
@@ -334,13 +365,17 @@ This package is part of the KDE multimedia module.")
("qtwebkit" ,qtwebkit)
("shared-mime-info" ,shared-mime-info)
("solid" ,solid)
+ ("sox" ,sox)
("taglib" ,taglib)))
(home-page "https://kde.org/applications/multimedia/org.kde.k3b")
(synopsis "Sophisticated CD/DVD burning application")
(description "K3b is CD-writing software which intends to be feature-rich
and provide an easily usable interface. Features include burning audio CDs
from .WAV and .MP3 audio files, configuring external programs and configuring
-devices.")
+devices.
+
+The @code{udisks-service} should be enabled for @command{k3b} to discover the
+available CD drives.")
(license ;; GPL for programs, FDL for documentation
(list license:gpl2+ license:fdl1.2+))))