From 8b5054e1ea7d521470615c77a51574405339f3ef Mon Sep 17 00:00:00 2001
From: James Meyer <james.meyer@operamail.com>
Date: Thu, 13 Dec 2012 15:35:38 -0600
Subject: dvd+rw-tools: 7.1

---
 abs/core/dvd+rw-tools/PKGBUILD                     | 43 ++++++++++++++++++++++
 abs/core/dvd+rw-tools/dvd+rw-tools-7.0-dvddl.patch | 13 +++++++
 .../dvd+rw-tools-7.0-glibc2.6.90.patch             | 11 ++++++
 .../dvd+rw-tools/dvd+rw-tools-7.0-wctomb.patch     | 11 ++++++
 abs/core/dvd+rw-tools/dvd+rw-tools-7.0-wexit.patch | 11 ++++++
 5 files changed, 89 insertions(+)
 create mode 100644 abs/core/dvd+rw-tools/PKGBUILD
 create mode 100644 abs/core/dvd+rw-tools/dvd+rw-tools-7.0-dvddl.patch
 create mode 100644 abs/core/dvd+rw-tools/dvd+rw-tools-7.0-glibc2.6.90.patch
 create mode 100644 abs/core/dvd+rw-tools/dvd+rw-tools-7.0-wctomb.patch
 create mode 100644 abs/core/dvd+rw-tools/dvd+rw-tools-7.0-wexit.patch

diff --git a/abs/core/dvd+rw-tools/PKGBUILD b/abs/core/dvd+rw-tools/PKGBUILD
new file mode 100644
index 0000000..21ea762
--- /dev/null
+++ b/abs/core/dvd+rw-tools/PKGBUILD
@@ -0,0 +1,43 @@
+# $Id: PKGBUILD 137803 2011-09-11 11:04:53Z pierre $
+# Maintainer: damir <damir@archlinux.org>
+
+pkgname=dvd+rw-tools
+pkgver=7.1
+pkgrel=4
+pkgdesc="dvd burning tools"
+arch=('i686' 'x86_64')
+license=('GPL')
+url="http://fy.chalmers.se/~appro/linux/DVD+RW"
+depends=('cdrkit' 'gcc-libs')
+source=("http://fy.chalmers.se/~appro/linux/DVD+RW/tools/${pkgname}-${pkgver}.tar.gz"
+        'dvd+rw-tools-7.0-dvddl.patch'
+        'dvd+rw-tools-7.0-glibc2.6.90.patch'
+        'dvd+rw-tools-7.0-wctomb.patch'
+        'dvd+rw-tools-7.0-wexit.patch')
+
+build() {
+  cd "${srcdir}/${pkgname}-${pkgver}"
+  # patches from Gentoo/Fedora
+  # see https://bugs.gentoo.org/257360, https://bugzilla.redhat.com/show_bug.cgi?id=426068
+  # and https://bugzilla.redhat.com/show_bug.cgi?id=243036
+  patch -p0 -i "${srcdir}/dvd+rw-tools-7.0-dvddl.patch"
+  patch -p1 -i "${srcdir}/dvd+rw-tools-7.0-glibc2.6.90.patch"
+  patch -p0 -i "${srcdir}/dvd+rw-tools-7.0-wctomb.patch"
+  patch -p1 -i "${srcdir}/dvd+rw-tools-7.0-wexit.patch"
+
+  make
+}
+
+package() {
+  cd "${srcdir}/${pkgname}-${pkgver}"
+  install -m755 -d "${pkgdir}/usr/bin"
+  install -m755 -d "${pkgdir}/usr/share/man/man1"
+
+  install -m755 growisofs dvd+rw-booktype dvd+rw-format dvd+rw-mediainfo dvd-ram-control "${pkgdir}/usr/bin/"
+  install -m644 growisofs.1 ${pkgdir}/usr/share/man/man1/growisofs.1
+}
+md5sums=('8acb3c885c87f6838704a0025e435871'
+         '65d30aa98ff314f256d0a1afb9e3edf6'
+         '1be5401035ca850edb7e522f22aead4b'
+         '3ba1af063b30f942e1cd2004044702d3'
+         'b2c66b6c6243b207fbe4f6ae34fa6cba')
diff --git a/abs/core/dvd+rw-tools/dvd+rw-tools-7.0-dvddl.patch b/abs/core/dvd+rw-tools/dvd+rw-tools-7.0-dvddl.patch
new file mode 100644
index 0000000..c1c6fb3
--- /dev/null
+++ b/abs/core/dvd+rw-tools/dvd+rw-tools-7.0-dvddl.patch
@@ -0,0 +1,13 @@
+--- ./growisofs_mmc.cpp.joe	2006-04-27 20:45:00.788446635 +0200
++++ ./growisofs_mmc.cpp	2006-04-27 20:46:01.666824300 +0200
+@@ -1412,9 +1412,7 @@
+     blocks += 15, blocks &= ~15;
+ 
+     if (blocks <= split)
+-	fprintf (stderr,":-( more than 50%% of space will be *wasted*!\n"
+-			"    use single layer media for this recording\n"),
+-	exit (FATAL_START(EMEDIUMTYPE));
++	fprintf (stderr,":-? more than 50%% of space will be *wasted*!\n");
+ 
+     blocks /= 16;
+     blocks += 1;
diff --git a/abs/core/dvd+rw-tools/dvd+rw-tools-7.0-glibc2.6.90.patch b/abs/core/dvd+rw-tools/dvd+rw-tools-7.0-glibc2.6.90.patch
new file mode 100644
index 0000000..49742d3
--- /dev/null
+++ b/abs/core/dvd+rw-tools/dvd+rw-tools-7.0-glibc2.6.90.patch
@@ -0,0 +1,11 @@
+diff -up dvd+rw-tools-7.0/transport.hxx.glibc2.6.90 dvd+rw-tools-7.0/transport.hxx
+--- dvd+rw-tools-7.0/transport.hxx.glibc2.6.90	2007-08-15 12:56:17.000000000 +0200
++++ dvd+rw-tools-7.0/transport.hxx	2007-08-15 12:56:42.000000000 +0200
+@@ -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>
diff --git a/abs/core/dvd+rw-tools/dvd+rw-tools-7.0-wctomb.patch b/abs/core/dvd+rw-tools/dvd+rw-tools-7.0-wctomb.patch
new file mode 100644
index 0000000..56bd725
--- /dev/null
+++ b/abs/core/dvd+rw-tools/dvd+rw-tools-7.0-wctomb.patch
@@ -0,0 +1,11 @@
+--- transport.hxx~	2008-03-25 21:24:47.000000000 -0400
++++ transport.hxx	2008-03-25 21:25:36.000000000 -0400
+@@ -116,7 +116,7 @@
+ extern "C" char *plusminus_locale()
+ { static class __plusminus {
+     private:
+-	char str[4];
++	char str[MB_LEN_MAX];
+     public:
+ 	__plusminus()	{   setlocale(LC_CTYPE,ENV_LOCALE);
+ 			    int l = wctomb(str,(wchar_t)(unsigned char)'�');
diff --git a/abs/core/dvd+rw-tools/dvd+rw-tools-7.0-wexit.patch b/abs/core/dvd+rw-tools/dvd+rw-tools-7.0-wexit.patch
new file mode 100644
index 0000000..e7910cb
--- /dev/null
+++ b/abs/core/dvd+rw-tools/dvd+rw-tools-7.0-wexit.patch
@@ -0,0 +1,11 @@
+--- dvd+rw-tools-7.0/dvd+rw-format.cpp.wexit	2007-06-21 12:42:30.000000000 +0200
++++ dvd+rw-tools-7.0/dvd+rw-format.cpp	2007-06-21 12:44:13.000000000 +0200
+@@ -245,7 +245,7 @@ int main (int argc, char *argv[])
+ 	alarm(1);
+ 	while ((waitpid(pid,&i,0) != pid) && !WIFEXITED(i)) ;
+ 	if (WEXITSTATUS(i) == 0) fprintf (stderr,"\n");
+-	exit (0);
++	exit (WEXITSTATUS(i));
+     }
+ #endif
+ 
-- 
cgit v0.12