[PATCH 0/5] Add missing inputs for k3b

DoneSubmitted by Timotej Lazar.
Details
2 participants
  • Ludovic Courtès
  • Timotej Lazar
Owner
unassigned
Severity
normal
T
T
Timotej Lazar wrote on 17 Jun 2020 12:47
(address . guix-patches@gnu.org)
87tuzaq884.fsf@araneo.si
Hi,
the first patch adds a new package cdrdao. The remaining patches updatethe k3b package by adding inputs (including cdrdao) required at runtimeto actually read and write discs.
In the cases where k3b supports several backends, I picked the ones mostactively maintained (libcdio-paranoia instead of cdparanoia, and libburninstead of cdrtools/cdrkit); this can be overriden in program settings.
I also add a note in description that udisks-service must be running fork3b, and update it to latest released version.
Thanks!
Timotej Lazar (5): gnu: Add cdrdao. gnu: k3b: Add inputs for external programs. gnu: k3b: Add inputs for libraries loaded at runtime. gnu: k3b: Note the runtime dependency on udisks-service. gnu: k3b: Update to 20.04.2.
gnu/packages/cdrom.scm | 51 +++++++++++++++++++++++++++++++++ gnu/packages/kde-multimedia.scm | 43 ++++++++++++++++++++++++--- 2 files changed, 90 insertions(+), 4 deletions(-)
T
T
Timotej Lazar wrote on 17 Jun 2020 12:50
[PATCH 1/5] gnu: Add cdrdao.
(address . 41911@debbugs.gnu.org)(name . Timotej Lazar)(address . timotej.lazar@araneo.si)
20200617105008.11348-1-timotej.lazar@araneo.si
* gnu/packages/cdrom.scm (cdrdao): New variable.--- gnu/packages/cdrom.scm | 51 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+)
Toggle diff (81 lines)diff --git a/gnu/packages/cdrom.scm b/gnu/packages/cdrom.scmindex 67236f86de..ac8dd26af0 100644--- a/gnu/packages/cdrom.scm+++ b/gnu/packages/cdrom.scm@@ -13,6 +13,7 @@ ;;; Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com> ;;; Copyright © 2018, 2019 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2019 Eric Bavier <bavier@member.fsf.org>+;;; Copyright © 2020 Timotej Lazar <timotej.lazar@araneo.si> ;;; ;;; This file is part of GNU Guix. ;;;@@ -38,9 +39,11 @@ #:use-module (guix build-system gnu) #:use-module (guix build-system glib-or-gtk) #:use-module (guix gexp)+ #:use-module (guix utils) #:use-module (gnu packages) #:use-module (gnu packages acl) #:use-module (gnu packages audio)+ #:use-module (gnu packages autotools) #:use-module (gnu packages bison) #:use-module (gnu packages compression) #:use-module (gnu packages flex)@@ -242,6 +245,54 @@ extra-robust data verification, synchronization, error handling and scratch reconstruction capability.") (license gpl2))) ; libraries under lgpl2.1 +(define-public cdrdao+ (package+ (name "cdrdao")+ (version "1.2.4")+ (source+ (origin+ (method git-fetch)+ (uri (git-reference+ (url "https://github.com/cdrdao/cdrdao.git")+ (commit+ (string-append "rel_" (string-replace-substring version "." "_")))))+ (file-name (git-file-name name version))+ (sha256+ (base32 "1gcl8ibyylamy2d1piq3749nw3xrlp12r0spzp2gmni57b8a6b7j"))))+ (build-system gnu-build-system)+ (arguments+ '(#:configure-flags+ (list+ ;; GCDMaster depends on obsolete libgnomeuimm, see+ ;; <https://github.com/cdrdao/cdrdao/issues/3>.+ "--without-gcdmaster"+ ;; Use the native SCSI interface.+ "--without-scglib")+ #:phases+ (modify-phases %standard-phases+ (add-before 'bootstrap 'fix-configure.ac+ (lambda _+ ;; Remove reference to missing macro.+ (substitute* "configure.ac" (("^AM_GCONF_SOURCE_2.*") ""))+ #t)))))+ (native-inputs+ `(("autoconf" ,autoconf)+ ("automake" ,automake)+ ("pkg-config" ,pkg-config)))+ (inputs+ `(("ao" ,ao)+ ("lame" ,lame)+ ("libmad" ,libmad)+ ("libvorbis" ,libvorbis)))+ (home-page "http://cdrdao.sourceforge.net")+ (synopsis "Read and write CDs in disk-at-once mode")+ (description "cdrdao records audio or data CDs in disk-at-once (DAO) mode,+based on a textual description of the contents. This mode writes the complete+disc – lead-in, one or more tracks, and lead-out – in a single step and is+commonly used with audio CDs. @code{cdrdao} can also handle the bin/cue+format, commonly used for VCDs or disks with subchannel data.")+ (license gpl2+)))+ (define-public cdrtools (package (name "cdrtools")-- 2.26.2
T
T
Timotej Lazar wrote on 17 Jun 2020 12:50
[PATCH 2/5] gnu: k3b: Add inputs for external programs.
(address . 41911@debbugs.gnu.org)(name . Timotej Lazar)(address . timotej.lazar@araneo.si)
20200617105008.11348-2-timotej.lazar@araneo.si
* gnu/packages/kde-multimedia.scm (k3b)[inputs]: Add cdrdao, dvd+rw-tools,libburn and sox.[arguments]<#:phases>[wrap-path]: New phase to wrap the binary with paths tothe above.--- gnu/packages/kde-multimedia.scm | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-)
Toggle diff (57 lines)diff --git a/gnu/packages/kde-multimedia.scm b/gnu/packages/kde-multimedia.scmindex 938251a532..654aecd858 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 <h.goebel@crazy-compilers.com>+;;; Copyright © 2020 Timotej Lazar <timotej.lazar@araneo.si> ;;; ;;; This file is part of GNU Guix. ;;;@@ -296,12 +297,26 @@ This package is part of the KDE multimedia module.") (sha256 (base32 "0r01ninrrmqk7pl5jg0g51fcky1ammw0yyq572wyhibw7q8y7ly7")))) (build-system qt-build-system)+ (arguments+ `(#:phases+ (modify-phases %standard-phases+ (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 +334,7 @@ This package is part of the KDE multimedia module.") ("kwidgetsaddons" ,kwidgetsaddons) ("kxmlgui" ,kxmlgui) ("lame" ,lame)+ ("libburn" ,libburn) ("libdvdread" ,libdvdread) ;; TODO: LibFuzzer ("libiconv" ,libiconv)@@ -334,6 +350,7 @@ 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")-- 2.26.2
T
T
Timotej Lazar wrote on 17 Jun 2020 12:50
[PATCH 3/5] gnu: k3b: Add inputs for libraries loaded at runtime.
(address . 41911@debbugs.gnu.org)(name . Timotej Lazar)(address . timotej.lazar@araneo.si)
20200617105008.11348-3-timotej.lazar@araneo.si
Patch the source to load these from absolute paths. Actual loading is done bythe Qt library, so we cannot use k3b’s runpath.
* gnu/packages/kde-multimedia.scm (k3b)[inputs]: Add libcdio-paranoia andlibdvdcss.[arguments]<#:phases>[set-absolute-library-paths]: New phase.--- gnu/packages/kde-multimedia.scm | 15 +++++++++++++++ 1 file changed, 15 insertions(+)
Toggle diff (35 lines)diff --git a/gnu/packages/kde-multimedia.scm b/gnu/packages/kde-multimedia.scmindex 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
T
T
Timotej Lazar wrote on 17 Jun 2020 12:50
[PATCH 4/5] gnu: k3b: Note the runtime dependency on udisks-service.
(address . 41911@debbugs.gnu.org)(name . Timotej Lazar)(address . timotej.lazar@araneo.si)
20200617105008.11348-4-timotej.lazar@araneo.si
* gnu/packages/kde-multimedia.scm (k3b)[description]: Note that udisks-serviceshould be enabled.--- gnu/packages/kde-multimedia.scm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)
Toggle diff (18 lines)diff --git a/gnu/packages/kde-multimedia.scm b/gnu/packages/kde-multimedia.scmindex 9fab19f1f6..ecc1afe83b 100644--- a/gnu/packages/kde-multimedia.scm+++ b/gnu/packages/kde-multimedia.scm@@ -372,7 +372,10 @@ This package is part of the KDE multimedia module.") (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+)))) -- 2.26.2
T
T
Timotej Lazar wrote on 17 Jun 2020 12:50
[PATCH 5/5] gnu: k3b: Update to 20.04.2.
(address . 41911@debbugs.gnu.org)(name . Timotej Lazar)(address . timotej.lazar@araneo.si)
20200617105008.11348-5-timotej.lazar@araneo.si
* gnu/packages/kde-multimedia.scm (k3b): Update to 20.04.2.--- gnu/packages/kde-multimedia.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
Toggle diff (23 lines)diff --git a/gnu/packages/kde-multimedia.scm b/gnu/packages/kde-multimedia.scmindex ecc1afe83b..dd1355010e 100644--- a/gnu/packages/kde-multimedia.scm+++ b/gnu/packages/kde-multimedia.scm@@ -288,14 +288,14 @@ 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-- 2.26.2
L
L
Ludovic Courtès wrote on 21 Jun 2020 17:41
Re: [bug#41911] [PATCH 0/5] Add missing inputs for k3b
(name . Timotej Lazar)(address . timotej.lazar@araneo.si)(address . 41911-done@debbugs.gnu.org)
87bllca0km.fsf@gnu.org
Hi Timotej,
Timotej Lazar <timotej.lazar@araneo.si> skribis:
Toggle quote (6 lines)> gnu: Add cdrdao.> gnu: k3b: Add inputs for external programs.> gnu: k3b: Add inputs for libraries loaded at runtime.> gnu: k3b: Note the runtime dependency on udisks-service.> gnu: k3b: Update to 20.04.2.
I pushed the whole series, thank you!
Ludo’.
Closed
?
Your comment

Commenting via the web interface is currently disabled.

To comment on this conversation send email to 41911@debbugs.gnu.org