From 3fa7d009209540020e6949bda0ee92a69093927d Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 2 Jul 2025 11:41:03 +0300 Subject: [PATCH] gnu: Add rust-1.86. * gnu/packages/rust.scm (rust-1.86): New variable. Change-Id: I01f4d4e0953199b6f26d639274b69c0c4c4164dd Signed-off-by: Hilton Chain --- gnu/packages/rust.scm | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm index c24b7714052f55591f1b8f49617c33b4adf818f1..f445516df9c7cfbad7730e980576d21b6bab60ca 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)