summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEfraim Flashner <efraim@flashner.co.il>2025-07-02 11:41:03 +0300
committerHilton Chain <hako@ultrarare.space>2025-07-29 21:32:25 +0800
commite912534a5b84fab1e96272ce410011f949911bd4 (patch)
tree6583af27930e6297c4bad69e8775405ff26f6eec
parent96e62be823e1fff5a0b2abd0dc3053a8f1e6286f (diff)
gnu: Add rust-1.86.
* gnu/packages/rust.scm (rust-1.86): New variable. Change-Id: I01f4d4e0953199b6f26d639274b69c0c4c4164dd Signed-off-by: Hilton Chain <hako@ultrarare.space>
-rw-r--r--gnu/packages/rust.scm39
1 files changed, 39 insertions, 0 deletions
diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index c24b771405..f445516df9 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -1320,6 +1320,45 @@ safety and thread safety guarantees.")
(("features = \\[\"fs\"" all)
(string-append all ", \"use-libc\""))))))))))
+(define-public rust-1.86
+ (let ((base-rust
+ (rust-bootstrapped-package rust-1.85 "1.86.0"
+ "107d3vbmwhn4b71gzr1kv31jwwyld7dxj9yj8jh00ygndll2fah2")))
+ (package
+ (inherit base-rust)
+ (source
+ (origin
+ (inherit (package-source base-rust))
+ (snippet
+ '(begin
+ (for-each delete-file-recursively
+ '("src/llvm-project"
+ "vendor/jemalloc-sys-0.3.2"
+ "vendor/jemalloc-sys-0.5.3+5.3.0-patched/jemalloc"
+ "vendor/openssl-src-111.17.0+1.1.1m/openssl"
+ "vendor/openssl-src-111.28.2+1.1.1w/openssl"
+ "vendor/tikv-jemalloc-sys-0.5.4+5.3.0-patched/jemalloc"
+ "vendor/tikv-jemalloc-sys-0.6.0+5.3.0-1-ge13ca993e8ccb9ba9847cc330696e02839f328f7/jemalloc"))
+ ;; Remove vendored dynamically linked libraries.
+ ;; find . -not -type d -executable -exec file {} \+ | grep ELF
+ ;; Also remove the bundled (mostly Windows) libraries.
+ (for-each delete-file
+ (find-files "vendor" "\\.(a|dll|exe|lib)$"))
+ ;; Adjust vendored dependency to explicitly use rustix with libc backend.
+ (substitute* '("vendor/tempfile-3.14.0/Cargo.toml"
+ "vendor/tempfile-3.15.0/Cargo.toml"
+ "vendor/tempfile-3.16.0/Cargo.toml")
+ (("features = \\[\"fs\"" all)
+ (string-append all ", \"use-libc\"")))))))
+ (arguments
+ (substitute-keyword-arguments (package-arguments base-rust)
+ ((#:phases phases)
+ `(modify-phases ,phases
+ (add-after 'use-system-llvm 'disable-lld-wrapper
+ (lambda _
+ (substitute* "config.toml"
+ (("\\[rust\\]") "[rust]\nlld = false")))))))))))
+
(define (make-ignore-test-list strs)
"Function to make creating a list to ignore tests a bit easier."
(map (lambda (str)