From mboxrd@z Thu Jan 1 00:00:00 1970 From: taylanbayirli@gmail.com (Taylan Ulrich =?utf-8?Q?Bay=C4=B1rl=C4=B1?= =?utf-8?Q?=2FKammer?=) Subject: [PATCH] gnu: mesa: Update to 10.5.4. Date: Tue, 28 Apr 2015 13:38:15 +0200 Message-ID: <874mo0fpp4.fsf@taylan.uni.cx> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:54007) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Yn3qH-0000pD-Mt for guix-devel@gnu.org; Tue, 28 Apr 2015 07:38:26 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Yn3qF-0006tF-8o for guix-devel@gnu.org; Tue, 28 Apr 2015 07:38:21 -0400 Received: from mail-wi0-x236.google.com ([2a00:1450:400c:c05::236]:38001) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Yn3qE-0006qY-TZ for guix-devel@gnu.org; Tue, 28 Apr 2015 07:38:19 -0400 Received: by wiun10 with SMTP id n10so25408627wiu.1 for ; Tue, 28 Apr 2015 04:38:17 -0700 (PDT) Received: from taylan.uni.cx (p2003007A0A2BDCAD0213E8FFFEED36FB.dip0.t-ipconnect.de. [2003:7a:a2b:dcad:213:e8ff:feed:36fb]) by mx.google.com with ESMTPSA id i6sm33785777wjf.29.2015.04.28.04.38.16 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 28 Apr 2015 04:38:16 -0700 (PDT) List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: guix-devel@gnu.org --=-=-= Content-Type: text/plain Note that this patch introduces some significant changes to the recipe, and I'm unsure about their correctness. (It builds fine, but maybe isn't future-proof.) AFAIUI, python, flex, bison, and gettext are all only needed (at build time) when rebuilding parts of the build system. Maybe they were left-overs from before commit ce4d7ab which adds a hack to prevent the build system from rebuilding parts of itself; however the same commit *adds* gettext which wasn't there before. Maybe it was an oversight, and the commit shouldn't had added gettext and should have removed the other three from the native inputs? In any case, it builds fine when I remove said hack (doesn't seem necessary anymore), and also remove all four from native inputs. (Actually there are also some .py files in the source tree which I'm told might be necessary at build time regardless of rebuilding the build system, but this doesn't seem to be the case for us, maybe because they're only needed for some optional features which we don't have enabled.) Input from any mesa experts or those who touched this package before is welcome. --=-=-= Content-Type: text/x-diff Content-Disposition: inline; filename=0001-gnu-mesa-Update-to-10.5.4.patch >From 919ca3b169c31c891f8c14cb615c6e7d7129d78f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Taylan=20Ulrich=20Bay=C4=B1rl=C4=B1/Kammer?= Date: Sat, 25 Apr 2015 12:02:33 +0200 Subject: [PATCH 1/2] gnu: mesa: Update to 10.5.4. * gnu/packages/gl.scm (mesa): Update version to 10.5.4. Add libxvmc to inputs. Move python from native-inputs to inputs. Remove gettext, flex, and bison from native-inputs. Remove hack that was necessary to prevent rebuilding parts of the build system. --- gnu/packages/gl.scm | 96 ++++++++++++++++++++++++----------------------------- 1 file changed, 43 insertions(+), 53 deletions(-) diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm index e640f83..a40749e 100644 --- a/gnu/packages/gl.scm +++ b/gnu/packages/gl.scm @@ -162,15 +162,15 @@ also known as DXTn or DXTC) for Mesa.") (define-public mesa (package (name "mesa") - (version "10.4.0") + (version "10.5.4") (source (origin (method url-fetch) (uri (string-append "ftp://ftp.freedesktop.org/pub/mesa/" - version "/MesaLib-" version ".tar.bz2")) + version "/mesa-" version ".tar.xz")) (sha256 (base32 - "069j4ck51hc70gryhw3z0rkyhhl0bnhbks4xg1wqqw56l7rxz9wq")))) + "00v89jna7m6r2w1yrnx09isc97r2bd1hkn4jib445n1078zp47mm")))) (build-system gnu-build-system) (propagated-inputs `(("glproto" ,glproto) @@ -181,23 +181,22 @@ also known as DXTn or DXTC) for Mesa.") ("libxfixes" ,libxfixes) ("libxshmfence" ,libxshmfence) ("libxxf86vm" ,libxxf86vm))) + ;; TODO: Add vdpau. (inputs `(("udev" ,eudev) ("dri2proto" ,dri2proto) ("dri3proto" ,dri3proto) ("presentproto" ,presentproto) ("expat" ,expat) + ;; TODO: Solve circular dependency with libva. + ;; ("libva" ,libva) ("libxml2" ,libxml2) - ;; TODO: Add 'libva' ;; TODO: Add 'libxml2-python' for OpenGL ES 1.1 and 2.0 support + ("libxvmc" ,libxvmc) ("makedepend" ,makedepend) ("s2tc" ,s2tc))) (native-inputs - `(("pkg-config" ,pkg-config) - ("gettext" ,gnu-gettext) - ("flex" ,flex) - ("bison" ,bison) - ("python" ,python-2))) ; incompatible with Python 3 (print syntax) + `(("pkg-config" ,pkg-config))) (arguments `(#:configure-flags '(;; drop r300 from default gallium drivers, as it requires llvm @@ -219,51 +218,42 @@ also known as DXTn or DXTC) for Mesa.") (_ '("--with-dri-drivers=nouveau,r200,radeon,swrast")))) #:phases (alist-cons-after - 'unpack 'add-missing-m4-files + 'unpack 'patch-create_test_cases (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")))) - (alist-cons-before - 'build 'fix-dlopen-libnames - (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((s2tc (assoc-ref inputs "s2tc")) - (udev (assoc-ref inputs "udev")) - (out (assoc-ref outputs "out"))) - ;; 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"))) - (substitute* "src/gallium/targets/egl-static/egl_st.c" - (("\"libglapi\"") - (string-append "\"" out "/lib/libglapi\""))) - (substitute* "src/loader/loader.c" - (("dlopen\\(\"libudev\\.so") - (string-append "dlopen(\"" udev "/lib/libudev.so"))) - (substitute* "src/glx/dri_common.c" - (("dlopen\\(\"libGL\\.so") - (string-append "dlopen(\"" out "/lib/libGL.so"))) - (substitute* "src/egl/drivers/dri2/egl_dri2.c" - (("\"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))))) + (substitute* "src/glsl/tests/lower_jumps/create_test_cases.py" + (("/usr/bin/env bash") (which "bash")))) + (alist-cons-before + 'build 'fix-dlopen-libnames + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((s2tc (assoc-ref inputs "s2tc")) + (udev (assoc-ref inputs "udev")) + (out (assoc-ref outputs "out"))) + ;; 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"))) + (substitute* "src/gallium/targets/egl-static/egl_st.c" + (("\"libglapi\"") + (string-append "\"" out "/lib/libglapi\""))) + (substitute* "src/loader/loader.c" + (("dlopen\\(\"libudev\\.so") + (string-append "dlopen(\"" udev "/lib/libudev.so"))) + (substitute* "src/glx/dri_common.c" + (("dlopen\\(\"libGL\\.so") + (string-append "dlopen(\"" out "/lib/libGL.so"))) + (substitute* "src/egl/drivers/dri2/egl_dri2.c" + (("\"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/") (synopsis "OpenGL implementation") (description "Mesa is a free implementation of the OpenGL specification - -- 2.2.1 --=-=-=--