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