libvdpau: new package
Signed-off-by: Damien Lanson <damien@kal-host.com> [Thomas: - Add dependency on BR2_PACKAGE_XORG7, which is necessary when selecting BR2_PACKAGE_XLIB_LIBX11 and BR2_PACKAGE_XLIB_LIBXEXT. - Fix indentation of Config.in help text. - Add host-pkgconf to the dependencies, since the configure script uses pkg-config to detect dependencies. - Add references for the patches.] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This commit is contained in:
parent
9cdb281fa6
commit
a5d05c3c81
@ -975,6 +975,7 @@ menu "Graphics"
|
||||
source "package/libsvgtiny/Config.in"
|
||||
source "package/libva/Config.in"
|
||||
source "package/libva-intel-driver/Config.in"
|
||||
source "package/libvdpau/Config.in"
|
||||
source "package/libvips/Config.in"
|
||||
source "package/menu-cache/Config.in"
|
||||
source "package/opencv/Config.in"
|
||||
|
29
package/libvdpau/0001-missing-configh-include.patch
Executable file
29
package/libvdpau/0001-missing-configh-include.patch
Executable file
@ -0,0 +1,29 @@
|
||||
From: Rico Tzschichholz <ricotz@ubuntu.com>
|
||||
Date: Tue, 1 Sep 2015 10:45:11 +0200
|
||||
Subject: mesa_dri2: Add missing include of config.h to define _GNU_SOURCE
|
||||
|
||||
Fix build with -Wimplicit-function-declaration while secure_getenv() is
|
||||
guarded by __USE_GNU.
|
||||
|
||||
Reviewed-by: Aaron Plattner <aplattner@nvidia.com>
|
||||
Tested-by: Stefan Dirsch <sndirsch@suse.de>
|
||||
(cherry picked from commit 1cda354bdfd0c9ca107293b84b52f4464fdbedcc)
|
||||
Signed-off-by: Damien Lanson <damien@kal-host.com>
|
||||
---
|
||||
src/mesa_dri2.c | 3 +++
|
||||
1 file changed, 3 insertions(+)
|
||||
|
||||
diff --git a/src/mesa_dri2.c b/src/mesa_dri2.c
|
||||
index 51e8794..420ccee 100644
|
||||
--- a/src/mesa_dri2.c
|
||||
+++ b/src/mesa_dri2.c
|
||||
@@ -33,6 +33,9 @@
|
||||
* and José Hiram Soltren (jsoltren@nvidia.com)
|
||||
*/
|
||||
|
||||
+#ifdef HAVE_CONFIG_H
|
||||
+#include "config.h"
|
||||
+#endif
|
||||
|
||||
#define NEED_REPLIES
|
||||
#include <X11/Xlibint.h>
|
33
package/libvdpau/0002-link-with-libx11.patch
Executable file
33
package/libvdpau/0002-link-with-libx11.patch
Executable file
@ -0,0 +1,33 @@
|
||||
Subject: Link libvdpao with libX11 since it uses symbols from it
|
||||
Author: Russ Allbery <rra@debian.org>
|
||||
Forwarded: no
|
||||
|
||||
libvdpau uses the symbols:
|
||||
|
||||
_XEatData
|
||||
_XReply
|
||||
_XFlush
|
||||
_XReadPad
|
||||
XFree
|
||||
|
||||
which are provided by libX11, but wasn't linking with it directly, resulting
|
||||
in warnings during the package build (and possibly errors later with better
|
||||
linkers).
|
||||
|
||||
[Patch taken from
|
||||
https://anonscm.debian.org/cgit/pkg-nvidia/libvdpau.git/tree/debian/patches/link-with-libx11.patch.]
|
||||
|
||||
Signed-off-by: Damien Lanson <damien@kal-host.com>
|
||||
|
||||
--- a/src/Makefile.am
|
||||
+++ b/src/Makefile.am
|
||||
@@ -22,7 +22,8 @@ endif
|
||||
libvdpau_la_LIBADD = \
|
||||
$(DLOPEN_LIBS) \
|
||||
$(PTHREAD_LIBS) \
|
||||
- $(XEXT_LIBS)
|
||||
+ $(XEXT_LIBS) \
|
||||
+ $(X11_LIBS)
|
||||
|
||||
libvdpau_la_LDFLAGS = -version-info 1:0:0 -no-undefined
|
||||
|
48
package/libvdpau/0003-vdpau-module-searchpath.patch
Executable file
48
package/libvdpau/0003-vdpau-module-searchpath.patch
Executable file
@ -0,0 +1,48 @@
|
||||
From: Andreas Beckmann <debian@abeckmann.de>
|
||||
Subject: search the vdpau module in multiple directories
|
||||
start searching the vdpau module in ${ORIGIN}/vdpau, then the MODULEDIR and
|
||||
finally fall back to /usr/lib/vdpau
|
||||
|
||||
[Patch taken from
|
||||
https://anonscm.debian.org/cgit/pkg-nvidia/libvdpau.git/tree/debian/patches/vdpau-module-searchpath.patch.]
|
||||
|
||||
Signed-off-by: Damien Lanson <damien@kal-host.com>
|
||||
|
||||
--- a/src/vdpau_wrapper.c
|
||||
+++ b/src/vdpau_wrapper.c
|
||||
@@ -103,6 +103,13 @@ static char * _vdp_get_driver_name_from_
|
||||
return driver_name;
|
||||
}
|
||||
|
||||
+static char const * _vdpau_module_search_paths[] = {
|
||||
+ "${ORIGIN}/vdpau",
|
||||
+ VDPAU_MODULEDIR,
|
||||
+ "/usr/lib/vdpau",
|
||||
+ NULL
|
||||
+};
|
||||
+
|
||||
static VdpStatus _vdp_open_driver(
|
||||
Display * display,
|
||||
int screen)
|
||||
@@ -117,6 +127,7 @@ static VdpStatus _vdp_open_driver(
|
||||
char vdpau_driver_lib[PATH_MAX];
|
||||
char const * vdpau_trace;
|
||||
char const * func_name;
|
||||
+ char const ** module_path;
|
||||
|
||||
vdpau_driver = secure_getenv("VDPAU_DRIVER");
|
||||
if (vdpau_driver) {
|
||||
@@ -138,9 +146,11 @@ static VdpStatus _vdp_open_driver(
|
||||
|
||||
/* Fallback to VDPAU_MODULEDIR when VDPAU_DRIVER_PATH is not set,
|
||||
* or if we fail to create the driver path/dlopen the library. */
|
||||
- if (!_vdp_driver_dll) {
|
||||
+ for (module_path = _vdpau_module_search_paths;
|
||||
+ !_vdp_driver_dll && *module_path;
|
||||
+ ++module_path) {
|
||||
if (snprintf(vdpau_driver_lib, sizeof(vdpau_driver_lib),
|
||||
- DRIVER_LIB_FORMAT, VDPAU_MODULEDIR, vdpau_driver) >=
|
||||
+ DRIVER_LIB_FORMAT, *module_path, vdpau_driver) >=
|
||||
sizeof(vdpau_driver_lib)) {
|
||||
fprintf(stderr, "Failed to construct driver path: path too long\n");
|
||||
}
|
17
package/libvdpau/Config.in
Executable file
17
package/libvdpau/Config.in
Executable file
@ -0,0 +1,17 @@
|
||||
config BR2_PACKAGE_LIBVDPAU
|
||||
bool "libvdpau"
|
||||
depends on BR2_TOOLCHAIN_HAS_THREADS
|
||||
depends on BR2_INSTALL_LIBSTDCPP
|
||||
depends on BR2_PACKAGE_XORG7
|
||||
select BR2_PACKAGE_XLIB_LIBX11
|
||||
select BR2_PACKAGE_XLIB_LIBXEXT
|
||||
help
|
||||
VDPAU is the Video Decode and Presentation API for UNIX.
|
||||
It provides an interface to video decode acceleration and
|
||||
presentation hardware present in modern GPUs.
|
||||
|
||||
http://freedesktop.org/wiki/Software/VDPAU
|
||||
|
||||
comment "libvdpau needs a toolchain w/ threads, C++"
|
||||
depends on BR2_PACKAGE_XORG7
|
||||
depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_INSTALL_LIBSTDCPP
|
4
package/libvdpau/libvdpau.hash
Executable file
4
package/libvdpau/libvdpau.hash
Executable file
@ -0,0 +1,4 @@
|
||||
# From https://lists.freedesktop.org/archives/xorg-announce/2015-August/002630.html
|
||||
md5 2fa0b05a4f4d06791eec83bc9c854d14 libvdpau-1.1.1.tar.bz2
|
||||
sha1 86516e2a962fd34f65d49115d6ddf15fd912f579 libvdpau-1.1.1.tar.bz2
|
||||
sha256 857a01932609225b9a3a5bf222b85e39b55c08787d0ad427dbd9ec033d58d736 libvdpau-1.1.1.tar.bz2
|
28
package/libvdpau/libvdpau.mk
Executable file
28
package/libvdpau/libvdpau.mk
Executable file
@ -0,0 +1,28 @@
|
||||
################################################################################
|
||||
#
|
||||
# libvdpau
|
||||
#
|
||||
################################################################################
|
||||
|
||||
LIBVDPAU_VERSION = 1.1.1
|
||||
LIBVDPAU_SOURCE = libvdpau-$(LIBVDPAU_VERSION).tar.bz2
|
||||
LIBVDPAU_SITE = http://people.freedesktop.org/~aplattner/vdpau
|
||||
LIBVDPAU_LICENSE = MIT
|
||||
LIBVDPAU_LICENSE_FILES = COPYING
|
||||
LIBVDPAU_INSTALL_STAGING = YES
|
||||
|
||||
# autoreconf for patch 0002-link-with-libx11.patch
|
||||
LIBVDPAU_AUTORECONF = YES
|
||||
|
||||
LIBVDPAU_DEPENDENCIES = host-pkgconf xlib_libX11 xlib_libXext
|
||||
|
||||
LIBVDPAU_CONF_OPTS = --with-module-dir=/usr/lib/vdpau
|
||||
|
||||
ifeq ($(BR2_PACKAGE_XPROTO_DRI2PROTO),y)
|
||||
LIBVDPAU_DEPENDENCIES += xproto_dri2proto
|
||||
LIBVDPAU_CONF_OPTS += --enable-dri2
|
||||
else
|
||||
LIBVDPAU_CONF_OPTS += --disable-dri2
|
||||
endif
|
||||
|
||||
$(eval $(autotools-package))
|
Loading…
Reference in New Issue
Block a user