summaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
authorHilton Chain <hako@ultrarare.space>2025-03-04 16:39:15 +0800
committerHilton Chain <hako@ultrarare.space>2025-08-21 19:08:25 +0800
commit30c63b4678a3ef8676ab3f15f1d2d7596412f64f (patch)
treef6d30ee481d300797167c2236b57e9b3ee0329f5 /gnu
parentceb1d5485fa4c272354c18d8e74f75cc0cac9ff9 (diff)
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
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/gl.scm24
-rw-r--r--gnu/packages/rust-crates.scm8
2 files changed, 14 insertions, 18 deletions
diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm
index 865e0ab161b..2a1c7a90de6 100644
--- a/gnu/packages/gl.scm
+++ b/gnu/packages/gl.scm
@@ -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).
diff --git a/gnu/packages/rust-crates.scm b/gnu/packages/rust-crates.scm
index 1d7991ec1ed..4d79e3cf890 100644
--- a/gnu/packages/rust-crates.scm
+++ b/gnu/packages/rust-crates.scm
@@ -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