commit:     0fe323bf48050358c9e2a7be98421c108978bf12
Author:     Matt Turner <mattst88 <AT> gentoo <DOT> org>
AuthorDate: Thu Jun 13 19:42:00 2019 +0000
Commit:     Matt Turner <mattst88 <AT> gentoo <DOT> org>
CommitDate: Thu Jun 13 19:59:23 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0fe323bf

x11-libs/libva-vdpau-driver: Port to EAPI=7

And fix s/DEPEND/RDEPEND/ typo (bug 687780), add missing libva slot
dep (bug 673376), and add a patch from Debian while we're here.

Closes: https://bugs.gentoo.org/673376
Closes: https://bugs.gentoo.org/687780
Signed-off-by: Matt Turner <mattst88 <AT> gentoo.org>

 .../libva-vdpau-driver-0.7.4-libvdpau-0.8.patch    |  4 +-
 .../libva-vdpau-driver-0.7.4-sigfpe-crash.patch    | 21 ++++++++++
 .../libva-vdpau-driver-0.7.4-r5.ebuild             | 47 ++++++++++++++++++++++
 3 files changed, 70 insertions(+), 2 deletions(-)

diff --git 
a/x11-libs/libva-vdpau-driver/files/libva-vdpau-driver-0.7.4-libvdpau-0.8.patch 
b/x11-libs/libva-vdpau-driver/files/libva-vdpau-driver-0.7.4-libvdpau-0.8.patch
index 6d6d47ad0b0..412e9c30848 100644
--- 
a/x11-libs/libva-vdpau-driver/files/libva-vdpau-driver-0.7.4-libvdpau-0.8.patch
+++ 
b/x11-libs/libva-vdpau-driver/files/libva-vdpau-driver-0.7.4-libvdpau-0.8.patch
@@ -1,7 +1,7 @@
 http://bugs.gentoo.org/517778
 
---- src/vdpau_decode.c
-+++ src/vdpau_decode.c
+--- a/src/vdpau_decode.c
++++ b/src/vdpau_decode.c
 @@ -1289,7 +1289,7 @@
              driver_data,
              obj_context->vdp_decoder,

diff --git 
a/x11-libs/libva-vdpau-driver/files/libva-vdpau-driver-0.7.4-sigfpe-crash.patch 
b/x11-libs/libva-vdpau-driver/files/libva-vdpau-driver-0.7.4-sigfpe-crash.patch
new file mode 100644
index 00000000000..e2fe02ccf32
--- /dev/null
+++ 
b/x11-libs/libva-vdpau-driver/files/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 <sramac...@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);

diff --git a/x11-libs/libva-vdpau-driver/libva-vdpau-driver-0.7.4-r5.ebuild 
b/x11-libs/libva-vdpau-driver/libva-vdpau-driver-0.7.4-r5.ebuild
new file mode 100644
index 00000000000..35a25d844b0
--- /dev/null
+++ b/x11-libs/libva-vdpau-driver/libva-vdpau-driver-0.7.4-r5.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools multilib-minimal
+
+DESCRIPTION="VDPAU Backend for Video Acceleration (VA) API"
+HOMEPAGE="https://www.freedesktop.org/wiki/Software/vaapi";
+SRC_URI="https://www.freedesktop.org/software/vaapi/releases/libva-vdpau-driver/${P}.tar.bz2";
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+IUSE="debug opengl"
+
+RDEPEND=">=x11-libs/libva-1.2.1-r1:=[X,opengl?,${MULTILIB_USEDEP}]
+       opengl? ( >=virtual/opengl-7.0-r1[${MULTILIB_USEDEP}] )
+       >=x11-libs/libvdpau-0.8[${MULTILIB_USEDEP}]
+       !x11-libs/vdpau-video"
+
+DEPEND="${RDEPEND}
+       virtual/pkgconfig"
+
+DOCS=( NEWS README AUTHORS )
+
+PATCHES=(
+       "${FILESDIR}"/${P}-glext-missing-definition.patch
+       "${FILESDIR}"/${P}-VAEncH264VUIBufferType.patch
+       "${FILESDIR}"/${P}-libvdpau-0.8.patch
+       "${FILESDIR}"/${P}-sigfpe-crash.patch
+)
+
+src_prepare() {
+       default
+       sed -i 's:AM_CONFIG_HEADER:AC_CONFIG_HEADERS:' configure.ac || die
+       eautoreconf
+}
+
+multilib_src_configure() {
+       local myeconfargs=(
+               $(use_enable debug)
+               $(use_enable opengl glx)
+       )
+
+       ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
+}

Reply via email to