efraim pushed a commit to branch rust-team
in repository guix.
commit f61d5f7734dc9c1d0b147b81f72bb005dce1c864
Author: Efraim Flashner <[email protected]>
AuthorDate: Thu Feb 13 13:44:32 2025 +0200
gnu: Add rust-1.83.
* gnu/packages/rust.scm (rust-1.83): New variable.
Change-Id: I662217b48ffc55bc3be9471c4ae886a349c95fbf
---
gnu/packages/rust.scm | 41 +++++++++++++++++++++++++++++++++++++++++
1 file changed, 41 insertions(+)
diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index aed77cbf24..52008684c3 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -1040,6 +1040,47 @@ safety and thread safety guarantees.")
(string-append name "\"" ,%cargo-reference-hash "\"")))
(generate-all-checksums "vendor"))))))))))
+(define-public rust-1.83
+ (let ((base-rust (rust-bootstrapped-package rust-1.82 "1.83.0"
+ "0vhwhk4cbyppnz0lcazfjyddyz811fgvadfxswldicpashxpfbbj")))
+ (package
+ (inherit base-rust)
+ (source
+ (origin
+ (inherit (package-source base-rust))
+ (snippet
+ '(begin
+ (for-each delete-file-recursively
+ '("src/gcc"
+ "src/llvm-project"
+ "vendor/jemalloc-sys-0.3.2"
+ "vendor/jemalloc-sys-0.5.3+5.3.0-patched/jemalloc"
+ "vendor/jemalloc-sys-0.5.4+5.3.0-patched/jemalloc"
+ "vendor/openssl-src-111.28.2+1.1.1w/openssl"
+
"vendor/tikv-jemalloc-sys-0.5.4+5.3.0-patched/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.10.1/Cargo.toml"
+ "vendor/tempfile-3.13.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 'configure 'use-system-llvm
+ (lambda _
+ (substitute* "config.toml"
+ (("\\[llvm\\]") "[llvm]\ndownload-ci-llvm = false")
+ (("\\[rust\\]") "[rust]\ndownload-rustc = false"))))))))
+ ;; Need llvm >= 18.0
+ (inputs (modify-inputs (package-inputs base-rust)
+ (replace "llvm" llvm-19))))))
+
(define (make-ignore-test-list strs)
"Function to make creating a list to ignore tests a bit easier."