summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEfraim Flashner <efraim@flashner.co.il>2017-12-12 21:44:49 +0200
committerEfraim Flashner <efraim@flashner.co.il>2017-12-16 18:58:50 +0200
commit67df7164e0e38c343aa3a6a43308217ed985f655 (patch)
treef70ce2ee60d6a8f2a115563281843716eced6032
parent02345c963e1e8a45afcdf5acb80fca4538244b36 (diff)
gnu: Add libvdpau-va-gl.
* gnu/packages/video.scm (libvdpau-va-gl): New variable. * gnu/packages/patches/libvdpau-va-gl-unbundle.patch: New file. * gnu/local.mk (dist_patch_DATA): Register it.
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/patches/libvdpau-va-gl-unbundle.patch35
-rw-r--r--gnu/packages/video.scm35
3 files changed, 71 insertions, 0 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index 636919550c..0e93f9f102 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -836,6 +836,7 @@ dist_patch_DATA = \
%D%/packages/patches/libunistring-gnulib-multi-core.patch \
%D%/packages/patches/libusb-0.1-disable-tests.patch \
%D%/packages/patches/libusb-for-axoloti.patch \
+ %D%/packages/patches/libvdpau-va-gl-unbundle.patch \
%D%/packages/patches/libvpx-CVE-2016-2818.patch \
%D%/packages/patches/libxcb-python-3.5-compat.patch \
%D%/packages/patches/libxml2-CVE-2016-4658.patch \
diff --git a/gnu/packages/patches/libvdpau-va-gl-unbundle.patch b/gnu/packages/patches/libvdpau-va-gl-unbundle.patch
new file mode 100644
index 0000000000..b15e15c2a3
--- /dev/null
+++ b/gnu/packages/patches/libvdpau-va-gl-unbundle.patch
@@ -0,0 +1,35 @@
+From 18e3ff648356cf06a39372aa4a4bbf2732d9d0f4 Mon Sep 17 00:00:00 2001
+From: Efraim Flashner <efraim@flashner.co.il>
+Date: Tue, 12 Dec 2017 21:36:44 +0200
+Subject: [PATCH] don't use bundled libvdpau headers
+
+---
+ CMakeLists.txt | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 0484179..e950707 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -9,16 +9,17 @@ find_package(PkgConfig REQUIRED)
+ find_package(X11 REQUIRED)
+ pkg_check_modules(LIBVA libva-x11 REQUIRED)
+ pkg_check_modules(LIBGL gl REQUIRED)
++pkg_check_modules(LIBVDPAU vdpau REQUIRED)
+
+ set(DRIVER_NAME "vdpau_va_gl" CACHE STRING "driver name")
+ set(LIB_SUFFIX "" CACHE STRING "library path suffix (if needed)")
+ set(LIB_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}/vdpau" CACHE PATH "library installation path")
+
+ include_directories (
+- 3rdparty
+ ${X11_INCLUDE_DIRS}
+ ${LIBVA_INCLUDE_DIRS}
+ ${LIBGL_INCLUDE_DIRS}
++ ${LIBVDPAU_INCLUDE_DIRS}
+ ${GENERATED_INCLUDE_DIRS}
+ ${CMAKE_BINARY_DIR}
+ )
+--
+2.15.1
+
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index 466274c6aa..28ef48844c 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -1864,6 +1864,41 @@ present in modern GPUs.")
implementation.")
(license (license:x11-style "file://COPYING"))))
+(define-public libvdpau-va-gl
+ (package
+ (name "libvdpau-va-gl")
+ (version "0.4.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/i-rinat/libvdpau-va-gl/"
+ "releases/download/v" version "/libvdpau-va-gl-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "1x2ag1f2fwa4yh1g5spv99w9x1m33hbxlqwyhm205ssq0ra234bx"))
+ (patches (search-patches "libvdpau-va-gl-unbundle.patch"))
+ (modules '((guix build utils)))
+ (snippet '(delete-file-recursively "3rdparty"))))
+ (build-system cmake-build-system)
+ (arguments
+ '(#:tests? #f)) ; Tests require a running X11 server, with VA-API support.
+ (native-inputs
+ `(("libvdpau" ,libvdpau)
+ ("pkg-config" ,pkg-config)))
+ (inputs
+ `(("libva" ,libva)
+ ("mesa" ,mesa)))
+ (home-page "https://github.com/i-rinat/libvdpau-va-gl")
+ (synopsis "VDPAU driver with VA-API/OpenGL backend")
+ (description
+ "Many applications can use VDPAU to accelerate portions of the video
+decoding process and video post-processing to the GPU video hardware. Since
+there is no VDPAU available on Intel chips, they fall back to different drawing
+techniques. This driver uses OpenGL under the hood to accelerate drawing and
+scaling and VA-API (if available) to accelerate video decoding.")
+ (license license:expat)))
+
(define-public recordmydesktop
(package
(name "recordmydesktop")