summary refs log tree commit diff
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)
downloadguix-67df7164e0e38c343aa3a6a43308217ed985f655.tar.gz
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")