From ce4d7abf02627e990551c3bf0b67abfdf6725952 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Tue, 16 Dec 2014 17:22:47 -0500 Subject: [PATCH] gnu: mesa: Update to 10.4.0. * gnu/packages/gl.scm (mesa): Update to 10.4.0. Use current libdrm. Add eudev, dri3proto, presentproto, and libxshmfence to inputs. Add gnu-gettext to native-inputs. Add --enable-xa configure flag. Add new phases 'add-missing-m4-files' and 'patch-create_test_cases'. --- gnu/packages/gl.scm | 58 ++++++++++++++++++++++++++++----------------- 1 file changed, 36 insertions(+), 22 deletions(-) diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm index 17a6d4fd3c..791b413da6 100644 --- a/gnu/packages/gl.scm +++ b/gnu/packages/gl.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2013 Andreas Enge ;;; Copyright © 2013 Joshua Grant ;;; Copyright © 2014 David Thompson +;;; Copyright © 2014 Mark H Weaver ;;; ;;; This file is part of GNU Guix. ;;; @@ -27,6 +28,8 @@ #:use-module (gnu packages bison) #:use-module (gnu packages flex) #:use-module (gnu packages pkg-config) + #:use-module (gnu packages gettext) + #:use-module (gnu packages linux) #:use-module (gnu packages python) #:use-module (gnu packages xorg) #:use-module (gnu packages xml) @@ -122,49 +125,60 @@ Polygon meshes, and Extruded polygon meshes") (define-public mesa (package (name "mesa") - ;; In newer versions (9.0.5, 9.1 and 9.2 tested), "make" results in an - ;; infinite configure loop, see - ;; https://bugs.freedesktop.org/show_bug.cgi?id=58812 - (version "8.0.5") + (version "10.4.0") (source (origin (method url-fetch) - (uri (string-append - "ftp://ftp.freedesktop.org/pub/mesa/older-versions/8.x/" - version - "/MesaLib-" version - ".tar.bz2")) + (uri (string-append "ftp://ftp.freedesktop.org/pub/mesa/" + version "/MesaLib-" version ".tar.bz2")) (sha256 - (base32 - "0pjs8x51c0i6mawgd4w03lxpyx5fnx7rc8plr8jfsscf9yiqs6si")))) + (base32 + "069j4ck51hc70gryhw3z0rkyhhl0bnhbks4xg1wqqw56l7rxz9wq")))) (build-system gnu-build-system) (propagated-inputs `(("glproto" ,glproto) - ("libdrm" ,libdrm-2.4.33) + ("libdrm" ,libdrm) ("libx11" ,libx11) ("libxdamage" ,libxdamage) ("libxxf86vm" ,libxxf86vm))) (inputs - `(("dri2proto" ,dri2proto) + `(("udev" ,eudev) + ("dri2proto" ,dri2proto) + ("dri3proto" ,dri3proto) + ("presentproto" ,presentproto) + ("libxshmfence" ,libxshmfence) ("expat" ,expat) ("libxfixes" ,libxfixes) ("libxml2" ,libxml2) + ;; TODO: Add 'libva' + ;; TODO: Add 'libxml2-python' for OpenGL ES 1.1 and 2.0 support ("makedepend" ,makedepend))) (native-inputs `(("pkg-config" ,pkg-config) + ("gettext" ,gnu-gettext) ("flex" ,flex) ("bison" ,bison) ("python" ,python-2))) ; incompatible with Python 3 (print syntax) (arguments - `(#:configure-flags - `("--with-gallium-drivers=r600,svga,swrast") ; drop r300 from the default list as it requires llvm - #:phases - (alist-cons-after - 'unpack 'remove-symlink - (lambda _ - ;; remove dangling symlink to /usr/include/wine/windows - (delete-file "src/gallium/state_trackers/d3d1x/w32api")) - %standard-phases))) + `(#:configure-flags + `(;; drop r300 from default gallium drivers, as it requires llvm + "--with-gallium-drivers=r600,svga,swrast" + "--enable-xa") + #:phases (alist-cons-after + 'unpack 'add-missing-m4-files + (lambda _ + ;; When these files are missing, make tries to rebuild + ;; several parts of the build system. + (zero? (system* "touch" "--date=@0" + "m4/libtool.m4" "m4/ltoptions.m4" + "m4/ltsugar.m4" "m4/ltversion.m4" + "m4/lt~obsolete.m4"))) + (alist-cons-after + 'unpack 'patch-create_test_cases + (lambda _ + (substitute* "src/glsl/tests/lower_jumps/create_test_cases.py" + (("/usr/bin/env bash") (which "bash")))) + %standard-phases)))) (home-page "http://mesa3d.org/") (synopsis "OpenGL implementation") (description "Mesa is a free implementation of the OpenGL specification -