Package: libvdpau
Version: 0.4-3
Severity: wishlist
Tags: patch
Hi Andres,
I'm attaching a patch to build a 32-bit libvdpau.so.1 on amd64, so that
we have the possibility to convert the nvidia-libvdpau1{-ia32} packages
to transitional dummy packages later and only keep one variant of the
vdpau wrappers in Debian.
* Build lib32vdpau1 [amd64], so we can replace nvidia-libvdpau-ia32.
Build rules inspired by lib32z1. (Closes: #xxxxxx)
* Add lib{,32}vdpau1.symbols.
* Do not ship /usr/lib/vdpau/libvdpau_trace.so, will be used never.
The last change removes a superfluous file - nothing is going to be
linked with libvdpau_trace.so anyway and the wrapper no longer dlopen()s
that file.
The patched package builds on i386 and amd64 and installing lib32vdpau1
replaces nvidia-libvdpau1-ia32 (190.53) without problems. I did not try
running anything that would actually use the 32-bit wrapper. A 32-bit
mplayer might be a target to test this. Did someone ever test whether
nvidia-libvdpau1-ia32 + nvidia-vdpau-driver-ia32 was actually
functional?
Andreas
-- System Information:
Debian Release: squeeze/sid
APT prefers testing
APT policy: (800, 'testing'), (800, 'stable'), (600, 'unstable'), (130,
'experimental')
Architecture: amd64 (x86_64)
Kernel: Linux 2.6.31-0-amd64 (SMP w/4 CPU cores)
Locale: LANG=C, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Index: debian/control
===================================================================
--- debian/control (.../trunk) (revision 1559)
+++ debian/control (.../branches/10-lib32vdpau1) (revision 1559)
@@ -7,6 +7,7 @@
DM-Upload-Allowed: yes
Build-Depends: debhelper (>= 7.0.50), pkg-config, libx11-dev,
x11proto-dri2-dev (>= 2.2), libxext-dev,
+ g++-multilib [amd64], ia32-libs [amd64],
Build-Depends-Indep: doxygen, graphviz, texlive-binaries, texlive-base,
Standards-Version: 3.8.4
Homepage: http://cgit.freedesktop.org/~aplattner/libvdpau
@@ -51,6 +52,22 @@
.
This package contains the VDPAU wrapper and trace libraries.
+Package: lib32vdpau1
+Architecture: amd64
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Replaces: nvidia-libvdpau1-ia32
+Conflicts: nvidia-libvdpau1-ia32
+Suggests: nvidia-vdpau-driver-ia32 [amd64] | vdpau-driver-ia32
+Description: Video Decode and Presentation API for Unix (32-bit libraries)
+ VDPAU (Video Decode and Presentation API for Unix) is an open source library
+ (libvdpau) and API designed by NVIDIA originally for its GeForce 8 series and
+ later GPU hardware, targeted at the X Window System on Unix operating-systems
+ (including Linux, FreeBSD, and Solaris). This VDPAU API
+ allows video programs to offload portions of the video decoding process and
+ video post-processing to the GPU video-hardware.
+ .
+ This package contains the VDPAU wrapper and trace 32-bit libraries.
+
Package: libvdpau-doc
Architecture: all
Section: doc
Index: debian/lib32vdpau1.symbols
===================================================================
--- debian/lib32vdpau1.symbols (.../trunk) (revision 0)
+++ debian/lib32vdpau1.symbols (.../branches/10-lib32vdpau1) (revision 1559)
@@ -0,0 +1,5 @@
+libvdpau.so.1 lib32vdpau1 #MINVER#
+ _vdp_dri2conn...@base 0.4
+ _vdp_dri2queryextens...@base 0.4
+ _vdp_dri2queryvers...@base 0.4
+ vdp_device_create_...@base 0.2
Index: debian/changelog
===================================================================
--- debian/changelog (.../trunk) (revision 1559)
+++ debian/changelog (.../branches/10-lib32vdpau1) (revision 1559)
@@ -1,3 +1,15 @@
+libvdpau (0.4-3.0anbe0) unstable; urgency=low
+
+ * Non-maintainer upload.
+
+ [ Andreas Beckmann ]
+ * Build lib32vdpau1 [amd64], so we can replace nvidia-libvdpau-ia32.
+ Build rules inspired by lib32z1. (Closes: #xxxxxx)
+ * Add lib{,32}vdpau1.symbols.
+ * Do not ship /usr/lib/vdpau/libvdpau_trace.so, will be used never.
+
+ -- Andreas Beckmann <[email protected]> Mon, 01 Mar 2010 12:47:48 +0100
+
libvdpau (0.4-3) unstable; urgency=low
* Enable dri2 feature. Requires x11proto-dri2-dev (>= 2.2) and libxext-dev.
Index: debian/libvdpau-dev.install
===================================================================
--- debian/libvdpau-dev.install (.../trunk) (revision 1559)
+++ debian/libvdpau-dev.install (.../branches/10-lib32vdpau1) (revision 1559)
@@ -1,4 +1,3 @@
usr/lib/libvdpau.so
-usr/lib/vdpau/libvdpau_trace.so
usr/lib/pkgconfig
usr/include
Index: debian/lib32vdpau1.lintian-overrides
===================================================================
--- debian/lib32vdpau1.lintian-overrides (.../trunk) (revision 0)
+++ debian/lib32vdpau1.lintian-overrides (.../branches/10-lib32vdpau1) (revision 1559)
@@ -0,0 +1 @@
+lib32vdpau1: non-dev-pkg-with-shlib-symlink usr/lib32/libvdpau.so.1.0.0 usr/lib32/libvdpau.so
Index: debian/rules
===================================================================
--- debian/rules (.../trunk) (revision 1559)
+++ debian/rules (.../branches/10-lib32vdpau1) (revision 1559)
@@ -1,5 +1,9 @@
#!/usr/bin/make -f
+#export DH_VERBOSE=1
+
+DEB_HOST_ARCH ?= $(shell dpkg-architecture -qDEB_HOST_ARCH)
+
# Used to enable documentation if dependencies are available
define cond_enable
$(shell if test -x /usr/bin/doxygen && test -x /usr/bin/dot \
@@ -10,9 +14,41 @@
CONFIGURE_OPTIONS ?= $(call cond_enable) \
--enable-dri2
+32-ARCHS=amd64
+ifneq (,$(findstring $(DEB_HOST_ARCH), $(32-ARCHS)))
+EXTRA_CONFIGURE += configure32
+EXTRA_BUILD += build32
+EXTRA_INSTALL += install32
+endif
+
%:
dh $@
-override_dh_auto_configure:
+binary: binary-indep binary-arch ;
+
+override_dh_auto_configure: $(EXTRA_CONFIGURE)
dh_testdir
./configure --prefix=/usr $(CONFIGURE_OPTIONS)
+
+configure32:
+ dh_testdir
+ mkdir debian/32
+ cd debian/32 && CC="$(CC) -m32" CXX="$(CXX) -m32" \
+ ../../configure --prefix=/usr --libdir=/usr/lib32 \
+ $(CONFIGURE_OPTIONS)
+
+override_dh_auto_build: $(EXTRA_BUILD)
+ dh_auto_build
+
+build32:
+ dh_auto_build --sourcedirectory=debian/32
+
+override_dh_auto_install: $(EXTRA_INSTALL)
+ dh_auto_install
+
+install32:
+ dh_auto_install --sourcedirectory=debian/32
+
+clean:
+ dh clean
+ rm -rf debian/32
Index: debian/lib32vdpau1.install
===================================================================
--- debian/lib32vdpau1.install (.../trunk) (revision 0)
+++ debian/lib32vdpau1.install (.../branches/10-lib32vdpau1) (revision 1559)
@@ -0,0 +1,3 @@
+usr/lib32/libvdpau.so
+usr/lib32/libvdpau.so.*
+usr/lib32/vdpau/libvdpau_trace.so.*
Index: debian/libvdpau1.symbols
===================================================================
--- debian/libvdpau1.symbols (.../trunk) (revision 0)
+++ debian/libvdpau1.symbols (.../branches/10-lib32vdpau1) (revision 1559)
@@ -0,0 +1,5 @@
+libvdpau.so.1 libvdpau1 #MINVER#
+ _vdp_dri2conn...@base 0.4
+ _vdp_dri2queryextens...@base 0.4
+ _vdp_dri2queryvers...@base 0.4
+ vdp_device_create_...@base 0.2