* [bug#41911] [PATCH 0/5] Add missing inputs for k3b @ 2020-06-17 10:47 Timotej Lazar 2020-06-17 10:50 ` [bug#41911] [PATCH 1/5] gnu: Add cdrdao Timotej Lazar 2020-06-21 15:41 ` bug#41911: [PATCH 0/5] Add missing inputs for k3b Ludovic Courtès 0 siblings, 2 replies; 7+ messages in thread From: Timotej Lazar @ 2020-06-17 10:47 UTC (permalink / raw) To: 41911 Hi, the first patch adds a new package cdrdao. The remaining patches update the k3b package by adding inputs (including cdrdao) required at runtime to actually read and write discs. In the cases where k3b supports several backends, I picked the ones most actively maintained (libcdio-paranoia instead of cdparanoia, and libburn instead of cdrtools/cdrkit); this can be overriden in program settings. I also add a note in description that udisks-service must be running for k3b, 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(-) ^ permalink raw reply [flat|nested] 7+ messages in thread
* [bug#41911] [PATCH 1/5] gnu: Add cdrdao. 2020-06-17 10:47 [bug#41911] [PATCH 0/5] Add missing inputs for k3b Timotej Lazar @ 2020-06-17 10:50 ` Timotej Lazar 2020-06-17 10:50 ` [bug#41911] [PATCH 2/5] gnu: k3b: Add inputs for external programs Timotej Lazar ` (3 more replies) 2020-06-21 15:41 ` bug#41911: [PATCH 0/5] Add missing inputs for k3b Ludovic Courtès 1 sibling, 4 replies; 7+ messages in thread From: Timotej Lazar @ 2020-06-17 10:50 UTC (permalink / raw) To: 41911; +Cc: Timotej Lazar * gnu/packages/cdrom.scm (cdrdao): New variable. --- gnu/packages/cdrom.scm | 51 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) diff --git a/gnu/packages/cdrom.scm b/gnu/packages/cdrom.scm index 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 ^ permalink raw reply related [flat|nested] 7+ messages in thread
* [bug#41911] [PATCH 2/5] gnu: k3b: Add inputs for external programs. 2020-06-17 10:50 ` [bug#41911] [PATCH 1/5] gnu: Add cdrdao Timotej Lazar @ 2020-06-17 10:50 ` Timotej Lazar 2020-06-17 10:50 ` [bug#41911] [PATCH 3/5] gnu: k3b: Add inputs for libraries loaded at runtime Timotej Lazar ` (2 subsequent siblings) 3 siblings, 0 replies; 7+ messages in thread From: Timotej Lazar @ 2020-06-17 10:50 UTC (permalink / raw) To: 41911; +Cc: Timotej Lazar * 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 to the above. --- gnu/packages/kde-multimedia.scm | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/gnu/packages/kde-multimedia.scm b/gnu/packages/kde-multimedia.scm index 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 ^ permalink raw reply related [flat|nested] 7+ messages in thread
* [bug#41911] [PATCH 3/5] gnu: k3b: Add inputs for libraries loaded at runtime. 2020-06-17 10:50 ` [bug#41911] [PATCH 1/5] gnu: Add cdrdao Timotej Lazar 2020-06-17 10:50 ` [bug#41911] [PATCH 2/5] gnu: k3b: Add inputs for external programs Timotej Lazar @ 2020-06-17 10:50 ` Timotej Lazar 2020-06-17 10:50 ` [bug#41911] [PATCH 4/5] gnu: k3b: Note the runtime dependency on udisks-service Timotej Lazar 2020-06-17 10:50 ` [bug#41911] [PATCH 5/5] gnu: k3b: Update to 20.04.2 Timotej Lazar 3 siblings, 0 replies; 7+ messages in thread From: Timotej Lazar @ 2020-06-17 10:50 UTC (permalink / raw) To: 41911; +Cc: Timotej Lazar 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 ^ permalink raw reply related [flat|nested] 7+ messages in thread
* [bug#41911] [PATCH 4/5] gnu: k3b: Note the runtime dependency on udisks-service. 2020-06-17 10:50 ` [bug#41911] [PATCH 1/5] gnu: Add cdrdao Timotej Lazar 2020-06-17 10:50 ` [bug#41911] [PATCH 2/5] gnu: k3b: Add inputs for external programs Timotej Lazar 2020-06-17 10:50 ` [bug#41911] [PATCH 3/5] gnu: k3b: Add inputs for libraries loaded at runtime Timotej Lazar @ 2020-06-17 10:50 ` Timotej Lazar 2020-06-17 10:50 ` [bug#41911] [PATCH 5/5] gnu: k3b: Update to 20.04.2 Timotej Lazar 3 siblings, 0 replies; 7+ messages in thread From: Timotej Lazar @ 2020-06-17 10:50 UTC (permalink / raw) To: 41911; +Cc: Timotej Lazar * gnu/packages/kde-multimedia.scm (k3b)[description]: Note that udisks-service should be enabled. --- gnu/packages/kde-multimedia.scm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/gnu/packages/kde-multimedia.scm b/gnu/packages/kde-multimedia.scm index 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 ^ permalink raw reply related [flat|nested] 7+ messages in thread
* [bug#41911] [PATCH 5/5] gnu: k3b: Update to 20.04.2. 2020-06-17 10:50 ` [bug#41911] [PATCH 1/5] gnu: Add cdrdao Timotej Lazar ` (2 preceding siblings ...) 2020-06-17 10:50 ` [bug#41911] [PATCH 4/5] gnu: k3b: Note the runtime dependency on udisks-service Timotej Lazar @ 2020-06-17 10:50 ` Timotej Lazar 3 siblings, 0 replies; 7+ messages in thread From: Timotej Lazar @ 2020-06-17 10:50 UTC (permalink / raw) To: 41911; +Cc: Timotej Lazar * gnu/packages/kde-multimedia.scm (k3b): Update to 20.04.2. --- gnu/packages/kde-multimedia.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/kde-multimedia.scm b/gnu/packages/kde-multimedia.scm index 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 ^ permalink raw reply related [flat|nested] 7+ messages in thread
* bug#41911: [PATCH 0/5] Add missing inputs for k3b 2020-06-17 10:47 [bug#41911] [PATCH 0/5] Add missing inputs for k3b Timotej Lazar 2020-06-17 10:50 ` [bug#41911] [PATCH 1/5] gnu: Add cdrdao Timotej Lazar @ 2020-06-21 15:41 ` Ludovic Courtès 1 sibling, 0 replies; 7+ messages in thread From: Ludovic Courtès @ 2020-06-21 15:41 UTC (permalink / raw) To: Timotej Lazar; +Cc: 41911-done Hi Timotej, Timotej Lazar <timotej.lazar@araneo.si> skribis: > 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’. ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2020-06-21 15:42 UTC | newest] Thread overview: 7+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2020-06-17 10:47 [bug#41911] [PATCH 0/5] Add missing inputs for k3b Timotej Lazar 2020-06-17 10:50 ` [bug#41911] [PATCH 1/5] gnu: Add cdrdao Timotej Lazar 2020-06-17 10:50 ` [bug#41911] [PATCH 2/5] gnu: k3b: Add inputs for external programs Timotej Lazar 2020-06-17 10:50 ` [bug#41911] [PATCH 3/5] gnu: k3b: Add inputs for libraries loaded at runtime Timotej Lazar 2020-06-17 10:50 ` [bug#41911] [PATCH 4/5] gnu: k3b: Note the runtime dependency on udisks-service Timotej Lazar 2020-06-17 10:50 ` [bug#41911] [PATCH 5/5] gnu: k3b: Update to 20.04.2 Timotej Lazar 2020-06-21 15:41 ` bug#41911: [PATCH 0/5] Add missing inputs for k3b Ludovic Courtès
Code repositories for project(s) associated with this external index https://git.savannah.gnu.org/cgit/guix.git This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.