summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEfraim Flashner <efraim@flashner.co.il>2025-05-07 17:04:17 +0300
committerHilton Chain <hako@ultrarare.space>2025-07-29 21:32:20 +0800
commit520dc6990dcf0d569790bc82ea8875bff26e6724 (patch)
tree69e189ee86482385abab4bd2c32eab2c201779fd
parent792060704d4f580f45f7618b82f99e84bcefa749 (diff)
gnu: rust-1.75: Use rust-bootstrap-1.74 on some platforms.
* gnu/packges/rust.scm (rust-1.75)[arguments]: When building with rust-bootstrap-1.74 add the add-cc-shim-to-path phase. [native-inputs]: Build with rust-bootstrap-1.74 on platforms which have support. [inputs]: Replace llvm-15 with llvm-17. (rust-1.76)[arguments]: Remove added add-cc-shim-to-path phase. [inputs]: Don't replace llvm. Change-Id: I3bbf5c6dd64617bdd100cc274fe754ffc1325223
-rw-r--r--gnu/packages/rust.scm29
1 files changed, 25 insertions, 4 deletions
diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index 8dd3f2eb0a..c6220bf325 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -1082,16 +1082,37 @@ safety and thread safety guarantees.")
(source
(origin
(inherit (package-source base-rust))
- (patches '()))))))
+ (patches '())))
+ (arguments
+ (if (supported-package? rust-bootstrap-1.74)
+ (substitute-keyword-arguments (package-arguments base-rust)
+ ((#:phases phases)
+ `(modify-phases ,phases
+ (add-after 'unpack 'add-cc-shim-to-path
+ (lambda _
+ (mkdir-p "/tmp/bin")
+ (symlink (which "gcc") "/tmp/bin/cc")
+ (setenv "PATH" (string-append "/tmp/bin:" (getenv "PATH"))))))))
+ (package-arguments base-rust)))
+ (native-inputs
+ (if (supported-package? rust-bootstrap-1.74)
+ (modify-inputs (package-native-inputs base-rust)
+ (replace "cargo-bootstrap" (list rust-bootstrap-1.74 "cargo"))
+ (replace "rustc-bootstrap" rust-bootstrap-1.74))
+ (package-native-inputs base-rust)))
+ (inputs (modify-inputs (package-inputs base-rust)
+ (replace "llvm" llvm-17))))))
(define-public rust-1.76
(let ((base-rust (rust-bootstrapped-package rust-1.75 "1.76.0"
"08f06shp6l72qrv5fwg1is7yzr6kwj8av0l9h5k243bz781zyp4y")))
(package
(inherit base-rust)
- ;; Need llvm >= 16.0
- (inputs (modify-inputs (package-inputs base-rust)
- (replace "llvm" llvm-17))))))
+ (arguments
+ (substitute-keyword-arguments (package-arguments base-rust)
+ ((#:phases phases)
+ `(modify-phases ,phases
+ (delete 'add-cc-shim-to-path))))))))
(define-public rust-1.77
(let ((base-rust (rust-bootstrapped-package rust-1.76 "1.77.1"