From b3b273ff89eb120caf5e99ec419fe710f4cc4ac4 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 16 Jan 2024 20:46:55 +0200 Subject: [PATCH] gnu: rust-1.67: Fix building on powerpc64le-linux. * gnu/packages/rust.scm (rust-1.67)[source]: Adjust snippet to fix building rustix on all architectures. Change-Id: I3bfd30d541574daae6223066c57c2d311e436075 --- gnu/packages/rust.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm index b7ceca6be7..3680ab12f1 100644 --- a/gnu/packages/rust.scm +++ b/gnu/packages/rust.scm @@ -715,6 +715,31 @@ (define-public rust-1.67 rust-1.66 "1.67.1" "0vpzv6rm3w1wbni17ryvcw83k5klhghklylfdza3nnp8blz3sj26"))) (package (inherit base-rust) + (source + (origin + (inherit (package-source base-rust)) + (snippet + '(begin + (for-each delete-file-recursively + '("src/llvm-project" + "vendor/openssl-src/openssl" + "vendor/tikv-jemalloc-sys/jemalloc")) + ;; Adjust rustix to always build with cc. + (substitute* '("Cargo.lock" + "src/bootstrap/Cargo.lock") + (("\"errno\",") "\"cc\",\n \"errno\",")) + ;; Add a dependency on the the 'cc' feature of rustix. + (substitute* "vendor/fd-lock/Cargo.toml" + (("\"fs\"") "\"fs\", \"cc\"")) + (substitute* "vendor/is-terminal/Cargo.toml" + (("\"termios\"") "\"termios\", \"cc\"")) + ;; Remove vendored dynamically linked libraries. + ;; find . -not -type d -executable -exec file {} \+ | grep ELF + (delete-file "vendor/vte/vim10m_match") + (delete-file "vendor/vte/vim10m_table") + ;; Also remove the bundled (mostly Windows) libraries. + (for-each delete-file + (find-files "vendor" "\\.(a|dll|exe|lib)$")))))) (inputs (modify-inputs (package-inputs base-rust) (replace "llvm" llvm-15))))))