aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/rust.scm
diff options
context:
space:
mode:
authorEfraim Flashner <efraim@flashner.co.il>2024-01-17 10:13:45 +0200
committerEfraim Flashner <efraim@flashner.co.il>2024-02-20 13:57:42 +0200
commitf8f8bd9eba0cfd1bc027b40a3daf347cf353dcf4 (patch)
tree9017f0641cbd16bcbff6c2a3478c0556daeb19ba /gnu/packages/rust.scm
parent630273175054a85b642bd1b62f8a7c6d3f26bc33 (diff)
downloadguix-f8f8bd9eba0cfd1bc027b40a3daf347cf353dcf4.tar
guix-f8f8bd9eba0cfd1bc027b40a3daf347cf353dcf4.tar.gz
gnu: rust-bootstrap: Fix building on riscv64-linux.
* gnu/packages/rust-bootstrap.scm [properties]: Increase timeout to 36 hours. [inputs]: When building for riscv64 add clang-13. [arguments]: When building for riscv64 start the build using clang and then switch to gcc later. Change-Id: I661934ff6862e5c8d826dd637ceeaf316b877c23
Diffstat (limited to 'gnu/packages/rust.scm')
-rw-r--r--gnu/packages/rust.scm11
1 files changed, 7 insertions, 4 deletions
diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index d7d2f0eb0d..42be029c28 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -178,11 +178,12 @@
(patch-flags '("-p0")))) ;default is -p1
(outputs '("out" "cargo"))
(properties '((hidden? . #t)
- (timeout . 72000) ;20 hours
+ (timeout . 129600) ;36 hours
(max-silent-time . 18000))) ;5 hours (for armel)
(build-system gnu-build-system)
(inputs
- `(,@(if (target-ppc64le?)
+ `(,@(if (or (target-ppc64le?)
+ (target-riscv64?))
`(("clang" ,clang-13))
`())
("llvm" ,llvm-13)
@@ -288,7 +289,8 @@
(setenv "CARGO_HOME" cargo-home))))
(replace 'configure
(lambda _
- ,@(if (target-ppc64le?)
+ ,@(if (or (target-ppc64le?)
+ (target-riscv64?))
`((setenv "CC" "clang")
(setenv "CXX" "clang++"))
`((setenv "CC" "gcc")
@@ -332,7 +334,8 @@
;; We can to continue the build with gcc after building rustc.
;; librustc_driver.so undefined reference to
;; `llvm::cfg::Update<llvm::BasicBlock*>::dump() const'
- ,@(if (target-ppc64le?)
+ ,@(if (or (target-ppc64le?)
+ (target-riscv64?))
`((setenv "CC" "gcc")
(setenv "CXX" "g++"))
`())