ports/contrib (3.5): [notify] libva-vdpau-driver: -> dependency change: libva -> libva1

crux at crux.nu crux at crux.nu
Sat Nov 2 03:29:13 UTC 2019


commit 0d05666bc7391aff29a706bf8c56ad32c39517ac
Author: Danny Rawlins <monster.romster at gmail.com>
Date:   Sat Nov 2 11:10:28 2019 +1100

    [notify] libva-vdpau-driver:  ->  dependency change: libva -> libva1

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 at 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);


More information about the CRUX mailing list