From fb295a6a1269c9375a4251192775221e584a7afd Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 16 Jan 2024 20:48:31 +0200 Subject: [PATCH] gnu: rust-1.70: Fix building on powerpc64le-linux. * gnu/packages/rust.scm (rust-1.70)[source]: Adjust snippet to fix building rustix on all architectures. Change-Id: Ic9f57e00c8602cd400db65e5b2c2499e972bef17 --- gnu/packages/rust.scm | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm index 73c63cf801..85f497d041 100644 --- a/gnu/packages/rust.scm +++ b/gnu/packages/rust.scm @@ -786,6 +786,22 @@ (define-public rust-1.70 (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" + (("\"errno\",") "\"cc\",\n \"errno\",")) + ;; Add a dependency on the the 'cc' feature of rustix. + (substitute* '("vendor/is-terminal/Cargo.toml" + "vendor/is-terminal-0.4.4/Cargo.toml") + (("\"termios\"") "\"termios\", \"cc\"")) + ;; Also remove the bundled (mostly Windows) libraries. + (for-each delete-file + (find-files "vendor" "\\.(a|dll|exe|lib)$")))) ;; Rust 1.70 adds the rustix library which depends on the vendored ;; fd-lock crate. The fd-lock crate uses Outline assembly which expects ;; a precompiled static library. Enabling the "cc" feature tells the