summaryrefslogtreecommitdiff
path: root/extra/libdvdnav
diff options
context:
space:
mode:
authorParabola <dev@list.parabolagnulinux.org>2011-04-05 14:26:38 +0000
committerParabola <dev@list.parabolagnulinux.org>2011-04-05 14:26:38 +0000
commit415856bdd4f48ab4f2732996f0bae58595092bbe (patch)
treeede2018b591f6dfb477fe9341ba17b9bc000fab9 /extra/libdvdnav
Tue Apr 5 14:26:38 UTC 2011
Diffstat (limited to 'extra/libdvdnav')
-rw-r--r--extra/libdvdnav/PKGBUILD27
-rw-r--r--extra/libdvdnav/deadlock.patch17
2 files changed, 44 insertions, 0 deletions
diff --git a/extra/libdvdnav/PKGBUILD b/extra/libdvdnav/PKGBUILD
new file mode 100644
index 000000000..a593b3a71
--- /dev/null
+++ b/extra/libdvdnav/PKGBUILD
@@ -0,0 +1,27 @@
+# $Id: PKGBUILD 69820 2010-02-22 22:23:44Z giovanni $
+# Maintainer: arjan <arjan@archlinux.org>
+# contributor Sarah Hay <sarahhay@mb.sympatico.ca>
+
+pkgname=libdvdnav
+pkgver=4.1.3
+pkgrel=2
+pkgdesc="The library for xine-dvdnav plugin."
+arch=(i686 x86_64)
+license=('GPL')
+url="http://www.mplayerhq.hu/MPlayer/releases/dvdnav/"
+depends=('libdvdread>=4.1.3')
+options=(!libtool)
+source=(http://www.mplayerhq.hu/MPlayer/releases/dvdnav/${pkgname}-${pkgver}.tar.bz2
+ deadlock.patch)
+md5sums=('d62383c45b28816771e283515f2c27fa'
+ '864529165a1136ae4c1ccbc7b43cdb1a')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ patch -Np1 -i ${srcdir}/deadlock.patch || return 1
+
+ ./autogen.sh --prefix=/usr || return 1
+ make || return 1
+ make DESTDIR="${pkgdir}" install || return 1
+}
diff --git a/extra/libdvdnav/deadlock.patch b/extra/libdvdnav/deadlock.patch
new file mode 100644
index 000000000..f00433e67
--- /dev/null
+++ b/extra/libdvdnav/deadlock.patch
@@ -0,0 +1,17 @@
+--- a/src/dvdnav.c 2009-11-08 16:58:25.000000000 +0300
++++ b/src/dvdnav.c 2009-11-08 16:58:52.000000000 +0300
+@@ -180,12 +180,13 @@
+ pthread_mutex_unlock(&this->vm_lock);
+ return DVDNAV_STATUS_ERR;
+ }
++ pthread_mutex_unlock(&this->vm_lock);
++
+ #ifdef LOG_DEBUG
+ fprintf(MSG_OUT, "libdvdnav: clearing dvdnav\n");
+ #endif
+ result = dvdnav_clear(this);
+
+- pthread_mutex_unlock(&this->vm_lock);
+ return result;
+ }
+