gnu: mesa: Update to 10.5.4.

* gnu/packages/gl.scm (mesa): Update version to 10.5.4.  Add libxvmc to
  inputs.  Remove python, gettext, flex, and bison from native-inputs.  Remove
  hack that was necessary to prevent rebuilding parts of the build system.
This commit is contained in:
Taylan Ulrich Bayırlı/Kammer 2015-04-25 12:02:33 +02:00
parent 7e31978b72
commit 0272ee499d
1 changed files with 41 additions and 52 deletions

View File

@ -182,15 +182,15 @@ also known as DXTn or DXTC) for Mesa.")
(define-public mesa (define-public mesa
(package (package
(name "mesa") (name "mesa")
(version "10.4.0") (version "10.5.4")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "ftp://ftp.freedesktop.org/pub/mesa/" (uri (string-append "ftp://ftp.freedesktop.org/pub/mesa/"
version "/MesaLib-" version ".tar.bz2")) version "/mesa-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"069j4ck51hc70gryhw3z0rkyhhl0bnhbks4xg1wqqw56l7rxz9wq")))) "00v89jna7m6r2w1yrnx09isc97r2bd1hkn4jib445n1078zp47mm"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(propagated-inputs (propagated-inputs
`(("glproto" ,glproto) `(("glproto" ,glproto)
@ -201,6 +201,7 @@ also known as DXTn or DXTC) for Mesa.")
("libxfixes" ,libxfixes) ("libxfixes" ,libxfixes)
("libxshmfence" ,libxshmfence) ("libxshmfence" ,libxshmfence)
("libxxf86vm" ,libxxf86vm))) ("libxxf86vm" ,libxxf86vm)))
;; TODO: Add vdpau.
(inputs (inputs
`(("udev" ,eudev) `(("udev" ,eudev)
("dri2proto" ,dri2proto) ("dri2proto" ,dri2proto)
@ -210,14 +211,11 @@ also known as DXTn or DXTC) for Mesa.")
("libva" ,(force libva-without-mesa)) ("libva" ,(force libva-without-mesa))
("libxml2" ,libxml2) ("libxml2" ,libxml2)
;; TODO: Add 'libxml2-python' for OpenGL ES 1.1 and 2.0 support ;; TODO: Add 'libxml2-python' for OpenGL ES 1.1 and 2.0 support
("libxvmc" ,libxvmc)
("makedepend" ,makedepend) ("makedepend" ,makedepend)
("s2tc" ,s2tc))) ("s2tc" ,s2tc)))
(native-inputs (native-inputs
`(("pkg-config" ,pkg-config) `(("pkg-config" ,pkg-config)))
("gettext" ,gnu-gettext)
("flex" ,flex)
("bison" ,bison)
("python" ,python-2))) ; incompatible with Python 3 (print syntax)
(arguments (arguments
`(#:configure-flags `(#:configure-flags
'(;; drop r300 from default gallium drivers, as it requires llvm '(;; drop r300 from default gallium drivers, as it requires llvm
@ -239,51 +237,42 @@ also known as DXTn or DXTC) for Mesa.")
(_ (_
'("--with-dri-drivers=nouveau,r200,radeon,swrast")))) '("--with-dri-drivers=nouveau,r200,radeon,swrast"))))
#:phases (alist-cons-after #:phases (alist-cons-after
'unpack 'add-missing-m4-files 'unpack 'patch-create_test_cases
(lambda _ (lambda _
;; When these files are missing, make tries to rebuild (substitute* "src/glsl/tests/lower_jumps/create_test_cases.py"
;; several parts of the build system. (("/usr/bin/env bash") (which "bash"))))
(zero? (system* "touch" "--date=@0" (alist-cons-before
"m4/libtool.m4" "m4/ltoptions.m4" 'build 'fix-dlopen-libnames
"m4/ltsugar.m4" "m4/ltversion.m4" (lambda* (#:key inputs outputs #:allow-other-keys)
"m4/lt~obsolete.m4"))) (let ((s2tc (assoc-ref inputs "s2tc"))
(alist-cons-after (udev (assoc-ref inputs "udev"))
'unpack 'patch-create_test_cases (out (assoc-ref outputs "out")))
(lambda _ ;; Remain agnostic to .so.X.Y.Z versions while doing
(substitute* "src/glsl/tests/lower_jumps/create_test_cases.py" ;; the substitutions so we're future-safe.
(("/usr/bin/env bash") (which "bash")))) (substitute*
(alist-cons-before '("src/gallium/auxiliary/util/u_format_s3tc.c"
'build 'fix-dlopen-libnames "src/mesa/main/texcompress_s3tc.c")
(lambda* (#:key inputs outputs #:allow-other-keys) (("\"libtxc_dxtn\\.so")
(let ((s2tc (assoc-ref inputs "s2tc")) (string-append "\"" s2tc "/lib/libtxc_dxtn.so")))
(udev (assoc-ref inputs "udev")) (substitute* "src/gallium/targets/egl-static/egl_st.c"
(out (assoc-ref outputs "out"))) (("\"libglapi\"")
;; Remain agnostic to .so.X.Y.Z versions while doing (string-append "\"" out "/lib/libglapi\"")))
;; the substitutions so we're future-safe. (substitute* "src/loader/loader.c"
(substitute* (("dlopen\\(\"libudev\\.so")
'("src/gallium/auxiliary/util/u_format_s3tc.c" (string-append "dlopen(\"" udev "/lib/libudev.so")))
"src/mesa/main/texcompress_s3tc.c") (substitute* "src/glx/dri_common.c"
(("\"libtxc_dxtn\\.so") (("dlopen\\(\"libGL\\.so")
(string-append "\"" s2tc "/lib/libtxc_dxtn.so"))) (string-append "dlopen(\"" out "/lib/libGL.so")))
(substitute* "src/gallium/targets/egl-static/egl_st.c" (substitute* "src/egl/drivers/dri2/egl_dri2.c"
(("\"libglapi\"") (("\"libglapi\\.so")
(string-append "\"" out "/lib/libglapi\""))) (string-append "\"" out "/lib/libglapi.so")))
(substitute* "src/loader/loader.c" (substitute* "src/gbm/main/backend.c"
(("dlopen\\(\"libudev\\.so") ;; No need to patch the gbm_gallium_drm.so reference;
(string-append "dlopen(\"" udev "/lib/libudev.so"))) ;; it's never installed since Mesa removed its
(substitute* "src/glx/dri_common.c" ;; egl_gallium support.
(("dlopen\\(\"libGL\\.so") (("\"gbm_dri\\.so")
(string-append "dlopen(\"" out "/lib/libGL.so"))) (string-append "\"" out "/lib/dri/gbm_dri.so")))))
(substitute* "src/egl/drivers/dri2/egl_dri2.c" %standard-phases))))
(("\"libglapi\\.so")
(string-append "\"" out "/lib/libglapi.so")))
(substitute* "src/gbm/main/backend.c"
;; No need to patch the gbm_gallium_drm.so reference;
;; it's never installed since Mesa removed its
;; egl_gallium support.
(("\"gbm_dri\\.so")
(string-append "\"" out "/lib/dri/gbm_dri.so")))))
%standard-phases)))))
(home-page "http://mesa3d.org/") (home-page "http://mesa3d.org/")
(synopsis "OpenGL implementation") (synopsis "OpenGL implementation")
(description "Mesa is a free implementation of the OpenGL specification - (description "Mesa is a free implementation of the OpenGL specification -