summaryrefslogtreecommitdiff
path: root/libva-vdpau-driver
diff options
context:
space:
mode:
authorDanny Rawlins <monster.romster@gmail.com>2019-11-02 11:10:28 +1100
committerDanny Rawlins <monster.romster@gmail.com>2019-11-02 14:27:53 +1100
commit0d05666bc7391aff29a706bf8c56ad32c39517ac (patch)
tree95d896b69d3495a9d253b60f4bd5871901fd81c1 /libva-vdpau-driver
parent2a47b3d9b93b0a8848a0bb56cf9e1139483edf04 (diff)
downloadcontrib-0d05666bc7391aff29a706bf8c56ad32c39517ac.tar.gz
contrib-0d05666bc7391aff29a706bf8c56ad32c39517ac.tar.xz
[notify] libva-vdpau-driver: -> dependency change: libva -> libva1
Diffstat (limited to 'libva-vdpau-driver')
-rw-r--r--libva-vdpau-driver/.signature6
-rw-r--r--libva-vdpau-driver/Pkgfile17
-rw-r--r--libva-vdpau-driver/libva-vdpau-driver-0.7.4-include-linux-videodev2.h.patch25
-rw-r--r--libva-vdpau-driver/libva-vdpau-driver-0.7.4-sigfpe-crash.patch21
4 files changed, 64 insertions, 5 deletions
diff --git a/libva-vdpau-driver/.signature b/libva-vdpau-driver/.signature
index 4c1f08535..f19a377bd 100644
--- a/libva-vdpau-driver/.signature
+++ b/libva-vdpau-driver/.signature
@@ -1,8 +1,10 @@
untrusted comment: verify with /etc/ports/contrib.pub
-RWSagIOpLGJF32dWH5PMTTsK6/bm+R+GkveX0Yd5mcRv/muJXhIV8eORX8dh8hFrN3K6mLoNc0VaQA9e7RQCygurEnh0RlHwZgU=
-SHA256 (Pkgfile) = 41060a3f5fd456af8330e0cb24dddc7f2f3cab2f0b5976f4cb75f621c12a29f8
+RWSagIOpLGJF36XQhbSjTOEr4nxMsSXTnijbwQxexSYBbxPmwXbSxSGQuIj7gHr/PqAOq2K3jTyL8OtRf8UQL/e+ET2XsaTTLwE=
+SHA256 (Pkgfile) = 25486d1ede19943593667a2c6c4dc5b200799f77f5c2ebd6c3d265e5e56508ae
SHA256 (.footprint) = 1ca80acf81c1d37cd345cf7d75352e8abdfa7e128ac596e668d8888d8441f35c
SHA256 (libva-vdpau-driver-0.7.4.tar.bz2) = 155c1982f0ac3f5435ba20b221bcaa11be212c37db548cd1f2a030ffa17e9bb9
SHA256 (libva-vdpau-driver-0.7.4-glext-missing-definition.patch) = 776bfe4c101cdde396d8783029b288c6cd825d0cdbc782ca3d94a5f9ffb4558c
SHA256 (libva-vdpau-driver-0.7.4-libvdpau-0.8.patch) = 5e567b026b97dc0e207b6c05410cc1b7b77a58ceb5046801d0ea1a321cba3b9d
SHA256 (libva-vdpau-driver-0.7.4-VAEncH264VUIBufferType.patch) = 1ae32b8e5cca1717be4a63f09e8c6bd84a3e9b712b933816cdb32bb315dbda98
+SHA256 (libva-vdpau-driver-0.7.4-sigfpe-crash.patch) = ef21397b0ed55f170e57fa1afef42b8b491491149af09b151f97ef3cc20ed0b7
+SHA256 (libva-vdpau-driver-0.7.4-include-linux-videodev2.h.patch) = 0ddf889850c54ccace8ec61a232f04ab77495c495949f952363ad28e2fc9891d
diff --git a/libva-vdpau-driver/Pkgfile b/libva-vdpau-driver/Pkgfile
index 72682cf5d..e14b008fe 100644
--- a/libva-vdpau-driver/Pkgfile
+++ b/libva-vdpau-driver/Pkgfile
@@ -1,15 +1,17 @@
# Description: VDPAU back-end for NVIDIA and VIA chipsets.
# URL: http://freedesktop.org/wiki/Software/vaapi
# Maintainer: Danny Rawlins, crux at romster dot me
-# Depends on: libva
+# Depends on: libva1
name=libva-vdpau-driver
version=0.7.4
-release=5
+release=6
source=(https://www.freedesktop.org/software/vaapi/releases/$name/$name-$version.tar.bz2
libva-vdpau-driver-0.7.4-glext-missing-definition.patch
libva-vdpau-driver-0.7.4-libvdpau-0.8.patch
- libva-vdpau-driver-0.7.4-VAEncH264VUIBufferType.patch)
+ libva-vdpau-driver-0.7.4-VAEncH264VUIBufferType.patch
+ libva-vdpau-driver-0.7.4-sigfpe-crash.patch
+ libva-vdpau-driver-0.7.4-include-linux-videodev2.h.patch)
build() {
cd $name-$version
@@ -17,7 +19,13 @@ build() {
patch -p1 -i $SRC/libva-vdpau-driver-0.7.4-glext-missing-definition.patch
patch -p1 -i $SRC/libva-vdpau-driver-0.7.4-libvdpau-0.8.patch
patch -p1 -i $SRC/libva-vdpau-driver-0.7.4-VAEncH264VUIBufferType.patch
+ patch -p1 -i $SRC/libva-vdpau-driver-0.7.4-sigfpe-crash.patch
+ patch -p1 -i $SRC/libva-vdpau-driver-0.7.4-include-linux-videodev2.h.patch
+ sed -i 's:AM_CONFIG_HEADER:AC_CONFIG_HEADERS:' configure.ac
+ autoreconf -i
+
+ PKG_CONFIG_PATH="/usr/lib/libva1/pkgconfig" \
./configure \
--prefix=/usr \
--enable-glx
@@ -25,6 +33,9 @@ build() {
make
make DESTDIR=$PKG install
+ mv $PKG/usr/lib/libva1/* $PKG/usr/lib/
+ rmdir $PKG/usr/lib/libva1
+
# required for nouveau driver
ln -s vdpau_drv_video.so $PKG/usr/lib/dri/nouveau_drv_video.so
}
diff --git a/libva-vdpau-driver/libva-vdpau-driver-0.7.4-include-linux-videodev2.h.patch b/libva-vdpau-driver/libva-vdpau-driver-0.7.4-include-linux-videodev2.h.patch
new file mode 100644
index 000000000..0d92074ce
--- /dev/null
+++ b/libva-vdpau-driver/libva-vdpau-driver-0.7.4-include-linux-videodev2.h.patch
@@ -0,0 +1,25 @@
+https://bugs.gentoo.org/689530
+
+libva commit 93c52a17b8d2 ("va_backend: remove unneeded
+linux/videodev2.h include") removed an include that provided the
+prototype of v4l2_format among other v4l2_* structs.
+
+Without this or a forward declaration of 'struct v4l2_format', the prototype
+and definition of vdpau_CreateSurfaceFromV4L2Buf() (which has a 'struct
+v4l2_format *' parameter) are seen as conflicting.
+
+Just include the removed header where we need it.
+
+diff --git a/src/vdpau_driver.h b/src/vdpau_driver.h
+index 6286d16..54d37fb 100644
+--- a/src/vdpau_driver.h
++++ b/src/vdpau_driver.h
+@@ -21,6 +21,8 @@
+ #ifndef VDPAU_DRIVER_H
+ #define VDPAU_DRIVER_H
+
++#include <linux/videodev2.h>
++
+ #include <va/va_backend.h>
+ #include "vaapi_compat.h"
+ #include "vdpau_gate.h"
diff --git a/libva-vdpau-driver/libva-vdpau-driver-0.7.4-sigfpe-crash.patch b/libva-vdpau-driver/libva-vdpau-driver-0.7.4-sigfpe-crash.patch
new file mode 100644
index 000000000..e2fe02ccf
--- /dev/null
+++ b/libva-vdpau-driver/libva-vdpau-driver-0.7.4-sigfpe-crash.patch
@@ -0,0 +1,21 @@
+Description: Fix a crash if a heap is destroyed before being initialized
+Author: Sebastian Ramacher <sramacher@debian.org>
+Bug: https://bugs.freedesktop.org/show_bug.cgi?id=58836
+Bug-Debian: http://bugs.debian.org/748294
+Last-Update: 2014-06-02
+
+--- vdpau-video-0.7.4.orig/src/object_heap.c
++++ vdpau-video-0.7.4/src/object_heap.c
+@@ -272,8 +272,10 @@ object_heap_destroy(object_heap_p heap)
+ ASSERT(obj->next_free != ALLOCATED);
+ }
+
+- for (i = 0; i < heap->heap_size / heap->heap_increment; i++) {
+- free(heap->bucket[i]);
++ if (heap->bucket) {
++ for (i = 0; i < heap->heap_size / heap->heap_increment; i++) {
++ free(heap->bucket[i]);
++ }
+ }
+
+ pthread_mutex_destroy(&heap->mutex);

Generated by cgit