Subject: [bug#28398] Xfburn

From: ng0 <[email-masked]>
Date: Mon, 11 Dec 2017 09:58:37 +0000

Alright, here's the next revision. I've included a new patch to
work in your comments on xorriso (dropping the 2 inputs).

The compiled Xfburn gives me 2 error messages so far:
1. No Drive found (thanks Cpt. Obvious, I have no optical drive here).
2. More concerning:
   Failed to initialize gstreamer transcoder: An error occurred setting gstreamer up for transcoding
   (falling back to basic implementation)

Keep in mind that I've tested this from within guile-wm, so
this might be different in XFCE or other environments. I'll
test this later today. I expect XFCE to work in MATE at the
very least, but XFCE-only would be good for starters.

The application itself starts.

Session output on terminal can not be copied right now, I'll
send it in later today if necessary.

Ludovic Courtès transcribed 2.1K bytes:
> "Thomas Schmitt" <[email-masked]> skribis:
> 
> > Ludovic Courtès wrote:
> >> http://cvs.savannah.gnu.org/viewvc/*checkout*/womb/gnumaint/pkgblurbs.txt
> >> However in this case our Xorriso description seems to differ.
> >> Are you OK with the one in pkgblurbs.txt above?
> >
> > I'm not sure whether the last sentence could be misleading:
> >   "xorriso can then be used to copy files directly into or out of ISO files."
> >
> > "ISO files" should be "ISO filesystems", in any case.
> 
> Indeed, fixed.
> 
> [...]
> 
> >> As package maintainers our choice is to *not* use bundled software in
> >> such cases, though.  Is it the only difference between the two xorrisos?
> >
> > Feature- and bug-wise: yes.
> > There is the built-in copy of libjte in GNU xorriso, which one would have
> > to offer libisoburn at configure-, build-, and run-time, in order to get
> > the same capability of creating Debian .jigdo and .template files.
> > See also  https://www.debian.org/CD/jigdo-cd/
> >
> > Name-wise there are problems with some from-source distros which have
> > a 1:1 relationship between source package and installed set of binaries.
> > They are unable to offer a package named "xorriso" but only its upstream
> > package "libisoburn".
> > (I could have changed this by splitting up the three upstream tarballs
> >  into six, some years ago. But i did not like the idea much and my then
> >  Debian Developer hated it thoroughly. Meanwhile it would cause work in
> >  too many distros.)
> > Afaik, the FreeBSD port of libisoburn is named "xorriso".
> > Archlinux has a "Provides:" header where its "libisoburn" package
> > advertises "xorriso, xorriso-tcltk".
> >
> > Any difference results from automatic creation of GNU xorriso from the
> > library sources by
> >   https://dev.lovelyhq.com/libburnia/libisoburn/raw/master/xorriso/make_xorriso_standalone.sh
> > It makes changes about:
> > - Build system files: bootstrap, configure.ac, Makefile.am, version.h.in
> > - Documentation files: CONTRIBUTORS, README, COPYRIGHT, COPYING, AUTHORS
> > - Program id message and license statement control macro in xorriso/xorriso.h
> 
> I see.
> 
> Thanks for explaining!
> 
> Ludo’.
> 

-- 
GnuPG: A88C8ADD129828D7EAC02E52E22F9BBFEE348588
GnuPG: https://c.n0.is/ng0_pubkeys/tree/keys
  WWW: https://n0.is
From f69ac571c040b0ac055edb6920723121f55f649d Mon Sep 17 00:00:00 2001
From: ng0 <[email-masked]>
Date: Sat, 9 Sep 2017 13:47:31 +0000
Subject: [PATCH 1/4] gnu: Add libburn.

* gnu/packages/cdrom.scm (libburn): New variable.
---
 gnu/packages/cdrom.scm | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/cdrom.scm b/gnu/packages/cdrom.scm
index 523158d55..f85a76891 100644
--- a/gnu/packages/cdrom.scm
+++ b/gnu/packages/cdrom.scm
@@ -9,6 +9,7 @@
 ;;; Copyright © 2017 John Darrington <[email-masked]>
 ;;; Copyright © 2017 Thomas Danckaert <[email-masked]>
 ;;; Copyright © 2017 Tobias Geerinckx-Rice <[email-masked]>
+;;; Copyright © 2017 ng0 <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -694,3 +695,25 @@ distributed with CD images and are used to describe how tracks are
 laid out on the image.")
     (home-page "https://www.gnu.org/software/ccd2cue/")
     (license gpl3+)))
+
+(define-public libburn
+  (package
+    (name "libburn")
+    (version "1.4.6")
+    (source (origin
+             (method url-fetch)
+             (uri (string-append "http://files.libburnia-project.org/releases/"
+                                 "libburn-" version ".tar.gz"))
+             (sha256
+              (base32
+               "0wbh49s3az3sfpai09z1zdgynq7wnwrk31v5589033274nmzldlx"))))
+    (build-system gnu-build-system)
+    (native-inputs
+     `(("pkg-config" ,pkg-config)))
+    (home-page "https://dev.lovelyhq.com/libburnia/libburn")
+    (synopsis "Library for reading and writing optical discs")
+    (description
+     "Libburn is a library for reading and writing optical discs.
+Supported media are: CD-R, CD-RW, DVD-RAM, DVD+RW, DVD+R, DVD+R/DL,
+DVD-RW, DVD-R, DVD-R/DL, BD-R, and BD-RE.")
+    (license gpl2)))
-- 
2.15.1

From 81a8e708cd739907e2150bc8a79c4bd6cb86a829 Mon Sep 17 00:00:00 2001
From: ng0 <[email-masked]>
Date: Sat, 9 Sep 2017 13:59:39 +0000
Subject: [PATCH 2/4] gnu: Add libisofs.

* gnu/packages/cdrom.scm (libisofs): New variable.
---
 gnu/packages/cdrom.scm | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/gnu/packages/cdrom.scm b/gnu/packages/cdrom.scm
index f85a76891..c1adf174b 100644
--- a/gnu/packages/cdrom.scm
+++ b/gnu/packages/cdrom.scm
@@ -717,3 +717,32 @@ laid out on the image.")
 Supported media are: CD-R, CD-RW, DVD-RAM, DVD+RW, DVD+R, DVD+R/DL,
 DVD-RW, DVD-R, DVD-R/DL, BD-R, and BD-RE.")
     (license gpl2)))
+
+(define-public libisofs
+  (package
+    (name "libisofs")
+    (version "1.4.6")
+    (source (origin
+             (method url-fetch)
+             (uri (string-append "http://files.libburnia-project.org/releases/"
+                                 "libisofs-" version ".tar.gz"))
+             (sha256
+              (base32
+               "02m5g6lbmmkh2xc5xzq5zaf3ma6v31gls66aj886b3cq9qw0paql"))))
+    (build-system gnu-build-system)
+    (inputs
+     `(("zlib" ,zlib)
+       ("acl" ,acl)))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)))
+    (home-page "https://dev.lovelyhq.com/libburnia/libisofs")
+    (synopsis "Library to create ISO 9660 images")
+    (description
+     "Libisofs creates ISO 9660 (also known as ECMA-119) filesystem images
+which can either be written to POSIX file objects or handed over to
+libburn for being written directly to optical media.
+It can read metadata of ISO 9660 filesystems, manipulate them, and use them
+to produce new complete filesystem images or add-on images to be appended
+to the read filesystem image.
+Supported extensions to ISO 9660 are Rock Ridge, Joliet, AAIP, zisofs.")
+    (license gpl2+)))
-- 
2.15.1

From f2f8497ebcb1dabd0f3076b2782f00ac0ba04e05 Mon Sep 17 00:00:00 2001
From: ng0 <[email-masked]>
Date: Sat, 9 Sep 2017 14:11:36 +0000
Subject: [PATCH 3/4] gnu: Add xfburn.

* gnu/packages/xfce.scm (xfburn): New variable.
---
 gnu/packages/xfce.scm | 36 ++++++++++++++++++++++++++++++++++++
 1 file changed, 36 insertions(+)

diff --git a/gnu/packages/xfce.scm b/gnu/packages/xfce.scm
index 7668a1d38..4d7db8d19 100644
--- a/gnu/packages/xfce.scm
+++ b/gnu/packages/xfce.scm
@@ -6,6 +6,7 @@
 ;;; Copyright © 2016 Kei Kebreau <[email-masked]>
 ;;; Copyright © 2017 Ricardo Wurmus <[email-masked]>
 ;;; Copyright © 2017 Petter <[email-masked]>
+;;; Copyright © 2017 ng0 <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -32,6 +33,7 @@
   #:use-module (guix build-system trivial)
   #:use-module (gnu packages)
   #:use-module (gnu packages calendar)
+  #:use-module (gnu packages cdrom)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages glib)
   #:use-module (gnu packages gtk)
@@ -902,3 +904,37 @@ bubble in a standard way can implicitly make use of xfce4-notifyd to do so by
 sending standard messages over D-Bus using the
 @code{org.freedesktop.Notifications} interface.")
     (license gpl2)))
+
+(define-public xfburn
+  (package
+    (name "xfburn")
+    (version "0.5.4")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "http://archive.xfce.org/src/apps/xfburn/"
+                                  (version-major+minor version) "/"
+                                  name "-" version ".tar.bz2"))
+              (sha256
+               (base32
+                "1xn1kwxa3dl5r9bfj90a5322ynkwbn6k5v9b3a3pbr3a23zm604s"))))
+    (build-system gnu-build-system)
+    (native-inputs
+     `(("intltool" ,intltool)
+       ("pkg-config" ,pkg-config)))
+    (inputs
+     `(("exo" ,exo)
+       ("gstreamer" ,gstreamer)
+       ("gst-plugins-base" ,gst-plugins-base)
+       ("glib" ,glib)
+       ("gtk+" ,gtk+-2)
+       ("libburn" ,libburn)
+       ("libisofs" ,libisofs)
+       ("libxfce4ui" ,libxfce4ui)))
+    (home-page "https://goodies.xfce.org/projects/applications/xfburn")
+    (synopsis "GTK+ based CD, DVD and Blu-ray burning application")
+    (description
+     "Xfburn is a simple CD, DVD, and Blu-ray burning tool based on
+the libburnia libraries.  It can blank CD/DVD/BD(-RW)s, burn and
+create iso images, audio CDs, as well as burn personal compositions
+of data to either CD/DVD/BD.")
+    (license gpl2+)))
-- 
2.15.1

From ed830ac82a77f4b64968904afabac0898adad67f Mon Sep 17 00:00:00 2001
From: ng0 <[email-masked]>
Date: Mon, 11 Dec 2017 09:29:40 +0000
Subject: [PATCH 4/4] gnu: xorriso: Remove 'bzip2' and 'libcdio' from inputs.

Thomas Schmitt suggested in bug#28398 to apply these changes.

* gnu/packages/cdrom.scm (xorriso)[inputs]: Remove 'bzip2' and 'libcdio'.
---
 gnu/packages/cdrom.scm | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/gnu/packages/cdrom.scm b/gnu/packages/cdrom.scm
index c1adf174b..228af1651 100644
--- a/gnu/packages/cdrom.scm
+++ b/gnu/packages/cdrom.scm
@@ -161,9 +161,7 @@ libcdio.")
     (inputs
      `(("acl" ,acl)
        ("readline" ,readline)
-       ("bzip2" ,bzip2)
-       ("zlib" ,zlib)
-       ("libcdio" ,libcdio)))
+       ("zlib" ,zlib)))
     (home-page "https://www.gnu.org/software/xorriso/")
     (synopsis "Create, manipulate, burn ISO-9660 file systems")
     (description
-- 
2.15.1