GNU bug report logs - #41911
[PATCH 0/5] Add missing inputs for k3b

Previous Next

Package: guix-patches;

Reported by: Timotej Lazar <timotej.lazar <at> araneo.si>

Date: Wed, 17 Jun 2020 10:49:02 UTC

Severity: normal

Tags: patch

Done: Ludovic Courtès <ludo <at> gnu.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 41911 in the body.
You can then email your comments to 41911 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to guix-patches <at> gnu.org:
bug#41911; Package guix-patches. (Wed, 17 Jun 2020 10:49:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Timotej Lazar <timotej.lazar <at> araneo.si>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Wed, 17 Jun 2020 10:49:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Timotej Lazar <timotej.lazar <at> araneo.si>
To: guix-patches <at> gnu.org
Subject: [PATCH 0/5] Add missing inputs for k3b
Date: Wed, 17 Jun 2020 12:47:55 +0200
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(-)




Information forwarded to guix-patches <at> gnu.org:
bug#41911; Package guix-patches. (Wed, 17 Jun 2020 10:51:01 GMT) Full text and rfc822 format available.

Message #8 received at 41911 <at> debbugs.gnu.org (full text, mbox):

From: Timotej Lazar <timotej.lazar <at> araneo.si>
To: 41911 <at> debbugs.gnu.org
Cc: Timotej Lazar <timotej.lazar <at> araneo.si>
Subject: [PATCH 1/5] gnu: Add cdrdao.
Date: Wed, 17 Jun 2020 12:50:04 +0200
* 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 <at> gmail.com>
 ;;; Copyright © 2018, 2019 Ricardo Wurmus <rekado <at> elephly.net>
 ;;; Copyright © 2019 Eric Bavier <bavier <at> member.fsf.org>
+;;; Copyright © 2020 Timotej Lazar <timotej.lazar <at> 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





Information forwarded to guix-patches <at> gnu.org:
bug#41911; Package guix-patches. (Wed, 17 Jun 2020 10:51:02 GMT) Full text and rfc822 format available.

Message #11 received at 41911 <at> debbugs.gnu.org (full text, mbox):

From: Timotej Lazar <timotej.lazar <at> araneo.si>
To: 41911 <at> debbugs.gnu.org
Cc: Timotej Lazar <timotej.lazar <at> araneo.si>
Subject: [PATCH 2/5] gnu: k3b: Add inputs for external programs.
Date: Wed, 17 Jun 2020 12:50:05 +0200
* 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 <at> crazy-compilers.com>
+;;; Copyright © 2020 Timotej Lazar <timotej.lazar <at> 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





Information forwarded to guix-patches <at> gnu.org:
bug#41911; Package guix-patches. (Wed, 17 Jun 2020 10:51:02 GMT) Full text and rfc822 format available.

Message #14 received at 41911 <at> debbugs.gnu.org (full text, mbox):

From: Timotej Lazar <timotej.lazar <at> araneo.si>
To: 41911 <at> debbugs.gnu.org
Cc: Timotej Lazar <timotej.lazar <at> araneo.si>
Subject: [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





Information forwarded to guix-patches <at> gnu.org:
bug#41911; Package guix-patches. (Wed, 17 Jun 2020 10:51:02 GMT) Full text and rfc822 format available.

Message #17 received at 41911 <at> debbugs.gnu.org (full text, mbox):

From: Timotej Lazar <timotej.lazar <at> araneo.si>
To: 41911 <at> debbugs.gnu.org
Cc: Timotej Lazar <timotej.lazar <at> araneo.si>
Subject: [PATCH 4/5] gnu: k3b: Note the runtime dependency on udisks-service.
Date: Wed, 17 Jun 2020 12:50:07 +0200
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#41911; Package guix-patches. (Wed, 17 Jun 2020 10:51:03 GMT) Full text and rfc822 format available.

Message #20 received at 41911 <at> debbugs.gnu.org (full text, mbox):

From: Timotej Lazar <timotej.lazar <at> araneo.si>
To: 41911 <at> debbugs.gnu.org
Cc: Timotej Lazar <timotej.lazar <at> araneo.si>
Subject: [PATCH 5/5] gnu: k3b: Update to 20.04.2.
Date: Wed, 17 Jun 2020 12:50:08 +0200
* 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





Reply sent to Ludovic Courtès <ludo <at> gnu.org>:
You have taken responsibility. (Sun, 21 Jun 2020 15:42:02 GMT) Full text and rfc822 format available.

Notification sent to Timotej Lazar <timotej.lazar <at> araneo.si>:
bug acknowledged by developer. (Sun, 21 Jun 2020 15:42:02 GMT) Full text and rfc822 format available.

Message #25 received at 41911-done <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: Timotej Lazar <timotej.lazar <at> araneo.si>
Cc: 41911-done <at> debbugs.gnu.org
Subject: Re: [bug#41911] [PATCH 0/5] Add missing inputs for k3b
Date: Sun, 21 Jun 2020 17:41:13 +0200
Hi Timotej,

Timotej Lazar <timotej.lazar <at> 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’.




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Mon, 20 Jul 2020 11:24:04 GMT) Full text and rfc822 format available.

This bug report was last modified 3 years and 274 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.