aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/rust.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/rust.scm')
-rw-r--r--gnu/packages/rust.scm25
1 files changed, 25 insertions, 0 deletions
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 @@ safety and thread safety guarantees.")
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))))))