summary refs log tree commit diff
diff options
context:
space:
mode:
authorTaylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>2015-03-14 15:05:15 +0100
committerTaylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>2015-03-19 10:00:15 +0100
commit3e71b9ffd67e0b5c08c6e9fbe9c79a26308098cc (patch)
treee5fee115dec8cc3d2272fd2d29d5fb1bcbc2f787
parentb021a2adeb282869691d4b919a7337bfc859e414 (diff)
downloadguix-3e71b9ffd67e0b5c08c6e9fbe9c79a26308098cc.tar.gz
gnu: mesa: Add input s2tc.
* gnu/packages/gl.scm (mesa): Add input s2tc, patch sources to make the
  reference to libtxc_dxtn.so absolute since it's passed to dlopen(3).
-rw-r--r--gnu/packages/gl.scm16
1 files changed, 14 insertions, 2 deletions
diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm
index e5d3a8d943..1eb20558d4 100644
--- a/gnu/packages/gl.scm
+++ b/gnu/packages/gl.scm
@@ -186,7 +186,8 @@ also known as DXTn or DXTC) for Mesa.")
         ("libxml2" ,libxml2)
         ;; TODO: Add 'libva'
         ;; TODO: Add 'libxml2-python' for OpenGL ES 1.1 and 2.0 support
-        ("makedepend" ,makedepend)))
+        ("makedepend" ,makedepend)
+        ("s2tc" ,s2tc)))
     (native-inputs
       `(("pkg-config" ,pkg-config)
         ("gettext" ,gnu-gettext)
@@ -220,7 +221,18 @@ also known as DXTn or DXTC) for Mesa.")
                   (lambda _
                     (substitute* "src/glsl/tests/lower_jumps/create_test_cases.py"
                       (("/usr/bin/env bash") (which "bash"))))
-                  %standard-phases))))
+                  (alist-cons-before
+                   'build 'fix-dxtn-libname
+                   (lambda* (#:key inputs #:allow-other-keys)
+                     (let ((s2tc (assoc-ref inputs "s2tc")))
+                       ;; Remain agnostic to .so.X.Y.Z versions while doing
+                       ;; the substitutions so we're future-safe.
+                       (substitute*
+                           '("src/gallium/auxiliary/util/u_format_s3tc.c"
+                             "src/mesa/main/texcompress_s3tc.c")
+                         (("\"libtxc_dxtn\\.so")
+                          (string-append "\"" s2tc "/lib/libtxc_dxtn.so")))))
+                   %standard-phases)))))
     (home-page "http://mesa3d.org/")
     (synopsis "OpenGL implementation")
     (description "Mesa is a free implementation of the OpenGL specification -