summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakub Kądziołka <kuba@kadziolka.net>2020-04-29 11:40:21 +0200
committerGuix Patches Tester <>2020-04-29 10:42:14 +0100
commit9ceb20ba49c4f8dedb796c19bbd2ecdfe1c58ebd (patch)
treefd4ccbcecf5b58e5433ead4e215b4ccf5c097e19
parent8fe681b9ffc5c5b0056e3174fade2f9e0b58fb97 (diff)
downloadpatches-series-3745.tar
patches-series-3745.tar.gz
gnu: rust: Add 1.40series-3745
* gnu/packages/rust.scm (rust-1.40): New variable.
-rw-r--r--gnu/packages/rust.scm34
1 files changed, 34 insertions, 0 deletions
diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index 11522b933e..a82bfa5912 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -1176,4 +1176,38 @@ move around."
(generate-all-checksums "vendor")
#t)))))))))
+(define-public rust-1.40
+ (let ((base-rust
+ (rust-bootstrapped-package rust-1.39 "1.40.0"
+ "1ba9llwhqm49w7sz3z0gqscj039m53ky9wxzhaj11z6yg1ah15yx")))
+ (package
+ (inherit base-rust)
+ (source
+ (origin
+ (inherit (package-source base-rust))
+ ;; llvm-emscripten is no longer bundled, as that codegen backend
+ ;; got removed.
+ (snippet '(begin
+ (delete-file-recursively "src/llvm-project")
+ (delete-file-recursively "vendor/jemalloc-sys/jemalloc")
+ #t))))
+ (arguments
+ ;; Rust 1.40 does not ship rustc-internal libraries by default
+ ;; (see rustc-dev-split). This means that librustc_driver.so is no
+ ;; longer available in lib/rustlib/$target/lib, which is the directory
+ ;; included in the runpath of librustc_codegen_llvm-llvm.so.
+ ;; This is detected by our validate-runpath phase as an error, but it
+ ;; is harmless as the codegen backend is loaded by librustc_driver.so
+ ;; itself, which must at that point have been already loaded.
+ ;; As such, we skip validating the runpath for Rust 1.40.
+ ;; Rust 1.41 stopped putting the codegen backend in a separate library,
+ ;; which makes this workaround only necessary for this release.
+ (cons* #:validate-runpath? #f
+ (substitute-keyword-arguments (package-arguments base-rust)
+ ((#:phases phases)
+ `(modify-phases ,phases
+ ;; The test got removed in commit 000fe63b6fc57b09828930cacbab20c2ee6e6d15
+ ;; "Remove painful test that is not pulling its weight"
+ (delete 'remove-unsupported-tests)))))))))
+
(define-public rust rust-1.37)