gnu: libva: Patch a dlopen call, set drivers path.

* gnu/packages/video.scm (libva): Patch the reference to libva-x11.so (passed
  to dlopen()) to use an absolute path.  Add --with-drivers-path= to
  #:configure-flags with a value pointing to mesa's $prefix/lib/dri.
master
Taylan Ulrich Bayırlı/Kammer 2015-04-28 17:48:24 +02:00
parent d9c41939bd
commit 372cf03981
1 changed files with 21 additions and 0 deletions

View File

@ -264,6 +264,27 @@ SMPTE 314M.")
("libxext" ,libxext)
("libxfixes" ,libxfixes)
("mesa" ,mesa)))
(arguments
`(#:phases
(modify-phases %standard-phases
(add-before
'build 'fix-dlopen-paths
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(substitute* "va/drm/va_drm_auth_x11.c"
(("\"libva-x11\\.so\\.%d\"")
(string-append "\"" out "/lib/libva-x11.so.%d\"")))))))
;; Most drivers are in mesa's $prefix/lib/dri, so use that. (Can be
;; overridden at run-time via LIBVA_DRIVERS_PATH.)
#:configure-flags
(list (string-append "--with-drivers-path="
(assoc-ref %build-inputs "mesa") "/lib/dri"))
;; However, we can't write to mesa's store directory, so override the
;; following make variable to install the dummy driver to libva's
;; $prefix/lib/dri directory.
#:make-flags
(list (string-append "dummy_drv_video_ladir="
(assoc-ref %outputs "out") "/lib/dri"))))
(home-page "http://www.freedesktop.org/wiki/Software/vaapi/")
(synopsis "Video acceleration library")
(description "The main motivation for VA-API (Video Acceleration API) is