[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#69637] [PATCH mesa-updates v2 5/5] gnu: mesa: Update to 24.0.3.
From: |
aurtzy |
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@protonmail.com>
;;; Copyright © 2023, 2024 Zheng Junjie <873216071@qq.com>
;;; Copyright © 2024 Liliana Marie Prikler <liliana.prikler@gmail.com>
+;;; Copyright © 2024 aurtzy <aurtzy@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
- [bug#69637] [PATCH mesa-updates 6/6] gnu: mesa: Update to 24.0.2., (continued)
- [bug#69637] [PATCH mesa-updates v2 0/5] gnu: mesa: Update to 24.0.3., aurtzy, 2024/03/22
- [bug#69637] [PATCH mesa-updates v2 1/5] gnu: Add meson-1.3., aurtzy, 2024/03/22
- [bug#69637] [PATCH mesa-updates v2 3/5] gnu: Add rust-proc-macro2-1.0.70., aurtzy, 2024/03/22
- [bug#69637] [PATCH mesa-updates v2 2/5] gnu: Add rust-syn-2.0.39., aurtzy, 2024/03/22
- [bug#69637] [PATCH mesa-updates v2 4/5] gnu: Add rust-quote-1.0.33., aurtzy, 2024/03/22
- [bug#69637] [PATCH mesa-updates v2 5/5] gnu: mesa: Update to 24.0.3.,
aurtzy <=
- [bug#69637] [PATCH mesa-updates v2 0/5] gnu: mesa: Update to 24.0.3., John Kehayias, 2024/03/24