gnu: mesa: Use subproject sources from (gnu packages rust-crates).

* gnu/packages/rust-crates.scm (mesa-cargo-inputs): New variable.
* gnu/packages/gl.scm (mesa)[arguments]<#:phases>: Use it in
‘patch-subproject-sources’ phase.

Change-Id: Iaddcd488b0394ef4448bb6155349623ec4e8fb8a
This commit is contained in:
Hilton Chain 2025-03-04 16:39:15 +08:00
parent ceb1d5485f
commit 30c63b4678
No known key found for this signature in database
GPG key ID: ACC66D09CA528292
2 changed files with 14 additions and 18 deletions

View file

@ -520,7 +520,9 @@ panfrost,r300,r600,svga,softpipe,llvmpipe,tegra,v3d,vc4,virgl,zink"))
"subprojects/" name))
(overlay-dir (string-append
"subprojects/packagefiles/" name)))
(copy-recursively source subproject-dest)
(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
@ -534,23 +536,9 @@ panfrost,r300,r600,svga,softpipe,llvmpipe,tegra,v3d,vc4,virgl,zink"))
directory = ~a
"
name))))))
'#+(map (lambda (pkg)
(let ((name (package-upstream-name* pkg))
(version (package-version pkg)))
(list (package-upstream-name* pkg)
(file-append pkg
"/share/cargo/src/"
name "-" version))))
(let ((from-crates-io
(cut module-ref
(resolve-interface
'(gnu packages crates-io))
<>)))
(list (from-crates-io 'rust-syn-2)
(from-crates-io 'rust-unicode-ident-1)
(from-crates-io 'rust-quote-1)
(from-crates-io 'rust-proc-macro2-1)
(from-crates-io 'rust-paste-1))))))))
'#+(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).

View file

@ -3586,6 +3586,14 @@
;;; 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)
("syn" ,rust-syn-2.0.100)
("unicode-ident" ,rust-unicode-ident-1.0.18)))
(define-cargo-inputs lookup-cargo-inputs
(cargo-audit =>
(list rust-abscissa-core-0.8.2