aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/cdrom.scm43
-rw-r--r--gnu/packages/patches/dvd+rw-tools-add-include.patch14
3 files changed, 58 insertions, 0 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index 33e1c775fd..e7c670793c 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -552,6 +552,7 @@ dist_patch_DATA = \
%D%/packages/patches/doc++-include-directives.patch \
%D%/packages/patches/doc++-segfault-fix.patch \
%D%/packages/patches/doxygen-test.patch \
+ %D%/packages/patches/dvd+rw-tools-add-include.patch \
%D%/packages/patches/elfutils-tests-ptrace.patch \
%D%/packages/patches/elixir-disable-failing-tests.patch \
%D%/packages/patches/einstein-build.patch \
diff --git a/gnu/packages/cdrom.scm b/gnu/packages/cdrom.scm
index c0ba337da1..759375e45d 100644
--- a/gnu/packages/cdrom.scm
+++ b/gnu/packages/cdrom.scm
@@ -7,6 +7,7 @@
;;; Copyright © 2016 Alex Kost <alezost@gmail.com>
;;; Copyright © 2016 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017 John Darrington <jmd@gnu.org>
+;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -41,6 +42,7 @@
#:use-module (gnu packages gtk)
#:use-module (gnu packages glib)
#:use-module (gnu packages man)
+ #:use-module (gnu packages m4)
#:use-module (gnu packages mp3)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages elf)
@@ -254,6 +256,47 @@ images.")
;; mkisofs is GPL, the other programs are CDDL.
(license (list cddl1.0 gpl2))))
+(define-public dvd+rw-tools
+ (package
+ (name "dvd+rw-tools")
+ (version "7.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://fy.chalmers.se/~appro/linux/DVD+RW/tools/dvd+rw-tools-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "1jkjvvnjcyxpql97xjjx0kwvy70kxpiznr2zpjy2hhci5s10zmpq"))
+ (patches (search-patches "dvd+rw-tools-add-include.patch"))))
+ (build-system gnu-build-system)
+ (inputs
+ `(("cdrtools" ,cdrtools)))
+ (native-inputs
+ `(("m4" ,m4)))
+ (arguments
+ `(#:tests? #f ; No tests.
+ #:phases
+ (modify-phases %standard-phases
+ (replace 'configure
+ (lambda _ (setenv "prefix" (assoc-ref %outputs "out")) #t))
+ (add-before 'build 'embed-mkisofs
+ (lambda* (#:key inputs #:allow-other-keys)
+ ;; We use sed --in-place because substitute* cannot handle the
+ ;; character encoding used by growisofs.c.
+ (zero? (system* "sed" "-i" "-e"
+ (string-append
+ "s,\"mkisofs\","
+ "\"" (which "mkisofs") "\",")
+ "growisofs.c")))))))
+ (home-page "http://fy.chalmers.se/~appro/linux/DVD+RW/")
+ (synopsis "DVD and Blu-ray Disc burning tools")
+ (description "dvd+rw-tools, mostly known for its command
+@command{growisofs}, is a collection of DVD and Blu-ray Disc burning tools.
+It requires another program, such as @command{mkisofs}, @command{genisoimage},
+or @command{xorrisofs} to create ISO 9660 images.")
+ (license gpl2)))
+
(define-public dvdisaster
(package
(name "dvdisaster")
diff --git a/gnu/packages/patches/dvd+rw-tools-add-include.patch b/gnu/packages/patches/dvd+rw-tools-add-include.patch
new file mode 100644
index 0000000000..800f8f30ba
--- /dev/null
+++ b/gnu/packages/patches/dvd+rw-tools-add-include.patch
@@ -0,0 +1,14 @@
+Without <limits.h>, INT_MAX is not defined.
+
+diff --git a/transport.hxx b/transport.hxx
+index 35a57a7..838add6 100644
+--- a/transport.hxx
++++ b/transport.hxx
+@@ -11,6 +11,7 @@
+ #include <stdlib.h>
+ #include <unistd.h>
+ #include <string.h>
++#include <limits.h>
+ #include <sys/types.h>
+ #include <sys/stat.h>
+ #include <fcntl.h>