gnu: Add rust-1.70.

* gnu/packages/rust.scm (rust-1.70): New variable.
* gnu/packages/patches/rust-1.70-fix-rustix-build.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register file.

Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
This commit is contained in:
Fries 2023-09-18 15:19:49 +03:00 committed by Efraim Flashner
parent fb04d0139e
commit 299a223835
No known key found for this signature in database
GPG key ID: 41AAE7DCCA3D8351
3 changed files with 39 additions and 0 deletions

View file

@ -1947,6 +1947,7 @@ dist_patch_DATA = \
%D%/packages/patches/ruby-nokogiri.patch \ %D%/packages/patches/ruby-nokogiri.patch \
%D%/packages/patches/rustc-1.54.0-src.patch \ %D%/packages/patches/rustc-1.54.0-src.patch \
%D%/packages/patches/rust-1.64-fix-riscv64-bootstrap.patch \ %D%/packages/patches/rust-1.64-fix-riscv64-bootstrap.patch \
%D%/packages/patches/rust-1.70-fix-rustix-build.patch \
%D%/packages/patches/rust-ring-0.16-missing-files.patch \ %D%/packages/patches/rust-ring-0.16-missing-files.patch \
%D%/packages/patches/rust-ring-0.16-test-files.patch \ %D%/packages/patches/rust-ring-0.16-test-files.patch \
%D%/packages/patches/i3status-rust-enable-unstable-features.patch \ %D%/packages/patches/i3status-rust-enable-unstable-features.patch \

View file

@ -0,0 +1,21 @@
@@ -0,0 +1,20 @@
--- a/vendor/fd-lock/Cargo.toml 2023-05-31 14:44:48.000000000 -0700
+++ b/vendor/fd-lock/Cargo.toml 2023-07-14 21:19:34.637702319 -0700
@@ -45,7 +45,7 @@
[target."cfg(unix)".dependencies.rustix]
version = "0.37.0"
-features = ["fs"]
+features = ["fs", "cc"]
[target."cfg(windows)".dependencies.windows-sys]
version = "0.45.0"
--- a/src/bootstrap/Cargo.lock 2023-07-11 20:32:40.000000000 -0700
+++ b/src/bootstrap/Cargo.lock 2023-07-14 22:41:53.269284713 -0700
@@ -618,6 +618,7 @@
dependencies = [
"bitflags",
+ "cc",
"errno",
"io-lifetimes",
"libc",

View file

@ -726,6 +726,23 @@ (define rust-1.69
(for-each delete-file (for-each delete-file
(find-files "vendor" "\\.(a|dll|exe|lib)$"))))))))) (find-files "vendor" "\\.(a|dll|exe|lib)$")))))))))
(define rust-1.70
(let ((base-rust
(rust-bootstrapped-package
rust-1.69 "1.70.0"
"0z6j7d0ni0rmfznv0w3mrf882m11kyh51g2bxkj40l3s1c0axgxj")))
(package
(inherit base-rust)
(source
(origin
(inherit (package-source base-rust))
;; 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
;; build.rs script to compile the assembly files instead of searching
;; for a precompiled library.
(patches (search-patches "rust-1.70-fix-rustix-build.patch")))))))
;;; Note: Only the latest version of Rust is supported and tested. The ;;; Note: Only the latest version of Rust is supported and tested. The
;;; intermediate rusts are built for bootstrapping purposes and should not ;;; intermediate rusts are built for bootstrapping purposes and should not
;;; be relied upon. This is to ease maintenance and reduce the time ;;; be relied upon. This is to ease maintenance and reduce the time