summaryrefslogtreecommitdiff
path: root/community/libpar2
diff options
context:
space:
mode:
Diffstat (limited to 'community/libpar2')
-rw-r--r--community/libpar2/PKGBUILD33
-rw-r--r--community/libpar2/libpar2-0.2-bugfixes.patch29
2 files changed, 62 insertions, 0 deletions
diff --git a/community/libpar2/PKGBUILD b/community/libpar2/PKGBUILD
new file mode 100644
index 000000000..48d21954a
--- /dev/null
+++ b/community/libpar2/PKGBUILD
@@ -0,0 +1,33 @@
+# Maintainer: Jaroslav Lichtblau <tu@dragonlord.cz>
+# Contributor: Paul Bredbury <brebs@sent.com>
+# Contributor: Matt McDonald <metzen@gmail.com>
+
+pkgname=libpar2
+pkgver=0.2
+pkgrel=4
+pkgdesc="Parity checking library,"
+arch=('i686' 'x86_64')
+url="http://parchive.sourceforge.net/"
+license=('GPL')
+depends=('libsigc++2.0')
+makedepends=('autoconf' 'automake' 'pkgconfig')
+options=(!libtool)
+source=(http://downloads.sourceforge.net/sourceforge/parchive/${pkgname}-${pkgver}.tar.gz
+ libpar2-0.2-bugfixes.patch)
+
+md5sums=('94c6df4e38efe08056ecde2a04e0be91'
+ '66c306f42fb81016a7a58af8f45e2b68')
+
+build() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+
+ patch -p0 < ${srcdir}/libpar2-0.2-bugfixes.patch || return 1
+ autoreconf -fi || return 1
+ ./configure --prefix=/usr
+ make || return 1
+ make DESTDIR=${pkgdir} install
+
+#Docs
+ install -d ${pkgdir}/usr/share/doc/${pkgname}
+ install -m644 -t ${pkgdir}/usr/share/doc/${pkgname}/ AUTHORS PORTING README ROADMAP || return 1
+}
diff --git a/community/libpar2/libpar2-0.2-bugfixes.patch b/community/libpar2/libpar2-0.2-bugfixes.patch
new file mode 100644
index 000000000..cb3c938df
--- /dev/null
+++ b/community/libpar2/libpar2-0.2-bugfixes.patch
@@ -0,0 +1,29 @@
+diff -aud ../libpar2-0.2-original/par2repairer.cpp ../libpar2-0.2/par2repairer.cpp
+--- ../libpar2-0.2-original/par2repairer.cpp 2006-01-20 18:25:20.000000000 +0100
++++ ../libpar2-0.2/par2repairer.cpp 2008-02-06 12:02:53.226050300 +0100
+@@ -78,6 +78,7 @@
+
+ delete mainpacket;
+ delete creatorpacket;
++ delete headers;
+ }
+
+
+@@ -1261,7 +1262,7 @@
+ DiskFile::SplitFilename(filename, path, name);
+
+ cout << "Target: \"" << name << "\" - missing." << endl;
+- sig_done.emit(name, 0, sourcefile->GetVerificationPacket()->BlockCount());
++ sig_done.emit(name, 0, sourcefile->GetVerificationPacket() ? sourcefile->GetVerificationPacket()->BlockCount() : 0);
+ }
+ }
+
+@@ -1804,7 +1805,7 @@
+ }
+ }
+ }
+- sig_done.emit(name,count,sourcefile->GetVerificationPacket()->BlockCount());
++ sig_done.emit(name,count, sourcefile->GetVerificationPacket() ? sourcefile->GetVerificationPacket()->BlockCount() : 0);
+ sig_progress.emit(1000.0);
+ return true;
+ }