Skip to contentSkip to conversation

libvdpau: new package

PATCH New Damien Lanson 3 participants 3 messages Jun 20, 2016 – Jul 3, 2016

lore
Share & tools
lore
#0 lore raw

PATCH v2 1/1 libvdpau: new package

---
 package/Config.in                                  |    1 +
 .../libvdpau/0001-missing-configh-include.patch    |   29 +++++++++++++
 package/libvdpau/0002-link-with-libx11.patch       |   30 +++++++++++++
 .../libvdpau/0003-vdpau-module-searchpath.patch    |   45 ++++++++++++++++++++
 package/libvdpau/Config.in                         |   15 +++++++
 package/libvdpau/libvdpau.hash                     |    4 ++
 package/libvdpau/libvdpau.mk                       |   27 ++++++++++++
 7 files changed, 151 insertions(+)
 create mode 100755 package/libvdpau/0001-missing-configh-include.patch
 create mode 100755 package/libvdpau/0002-link-with-libx11.patch
 create mode 100755 package/libvdpau/0003-vdpau-module-searchpath.patch
 create mode 100755 package/libvdpau/Config.in
 create mode 100755 package/libvdpau/libvdpau.hash
 create mode 100755 package/libvdpau/libvdpau.mk
package/Config.in +1 -0
index 02cc3bd..65a11bc 100644
@@ -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 +29 -0
new file mode 100755
index 0000000..f96c6fa
@@ -0,0 +1,29 @@
+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)
+Signed-off-by: Damien Lanson <[email protected]>
+---
+ 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 +30 -0
new file mode 100755
index 0000000..4dd82e6
@@ -0,0 +1,30 @@
+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).
+
+Signed-off-by: Damien Lanson <[email protected]>
+
+--- 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 +45 -0

45 lines not on this page · raw message

package/libvdpau/Config.in new file +15 -0
new file mode 100755
index 0000000..288bd1f
@@ -0,0 +1,15 @@
+config BR2_PACKAGE_LIBVDPAU
+	bool "libvdpau"
+	depends on BR2_TOOLCHAIN_HAS_THREADS
+	depends on BR2_INSTALL_LIBSTDCPP
+	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_TOOLCHAIN_HAS_THREADS || !BR2_INSTALL_LIBSTDCPP
\ No newline at end of file
package/libvdpau/libvdpau.hash new file +4 -0
new file mode 100755
index 0000000..55dc6a7
@@ -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
new file mode 100755
index 0000000..917d153
@@ -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 = MIT
+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))
\ No newline at end of file
Signature · 1 line
1.7.10.4
#1 lore raw

PATCH v2 1/1 libvdpau: new package

Damien, All,

On 2016-06-20 17:00 +0200, Damien Lanson spake thusly:

package/libvdpau/0001-missing-configh-include.patch line 10

Quoted 13 lines

---

package/libvdpau/0001-missing-configh-include.patch new file +10 -0
@@ -0,0 +1,29 @@
+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)

I like that you specified the upstream cset hash here. :-)

Quoted 13 lines
package/libvdpau/0002-link-with-libx11.patch new file +7 -0
new file mode 100755
index 0000000..4dd82e6
@@ -0,0 +1,30 @@
+Subject: Link libvdpao with libX11 since it uses symbols from it
+Author: Russ Allbery <[email protected]>
+Forwarded: no
+
+libvdpau uses the symbols:
+
+    _XEatData

package/libvdpau/0002-link-with-libx11.patch line 17

Quoted 10 lines
package/libvdpau/0002-link-with-libx11.patch new file +10 -0
+    _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).
+
+Signed-off-by: Damien Lanson <[email protected]>

Similarly, here, it would be nice to have a pointer to that patch on the upstream mailing list (or tracker or whatever). Not mandatory, though.

[--SNIP--]

package/libvdpau/0003-vdpau-module-searchpath.patch line 6

Quoted 12 lines
package/libvdpau/0003-vdpau-module-searchpath.patch new file +6 -0
new file mode 100755
index 0000000..aecda74
@@ -0,0 +1,45 @@
+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
+
+Signed-off-by: Damien Lanson <[email protected]>

Ditto.

[--SNIP--]

package/libvdpau/Config.in line 6

Quoted 12 lines
package/libvdpau/Config.in new file +6 -0
new file mode 100755
index 0000000..288bd1f
@@ -0,0 +1,15 @@
+config BR2_PACKAGE_LIBVDPAU
+	bool "libvdpau"
+	depends on BR2_TOOLCHAIN_HAS_THREADS
+	depends on BR2_INSTALL_LIBSTDCPP
+	select BR2_PACKAGE_XLIB_LIBX11
+	select BR2_PACKAGE_XLIB_LIBXEXT

If it selects X11 libs, it should maybe depend on BR2_PACKAGE_XORG7.

Maybe like libva-intel-driver:

select BR2_PACKAGE_XLIB_LIBX11 if BR2_PACKAGE_XORG7 select BR2_PACKAGE_XLIB_LIBXEXT if BR2_PACKAGE_XORG7

package/libvdpau/Config.in line 12

Quoted 6 lines
package/libvdpau/Config.in new file +6 -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

Indentation of the help text iswrong: it should one TAB plus two spaces (only the homepage is OK).

package/libvdpau/Config.in line 15

Quoted 3 lines
package/libvdpau/Config.in new file +2 -0
+comment "libvdpau needs a toolchain w/ threads, C++"
+	depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_INSTALL_LIBSTDCPP
\ No newline at end of file

No newline at end of file... Please, configure your editor to always add a newline at the end of files.

[--SNIP--]

Quoted 24 lines
package/libvdpau/libvdpau.mk new file +18 -0
new file mode 100755
index 0000000..917d153
@@ -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 = MIT
+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

package/libvdpau/libvdpau.mk line 27

Quoted 10 lines
package/libvdpau/libvdpau.mk new file +9 -0
+
+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))
\ No newline at end of file

Ditto end-of-file. ;-)

Regards,
Yann E. MORIN.

Signature · 6 lines
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
#2 lore raw

PATCH v2 1/1 libvdpau: new package

In reply to Damien Lanson

Hello,

Quoted 16 lines · Damien Lanson
---
 package/Config.in                                  |    1 +
 .../libvdpau/0001-missing-configh-include.patch    |   29 +++++++++++++
 package/libvdpau/0002-link-with-libx11.patch       |   30 +++++++++++++
 .../libvdpau/0003-vdpau-module-searchpath.patch    |   45 ++++++++++++++++++++
 package/libvdpau/Config.in                         |   15 +++++++
 package/libvdpau/libvdpau.hash                     |    4 ++
 package/libvdpau/libvdpau.mk                       |   27 ++++++++++++
 7 files changed, 151 insertions(+)
 create mode 100755 package/libvdpau/0001-missing-configh-include.patch
 create mode 100755 package/libvdpau/0002-link-with-libx11.patch
 create mode 100755 package/libvdpau/0003-vdpau-module-searchpath.patch
 create mode 100755 package/libvdpau/Config.in
 create mode 100755 package/libvdpau/libvdpau.hash
 create mode 100755 package/libvdpau/libvdpau.mk

Thanks for your patch! I've done the following changes:

[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.]

and then I applied your patch.

Best regards,

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com