libvdpau: new package
PATCH 1/1 libvdpau: new package
--- package/Config.in | 1 + .../libvdpau/0001-missing-configh-include.patch | 28 +++++++++++++ package/libvdpau/0002-link-with-libx11.patch | 28 +++++++++++++ .../libvdpau/0003-vdpau-module-searchpath.patch | 43 ++++++++++++++++++++ package/libvdpau/Config.in | 15 +++++++ package/libvdpau/libvdpau.hash | 4 ++ package/libvdpau/libvdpau.mk | 27 ++++++++++++ 7 files changed, 146 insertions(+) create mode 100644 package/libvdpau/0001-missing-configh-include.patch create mode 100644 package/libvdpau/0002-link-with-libx11.patch create mode 100644 package/libvdpau/0003-vdpau-module-searchpath.patch create mode 100755 package/libvdpau/Config.in create mode 100644 package/libvdpau/libvdpau.hash create mode 100644 package/libvdpau/libvdpau.mk
package/Config.in +1 -0
@@ -957,6 +957,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"
package/libvdpau/0001-missing-configh-include.patch new file +28 -0
@@ -0,0 +1,28 @@ +From: Rico Tzschichholz <[email protected]> +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 <[email protected]> +Tested-by: Stefan Dirsch <[email protected]> +(cherry picked from commit 1cda354bdfd0c9ca107293b84b52f4464fdbedcc) +--- + 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 at nvidia.com) + */ + ++#ifdef HAVE_CONFIG_H ++#include "config.h" ++#endif + + #define NEED_REPLIES + #include <X11/Xlibint.h>
package/libvdpau/0002-link-with-libx11.patch new file +28 -0
@@ -0,0 +1,28 @@ +Subject: Link libvdpao with libX11 since it uses symbols from it +Author: Russ Allbery <[email protected]> +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). + +--- 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 +
package/libvdpau/0003-vdpau-module-searchpath.patch new file +43 -0
43 lines not on this page · raw message
package/libvdpau/Config.in new file +15 -0
@@ -0,0 +1,15 @@ +config BR2_PACKAGE_LIBVDPAU + bool "libvdpau" + depends on BR2_INSTALL_LIBSTDCPP + depends on BR2_TOOLCHAIN_HAS_THREADS + select BR2_PACKAGE_XLIB_LIBX11 if BR2_PACKAGE_XORG7 + select BR2_PACKAGE_XLIB_LIBXEXT if BR2_PACKAGE_XORG7 + 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_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS
package/libvdpau/libvdpau.hash new file +4 -0
@@ -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
package/libvdpau/libvdpau.mk new file +27 -0
@@ -0,0 +1,27 @@ +################################################################################ +# +# libvdpau +# +################################################################################ +LIBVDPAU_VERSION = 1.1.1 +LIBVDPAU_SOURCE = libvdpau-$(LIBVDPAU_VERSION).tar.bz2 +LIBVDPAU_SITE = http://people.freedesktop.org/~aplattner/vdpau +LIBVDPAU_LICENSE = NVIDIA Corporation +LIBVDPAU_LICENSE_FILES = COPYING +LIBVDPAU_INSTALL_STAGING = YES + +#Autoreconf for patch 0002-link-with-libx11.patch +LIBVDPAU_AUTORECONF = YES + +LIBVDPAU_DEPENDENCIES = 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))
Signature · 1 line
1.7.10.4
PATCH 1/1 libvdpau: new package
Hello Damien,
I have inlined some comments. Please keep reading.
Quoted 35 lines · Damien Lanson
Signed-off-by Damien Lanson <[email protected]>--- package/Config.in | 1 + .../libvdpau/0001-missing-configh-include.patch | 28 +++++++++++++ package/libvdpau/0002-link-with-libx11.patch | 28 +++++++++++++ .../libvdpau/0003-vdpau-module-searchpath.patch | 43 ++++++++++++++++++++ package/libvdpau/Config.in | 15 +++++++ package/libvdpau/libvdpau.hash | 4 ++ package/libvdpau/libvdpau.mk | 27 ++++++++++++ 7 files changed, 146 insertions(+) create mode 100644 package/libvdpau/0001-missing-configh-include.patch create mode 100644 package/libvdpau/0002-link-with-libx11.patch create mode 100644 package/libvdpau/0003-vdpau-module-searchpath.patch create mode 100755 package/libvdpau/Config.in create mode 100644 package/libvdpau/libvdpau.hash create mode 100644 package/libvdpau/libvdpau.mkpackage/Config.in +1
-0@@ -957,6 +957,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"package/libvdpau/0001-missing-configh-include.patch new file +0
-0
package/libvdpau/0001-missing-configh-include.patch line 10
Quoted 10 lines
package/libvdpau/0001-missing-configh-include.patch new file +10
-0@@ -0,0 +1,28 @@ +From: Rico Tzschichholz <[email protected]> +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 <[email protected]> +Tested-by: Stefan Dirsch <[email protected]> +(cherry picked from commit 1cda354bdfd0c9ca107293b84b52f4464fdbedcc)
you are adding that patch to another project (Buildroot), so it needs your SoB here as well.
Quoted 29 lines
package/libvdpau/0001-missing-configh-include.patch new file +18
-0+--- + 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 at nvidia.com) + */ + ++#ifdef HAVE_CONFIG_H ++#include "config.h" ++#endif + + #define NEED_REPLIES + #include <X11/Xlibint.h>package/libvdpau/0002-link-with-libx11.patch new file +5
-0@@ -0,0 +1,28 @@ +Subject: Link libvdpao with libX11 since it uses symbols from it +Author: Russ Allbery <[email protected]> +Forwarded: no + +libvdpau uses the symbols:
package/libvdpau/0002-link-with-libx11.patch line 15
Quoted 10 lines
package/libvdpau/0002-link-with-libx11.patch new file +10
-0+ + _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).
Same here.
Quoted 18 lines
package/libvdpau/0002-link-with-libx11.patch new file +12
-0+--- 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 +package/libvdpau/0003-vdpau-module-searchpath.patch new file +0
-0
package/libvdpau/0003-vdpau-module-searchpath.patch line 4
Quoted 4 lines
package/libvdpau/0003-vdpau-module-searchpath.patch new file +4
-0@@ -0,0 +1,43 @@ +From: Andreas Beckmann <[email protected]> +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
And here.
Quoted 44 lines
package/libvdpau/0003-vdpau-module-searchpath.patch new file +38
-0+--- 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"); + }package/libvdpau/Config.in new file +0
-0
package/libvdpau/Config.in line 6
Quoted 6 lines
package/libvdpau/Config.in new file +6
-0@@ -0,0 +1,15 @@ +config BR2_PACKAGE_LIBVDPAU + bool "libvdpau" + depends on BR2_INSTALL_LIBSTDCPP + depends on BR2_TOOLCHAIN_HAS_THREADS + select BR2_PACKAGE_XLIB_LIBX11 if BR2_PACKAGE_XORG7 + select BR2_PACKAGE_XLIB_LIBXEXT if BR2_PACKAGE_XORG7
It looks like you have an extra tab here.
Quoted 31 lines
package/libvdpau/Config.in new file +9
-0+ 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_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADSpackage/libvdpau/libvdpau.hash new file +4
-0@@ -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.bz2package/libvdpau/libvdpau.mk new file +6
-0@@ -0,0 +1,27 @@ +################################################################################ +# +# libvdpau +# +################################################################################ +LIBVDPAU_VERSION = 1.1.1
package/libvdpau/libvdpau.mk line 16
Quoted 10 lines
package/libvdpau/libvdpau.mk new file +10
-0+LIBVDPAU_SOURCE = libvdpau-$(LIBVDPAU_VERSION).tar.bz2 +LIBVDPAU_SITE = http://people.freedesktop.org/~aplattner/vdpau +LIBVDPAU_LICENSE = NVIDIA Corporation +LIBVDPAU_LICENSE_FILES = COPYING +LIBVDPAU_INSTALL_STAGING = YES + +#Autoreconf for patch 0002-link-with-libx11.patch +LIBVDPAU_AUTORECONF = YES + +LIBVDPAU_DEPENDENCIES = xlib_libX11 xlib_libXext
You are unconditionally adding xlib_libX11 and xlib_libXext to the dependencies. However, in Config.in you selected those packages only if BR2_PACKAGE_XORG7 was previously selected. You have to do the same here:
ifeq ($(BR2_PACKAGE_XORG7),y)LIBVDPAU_DEPENDENCIES += xlib_libX11 xlib_libXext
endif
Regards,
Vincent.
Quoted 13 lines
package/libvdpau/libvdpau.mk new file +11
-0+ +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))
PATCH 1/1 libvdpau: new package
In reply to Damien LansonHi Damien,
package/libvdpau/libvdpau.mk line 9
Quoted 4 lines · Damien Lanson
package/libvdpau/libvdpau.mk new file +4
-0+LIBVDPAU_VERSION = 1.1.1 +LIBVDPAU_SOURCE = libvdpau-$(LIBVDPAU_VERSION).tar.bz2 +LIBVDPAU_SITE = http://people.freedesktop.org/~aplattner/vdpau +LIBVDPAU_LICENSE = NVIDIA Corporation
The copyright is of NVIDIA, but the license looks like MIT. See
https://opensource.org/licenses/MIT.
baruch
Signature · 3 lines
http://baruch.siach.name/blog/ ~. .~ Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
- baruch at tkos.co.il - tel: +972.52.368.4656, http://www.tkos.co.il -