mirror of
https://git.savannah.gnu.org/git/guix.git
synced 2026-04-06 21:20:33 +02:00
gnu: mesa: Update to 25.3.6.
* gnu/packages/rust-crates.scm (mesa-cargo-inputs): Delete variable. (lookup-cargo-inputs): [mesa]: New entry. * gnu/packages/gl.scm (mesa): Update to 25.3.6. [arguments]<#:phases>: Remove redundant 'patch-subproject-sources phase. When building with rust add a phase to make the build system use the packaged rust crates. [inputs]: Re-add cargo inputs here. [native-inputs]: Refer to rust-bindgen-cli and rust-cbindgen directly. Remove rust-cbindgen-0.26, add rust-cbindgen. Co-authored-by: Efraim Flashner <efraim@flashner.co.il> Change-Id: Ie05b762dbfcc14691edc4c2dad222c9c9a174da2 Signed-off-by: John Kehayias <john@guixotic.coop>
This commit is contained in:
committed by
Efraim Flashner
parent
7095f1b42e
commit
1f5c8dd270
@@ -5,7 +5,7 @@
|
||||
;;; Copyright © 2014, 2015, 2016, 2017 Mark H Weaver <mhw@netris.org>
|
||||
;;; Copyright © 2016 Nikita <nikita@n0.is>
|
||||
;;; Copyright © 2016, 2017, 2018, 2020, 2021 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2017-2019, 2021, 2023-2025 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2017-2019, 2021, 2023-2026 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net>
|
||||
;;; Copyright © 2017, 2018, 2019 Rutger Helling <rhelling@mykolab.com>
|
||||
;;; Copyright © 2018–2021 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
@@ -22,7 +22,7 @@
|
||||
;;; Copyright © 2024 Liliana Marie Prikler <liliana.prikler@gmail.com>
|
||||
;;; Copyright © 2024 Artyom V. Poptsov <poptsov.artyom@gmail.com>
|
||||
;;; Copyright © 2024 Arnaud Lechevallier <arnaud.lechevallier@free.fr>
|
||||
;;; Copyright © 2024 aurtzy <aurtzy@gmail.com>
|
||||
;;; Copyright © 2024-2025 Alvin Hsu <aurtzy@gmail.com>
|
||||
;;; Copyright © 2025 Sughosha <sughosha@disroot.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
@@ -74,6 +74,7 @@
|
||||
#:use-module (guix hg-download)
|
||||
#:use-module (gnu packages cmake)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system cargo)
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (guix build-system meson)
|
||||
#:use-module (guix build-system python)
|
||||
@@ -316,7 +317,7 @@ also known as DXTn or DXTC) for Mesa.")
|
||||
(define-public mesa
|
||||
(package
|
||||
(name "mesa")
|
||||
(version "25.2.3")
|
||||
(version "25.3.6")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
@@ -325,8 +326,7 @@ also known as DXTn or DXTC) for Mesa.")
|
||||
(string-append "ftp://ftp.freedesktop.org/pub/mesa/"
|
||||
"mesa-" version ".tar.xz")))
|
||||
(sha256
|
||||
(base32
|
||||
"1y5lj9zy2hfvx9ji1rvsjapmzap7mpp5i3pf2yfcpmpica2v5mpj"))))
|
||||
(base32 "01pjp30lqlbn09w2vcmf843iwks9nyflncjqv77ffr1vmkz7w8ar"))))
|
||||
(build-system meson-build-system)
|
||||
(propagated-inputs
|
||||
;; The following are in the Requires.private field of gl.pc.
|
||||
@@ -339,17 +339,22 @@ also known as DXTn or DXTC) for Mesa.")
|
||||
libxxf86vm
|
||||
xorgproto))
|
||||
(inputs
|
||||
(list elfutils ;libelf required for r600 when using llvm
|
||||
expat
|
||||
(force libva-without-mesa)
|
||||
libxml2
|
||||
libxrandr
|
||||
libxvmc
|
||||
llvm-for-mesa
|
||||
vulkan-loader
|
||||
wayland
|
||||
wayland-protocols
|
||||
`(,zstd "lib")))
|
||||
(cons* elfutils ;libelf required for r600 when using llvm
|
||||
expat
|
||||
(force libva-without-mesa)
|
||||
libxml2
|
||||
libxrandr
|
||||
libxvmc
|
||||
llvm-for-mesa
|
||||
vulkan-loader
|
||||
wayland
|
||||
wayland-protocols
|
||||
`(,zstd "lib")
|
||||
;; Rust isn't needed for all architectures.
|
||||
(if (target-x86-64?)
|
||||
;; NVK dependencies
|
||||
(cargo-inputs 'mesa)
|
||||
'())))
|
||||
(native-inputs
|
||||
(append
|
||||
(list bison
|
||||
@@ -375,13 +380,12 @@ also known as DXTn or DXTC) for Mesa.")
|
||||
wayland
|
||||
wayland-protocols)
|
||||
'())
|
||||
;; Rust isn't needed for all architectures.
|
||||
(if (target-x86-64?)
|
||||
;; NVK dependencies
|
||||
(list rust
|
||||
(module-ref (resolve-interface '(gnu packages rust-apps))
|
||||
'rust-bindgen-cli)
|
||||
(module-ref (resolve-interface '(gnu packages rust-apps))
|
||||
'rust-cbindgen-0.26))
|
||||
rust-bindgen-cli
|
||||
rust-cbindgen)
|
||||
'())))
|
||||
(outputs '("out" "bin"))
|
||||
(arguments
|
||||
@@ -450,9 +454,13 @@ panfrost,r300,r600,svga,softpipe,llvmpipe,tegra,v3d,vc4,virgl,zink"))
|
||||
#:build-type "release"
|
||||
|
||||
#:modules '((ice-9 match)
|
||||
(ice-9 ftw)
|
||||
(srfi srfi-1)
|
||||
(guix build utils)
|
||||
((guix build cargo-build-system) #:prefix cargo:)
|
||||
(guix build meson-build-system))
|
||||
#:imported-modules (append %cargo-build-system-modules
|
||||
%meson-build-system-modules)
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
#$@(if (%current-target-system)
|
||||
@@ -468,6 +476,32 @@ panfrost,r300,r600,svga,softpipe,llvmpipe,tegra,v3d,vc4,virgl,zink"))
|
||||
(search-input-file
|
||||
native-inputs "/bin/cmake")))))
|
||||
#~())
|
||||
#$@(if (this-package-native-input "rust")
|
||||
#~((add-after 'unpack 'prepare-rust-crates
|
||||
(lambda args
|
||||
(apply (assoc-ref cargo:%standard-phases
|
||||
'prepare-rust-crates)
|
||||
args)
|
||||
;; Use /tmp/rust-crates as the source.
|
||||
(substitute* (find-files "subprojects" "-rs\\.wrap$")
|
||||
(("source_url = (.*)" _ url)
|
||||
(let ((split-url (string-split url #\/)))
|
||||
(string-append
|
||||
"source_url = file:///tmp/rust-crates/rust-"
|
||||
(string-join
|
||||
(string-split (list-ref split-url 6) #\_) "-")
|
||||
"-" (list-ref split-url 7) ".tar.gz\n"))))
|
||||
;; "Download" the packages.
|
||||
;; once-cell-1.8.0 was yanked by upstream
|
||||
(delete-file "subprojects/once_cell-1-rs.wrap")
|
||||
(for-each
|
||||
(lambda (wrapper)
|
||||
(invoke "meson" "subprojects" "download"
|
||||
(string-drop-right wrapper 5)))
|
||||
(scandir "subprojects"
|
||||
(lambda (file)
|
||||
(string-suffix? "-rs.wrap" file)))))))
|
||||
#~())
|
||||
(add-after 'unpack 'disable-failing-test
|
||||
(lambda _
|
||||
;; Disable the intel vulkan (anv_state_pool) tests, as they may
|
||||
@@ -510,41 +544,6 @@ panfrost,r300,r600,svga,softpipe,llvmpipe,tegra,v3d,vc4,virgl,zink"))
|
||||
(("'lp_test_arit', ") ""))))
|
||||
(_
|
||||
'((display "No tests to disable on this architecture.\n"))))))
|
||||
#$@(if (target-x86-64?)
|
||||
#~((add-after 'unpack 'patch-subproject-sources
|
||||
(lambda _
|
||||
;; Patch each relevant subproject source URL in wrapfiles to
|
||||
;; use the store, which avoids an attempt to download them
|
||||
;; mid-build.
|
||||
(for-each
|
||||
(match-lambda
|
||||
((name source)
|
||||
(let ((wrap-file (string-append
|
||||
"subprojects/" name ".wrap"))
|
||||
(subproject-dest (string-append
|
||||
"subprojects/" name))
|
||||
(overlay-dir (string-append
|
||||
"subprojects/packagefiles/" name)))
|
||||
(mkdir-p subproject-dest)
|
||||
(invoke "tar" "xf" source "-C" subproject-dest
|
||||
"--strip-components=1")
|
||||
;; Normally when the patch_directory wrap file property
|
||||
;; is specified, meson automatically copies from
|
||||
;; packagefiles, but this is not the case here (only
|
||||
;; happens when downloading source?) so we manually copy
|
||||
;; overlay-dir to subproject-dest.
|
||||
(when (file-exists? overlay-dir)
|
||||
(copy-recursively overlay-dir subproject-dest))
|
||||
(call-with-output-file wrap-file
|
||||
(lambda (port)
|
||||
(format port "[wrap-file]
|
||||
directory = ~a
|
||||
"
|
||||
name))))))
|
||||
'#+(module-ref (resolve-interface
|
||||
'(gnu packages rust-crates))
|
||||
'mesa-cargo-inputs)))))
|
||||
#~())
|
||||
(add-after 'unpack 'set-home-directory
|
||||
;; Build tries to use a shader cache (non-fatal error).
|
||||
(lambda _ (setenv "HOME" "/tmp")))
|
||||
|
||||
@@ -12873,6 +12873,10 @@
|
||||
(crate-source "hashbrown" "0.14.0"
|
||||
"0yj3nf0w30pf30w503kgaw4sbjnh62l5cbmc7dd0mnczzywh2qic"))
|
||||
|
||||
(define rust-hashbrown-0.14.1
|
||||
(crate-source "hashbrown" "0.14.1"
|
||||
"04hdcir5sqgw9318c3sjnhf3jid1mq5ipy0ma2pawpgm28madzbx"))
|
||||
|
||||
(define rust-hashbrown-0.14.5
|
||||
(crate-source "hashbrown" "0.14.5"
|
||||
"1wa1vy1xs3mp11bn3z9dv0jricgr6a2j0zkf1g19yz3vw4il89z5"))
|
||||
@@ -14094,6 +14098,10 @@
|
||||
(crate-source "indexmap" "2.0.1"
|
||||
"0kmi1dhkmnv937mbkzlqq9kmkdr8k5030vfk19bi8jcxy4x7q8md"))
|
||||
|
||||
(define rust-indexmap-2.2.6
|
||||
(crate-source "indexmap" "2.2.6"
|
||||
"09hgwi2ig0wyj5rjziia76zmhgfj95k0jb4ic3iiawm4vlavg3qn"))
|
||||
|
||||
(define rust-indexmap-2.10.0
|
||||
(crate-source "indexmap" "2.10.0"
|
||||
"0qd6g26gxzl6dbf132w48fa8rr95glly3jhbk90i29726d9xhk7y"))
|
||||
@@ -15677,6 +15685,10 @@
|
||||
(crate-source "libc" "0.2.162"
|
||||
"1633a00yyx45kzx9r54fndvr8njsjqyr7zl12mzgsmgyczg8glhq"))
|
||||
|
||||
(define rust-libc-0.2.168
|
||||
(crate-source "libc" "0.2.168"
|
||||
"0vab4inpw0dz78nii02hsxp1skqn06xzh64psw8wl1h63scb5bjs"))
|
||||
|
||||
(define rust-libc-0.2.169
|
||||
(crate-source "libc" "0.2.169"
|
||||
"02m253hs8gw0m1n8iyrsc4n15yzbqwhddi7w1l0ds7i92kdsiaxm"))
|
||||
@@ -20226,14 +20238,18 @@
|
||||
(crate-source "password-hash" "0.5.0"
|
||||
"0ri1mim11zk0a9s40zdi288dfqvmdiryc7lw8vl46b59ifa08vrl"))
|
||||
|
||||
(define rust-paste-0.1.18
|
||||
(crate-source "paste" "0.1.18"
|
||||
"10587zrlmzhq66yhd0z36fzglf32m1nlhi9bxxm6dgl0gp3j1jj5"))
|
||||
(define rust-paste-1.0.14
|
||||
(crate-source "paste" "1.0.14"
|
||||
"0k7d54zz8zrz0623l3xhvws61z5q2wd3hkwim6gylk8212placfy"))
|
||||
|
||||
(define rust-paste-1.0.15
|
||||
(crate-source "paste" "1.0.15"
|
||||
"02pxffpdqkapy292harq6asfjvadgp1s005fip9ljfsn9fvxgh2p"))
|
||||
|
||||
(define rust-paste-0.1.18
|
||||
(crate-source "paste" "0.1.18"
|
||||
"10587zrlmzhq66yhd0z36fzglf32m1nlhi9bxxm6dgl0gp3j1jj5"))
|
||||
|
||||
(define rust-paste-impl-0.1.18
|
||||
(crate-source "paste-impl" "0.1.18"
|
||||
"1dlqzk05cx74522s4iyhyzzhszig4n401pp6r1qg6zmr02r7snnr"))
|
||||
@@ -22556,6 +22572,10 @@
|
||||
(crate-source "quote" "1.0.33"
|
||||
"1biw54hbbr12wdwjac55z1m2x2rylciw83qnjn564a3096jgqrsj"))
|
||||
|
||||
(define rust-quote-1.0.35
|
||||
(crate-source "quote" "1.0.35"
|
||||
"1vv8r2ncaz4pqdr78x7f138ka595sp2ncr1sa2plm4zxbsmwj7i9"))
|
||||
|
||||
(define rust-quote-1.0.36
|
||||
(crate-source "quote" "1.0.36"
|
||||
"19xcmh445bg6simirnnd4fvkmp6v2qiwxh5f6rw4a70h76pnm9qg"))
|
||||
@@ -23470,6 +23490,10 @@
|
||||
(crate-source "relative-path" "2.0.1"
|
||||
"1c4jm6x0p88722c77xx53mb7zcs4xznp9d3whdsbmn1248qhm95w"))
|
||||
|
||||
(define rust-remain-0.2.12
|
||||
(crate-source "remain" "0.2.12"
|
||||
"157pzbzkwrj1m111ns3mmr3yla4qnrd0qiij0m6jgb8c4c8y1m8s"))
|
||||
|
||||
(define rust-remoteprocess-0.5.0
|
||||
(crate-source "remoteprocess" "0.5.0"
|
||||
"087z016qvypalbqjgdxmri97vsrqg4k1kpmc8b5d5hdgqxq4f6g6"))
|
||||
@@ -28220,6 +28244,10 @@
|
||||
(crate-source "thiserror" "1.0.69"
|
||||
"0lizjay08agcr5hs9yfzzj6axs53a2rgx070a1dsi3jpkcrzbamn"))
|
||||
|
||||
(define rust-thiserror-2.0.11
|
||||
(crate-source "thiserror" "2.0.11"
|
||||
"1z0649rpa8c2smzx129bz4qvxmdihj30r2km6vfpcv9yny2g4lnl"))
|
||||
|
||||
(define rust-thiserror-2.0.18
|
||||
(crate-source "thiserror" "2.0.18"
|
||||
"1i7vcmw9900bvsmay7mww04ahahab7wmr8s925xc083rpjybb222"))
|
||||
@@ -28268,6 +28296,10 @@
|
||||
(crate-source "thiserror-impl" "2.0.6"
|
||||
"04k3dz901mymm06j3x6f65hpbsqlk6g51fmiky9g2kqgnk550myn"))
|
||||
|
||||
(define rust-thiserror-impl-2.0.11
|
||||
(crate-source "thiserror-impl" "2.0.11"
|
||||
"1hkkn7p2y4cxbffcrprybkj0qy1rl1r6waxmxqvr764axaxc3br6"))
|
||||
|
||||
(define rust-thiserror-impl-2.0.12
|
||||
(crate-source "thiserror-impl" "2.0.12"
|
||||
"07bsn7shydaidvyyrm7jz29vp78vrxr9cr9044rfmn078lmz8z3z"))
|
||||
@@ -30100,6 +30132,10 @@
|
||||
(crate-source "ubyte" "0.10.4"
|
||||
"1spj3k9sx6xvfn7am9vm1b463hsr79nyvj8asi2grqhyrvvdw87p"))
|
||||
|
||||
(define rust-ucd-trie-0.1.6
|
||||
(crate-source "ucd-trie" "0.1.6"
|
||||
"1ff4yfksirqs37ybin9aw71aa5gva00hw7jdxbw8w668zy964r7d"))
|
||||
|
||||
(define rust-ucd-trie-0.1.7
|
||||
(crate-source "ucd-trie" "0.1.7"
|
||||
"0wc9p07sqwz320848i52nvyjvpsxkx3kv5bfbmm6s35809fdk5i8"))
|
||||
@@ -34051,6 +34087,10 @@
|
||||
(crate-source "zerocopy" "0.7.35"
|
||||
"1w36q7b9il2flg0qskapgi9ymgg7p985vniqd09vi0mwib8lz6qv"))
|
||||
|
||||
(define rust-zerocopy-0.8.13
|
||||
(crate-source "zerocopy" "0.8.13"
|
||||
"07g29nsr3hvf2vyh9wk39l3yg144hprjx7aykvkd5gzka6s4m4b7"))
|
||||
|
||||
(define rust-zerocopy-0.8.23
|
||||
(crate-source "zerocopy" "0.8.23"
|
||||
"1inbxgqhsxghawsss8x8517g30fpp8s3ll2ywy88ncm40m6l95zx"))
|
||||
@@ -34107,6 +34147,10 @@
|
||||
(crate-source "zerocopy-derive" "0.7.35"
|
||||
"0gnf2ap2y92nwdalzz3x7142f2b83sni66l39vxp2ijd6j080kzs"))
|
||||
|
||||
(define rust-zerocopy-derive-0.8.13
|
||||
(crate-source "zerocopy-derive" "0.8.13"
|
||||
"0pgjqk2w5wrw752wfsxgf7rwqjlk1r4vq5iky2fjijh38cxdg23r"))
|
||||
|
||||
(define rust-zerocopy-derive-0.8.23
|
||||
(crate-source "zerocopy-derive" "0.8.23"
|
||||
"0m7iwisxz111sgkski722nyxv0rixbs0a9iylrcvhpfx1qfw0lk3"))
|
||||
@@ -34566,15 +34610,6 @@
|
||||
;;; Cargo inputs.
|
||||
;;;
|
||||
|
||||
;; TODO: Maintain this automatically too.
|
||||
(define-public mesa-cargo-inputs
|
||||
`(("paste" ,rust-paste-1.0.15)
|
||||
("proc-macro2" ,rust-proc-macro2-1.0.94)
|
||||
("quote" ,rust-quote-1.0.40)
|
||||
("rustc-hash" ,rust-rustc-hash-2.1.1)
|
||||
("syn" ,rust-syn-2.0.100)
|
||||
("unicode-ident" ,rust-unicode-ident-1.0.18)))
|
||||
|
||||
(define-cargo-inputs lookup-cargo-inputs
|
||||
(aardvark-dns =>
|
||||
(list rust-addr2line-0.24.2
|
||||
@@ -59142,6 +59177,34 @@
|
||||
rust-zstd-0.13.3
|
||||
rust-zstd-safe-7.2.4
|
||||
rust-zstd-sys-2.0.16+zstd.1.5.7))
|
||||
(mesa => ; TODO: Maintain this automatically.
|
||||
(list rust-bitflags-2.9.1
|
||||
rust-cfg-if-1.0.0
|
||||
rust-equivalent-1.0.1
|
||||
rust-errno-0.3.12
|
||||
rust-hashbrown-0.14.1
|
||||
rust-indexmap-2.2.6
|
||||
rust-libc-0.2.168
|
||||
rust-log-0.4.27
|
||||
;rust-once-cell-1.8.0 ; Unavailable upstream.
|
||||
rust-paste-1.0.14
|
||||
rust-pest-2.8.0
|
||||
rust-pest-derive-2.8.0
|
||||
rust-pest-generator-2.8.0
|
||||
rust-pest-meta-2.8.0
|
||||
rust-proc-macro2-1.0.86
|
||||
rust-quote-1.0.35
|
||||
rust-remain-0.2.12
|
||||
rust-roxmltree-0.20.0
|
||||
rust-rustc-hash-2.1.1
|
||||
rust-rustix-1.0.7
|
||||
rust-syn-2.0.87
|
||||
rust-thiserror-2.0.11
|
||||
rust-thiserror-impl-2.0.11
|
||||
rust-ucd-trie-0.1.6
|
||||
rust-unicode-ident-1.0.12-unpatched
|
||||
rust-zerocopy-0.8.13
|
||||
rust-zerocopy-derive-0.8.13))
|
||||
(mollysocket =>
|
||||
(list rust-ahash-0.8.12
|
||||
rust-aho-corasick-1.1.3
|
||||
|
||||
Reference in New Issue
Block a user