Package: guix-patches;
Reported by: aurtzy <aurtzy <at> gmail.com>
Date: Fri, 8 Mar 2024 12:39:02 UTC
Severity: normal
Tags: patch
Done: John Kehayias <john.kehayias <at> protonmail.com>
Bug is archived. No further changes may be made.
View this message in rfc822 format
From: aurtzy <aurtzy <at> gmail.com> To: 69637 <at> debbugs.gnu.org Cc: john.kehayias <at> protonmail.com, aurtzy <aurtzy <at> gmail.com>, efraim <at> flashner.co.il Subject: [bug#69637] [PATCH mesa-updates v2 5/5] gnu: mesa: Update to 24.0.3. Date: Fri, 22 Mar 2024 03:33:21 -0400
* gnu/packages/gl.scm (mesa): Update to 24.0.3. Change-Id: Ic4176f8a747bcb4c5210af6ccb4569589192e4a7 --- gnu/packages/gl.scm | 80 +++++++++++++++++++++++++++++++++++---------- 1 file changed, 62 insertions(+), 18 deletions(-) diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm index f8dc8c1d9d..0265716ac0 100644 --- a/gnu/packages/gl.scm +++ b/gnu/packages/gl.scm @@ -20,6 +20,7 @@ ;;; Copyright © 2023 Kaelyn Takata <kaelyn.alexi <at> protonmail.com> ;;; Copyright © 2023, 2024 Zheng Junjie <873216071 <at> qq.com> ;;; Copyright © 2024 Liliana Marie Prikler <liliana.prikler <at> gmail.com> +;;; Copyright © 2024 aurtzy <aurtzy <at> gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -40,8 +41,10 @@ (define-module (gnu packages gl) #:use-module (gnu packages) #:use-module (gnu packages autotools) #:use-module (gnu packages bison) + #:use-module (gnu packages build-tools) #:use-module (gnu packages check) #:use-module (gnu packages compression) + #:use-module (gnu packages crates-io) #:use-module (gnu packages documentation) #:use-module (gnu packages elf) #:use-module (gnu packages flex) @@ -55,6 +58,8 @@ (define-module (gnu packages gl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) #:use-module (gnu packages python-xyz) + #:use-module (gnu packages rust) + #:use-module (gnu packages rust-apps) #:use-module (gnu packages tls) #:use-module (gnu packages video) #:use-module (gnu packages vulkan) @@ -297,17 +302,17 @@ (define libva-without-mesa (define-public mesa (package (name "mesa") - (version "23.3.2") + (version "24.0.3") (source - (origin - (method url-fetch) - (uri (list (string-append "https://archive.mesa3d.org/" - "mesa-" version ".tar.xz") - (string-append "ftp://ftp.freedesktop.org/pub/mesa/" - "mesa-" version ".tar.xz"))) - (sha256 - (base32 - "1p4swrbmz3kb1805kdj973hf8virgmix4m9qprmcb2bgl4gviz1w")))) + (origin + (method url-fetch) + (uri (list (string-append "https://archive.mesa3d.org/" + "mesa-" version ".tar.xz") + (string-append "ftp://ftp.freedesktop.org/pub/mesa/" + "mesa-" version ".tar.xz"))) + (sha256 + (base32 + "1gpx3glifdvyw2fxigiannrxkdfhag6b6h0nxab3azbvlfickbkp")))) (build-system meson-build-system) (propagated-inputs ;; The following are in the Requires.private field of gl.pc. @@ -340,15 +345,23 @@ (define-public mesa python-mako python-wrapper (@ (gnu packages base) which) - (if (%current-target-system) - (list cmake-minimal-cross - pkg-config-for-build - wayland - wayland-protocols) - '()))) + (append + (if (%current-target-system) + (list cmake-minimal-cross + pkg-config-for-build + wayland + wayland-protocols) + '()) + ;; NVK-specific inputs + (if (target-x86-64?) + (list clang-15 + rust-bindgen-cli + rust) + '())))) (outputs '("out" "bin")) (arguments (list + #:meson meson-1.3 #:configure-flags #~(list #$@(cond @@ -379,9 +392,12 @@ (define-public mesa "-Dgbm=enabled" "-Dshared-glapi=enabled" - ;; Explicitly enable Vulkan on some architectures. + ;; Explicitly enable Vulkan on some architectures. TODO: Identify other + ;; architectures where nouveau (NVK) works and enable it for them #$@(cond - ((or (target-x86-32?) (target-x86-64?)) + ((target-x86-64?) + '("-Dvulkan-drivers=intel,intel_hasvk,amd,swrast,nouveau-experimental")) + ((target-x86-32?) '("-Dvulkan-drivers=intel,intel_hasvk,amd,swrast")) ((or (target-ppc64le?) (target-ppc32?)) '("-Dvulkan-drivers=amd,swrast")) @@ -478,6 +494,34 @@ (define-public mesa (("'lp_test_arit', ") "")))) (_ '((display "No tests to disable on this architecture.\n")))))) + #$@(if (target-x86-64?) + #~((add-after 'unpack 'change-subproject-sources + ;; Patch subproject source URLs to point to the store, which lets + ;; meson correctly identify rust inputs and avoid an attempt to + ;; download them mid-build. + (lambda _ + (for-each + (match-lambda + ((file input) + (substitute* file + (("source_url = .*$") + "") + (("source_hash = .*$") + "") + (("(source_filename = ).*$" all assign) + (string-append assign input "\n"))))) + ;; TODO: Patch mesa to allow for using sources with different + ;; versions so we don't have to package these crates + ;; specifically for mesa. + '(("subprojects/syn.wrap" + #$(package-source rust-syn-2.0.39)) + ("subprojects/unicode-ident.wrap" + #$(package-source rust-unicode-ident-1)) + ("subprojects/quote.wrap" + #$(package-source rust-quote-1.0.33)) + ("subprojects/proc-macro2.wrap" + #$(package-source rust-proc-macro2-1.0.70))))))) + #~()) (add-before 'configure 'fix-dlopen-libnames (lambda _ (let ((out #$output)) -- 2.41.0
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.