gnu: Factorize rust-bootstrapped-package.

* gnu/packages/rust.scm (rust-bootstrapped-package): New procedure.
(rust): Use rust-bootstrapped-package.
This commit is contained in:
Danny Milosavljevic 2018-04-02 18:47:58 +02:00
parent 8fdde58103
commit ca523cc518
No known key found for this signature in database
GPG Key ID: E71A35542C30BAA5

View File

@ -235,6 +235,18 @@ safety and thread safety guarantees.")
;; Dual licensed.
(license (list license:asl2.0 license:expat))))
(define (rust-bootstrapped-package base-rust version checksum)
"Bootstrap rust VERSION with source checksum CHECKSUM using BASE-RUST."
(package
(inherit base-rust)
(version version)
(source
(rust-source version checksum))
(native-inputs
(alist-replace "cargo-bootstrap" (list base-rust "cargo")
(alist-replace "rustc-bootstrap" (list base-rust)
(package-native-inputs base-rust))))))
(define-public rust-1.23
(package
(inherit rust-1.19)
@ -337,18 +349,13 @@ jemalloc = \"" jemalloc "/lib/libjemalloc_pic.a" "\"
#t)))))))))
(define-public rust
(let ((base-rust rust-1.23))
(let ((base-rust
(rust-bootstrapped-package rust-1.23 "1.24.1"
"1vv10x2h9kq7fxh2v01damdq8pvlp5acyh1kzcda9sfjx12kv99y")))
(package
(inherit base-rust)
(version "1.24.1")
(source
(rust-source version
"1vv10x2h9kq7fxh2v01damdq8pvlp5acyh1kzcda9sfjx12kv99y"))
(native-inputs
(alist-replace "cargo-bootstrap" (list base-rust "cargo")
(alist-replace "rustc-bootstrap" (list base-rust)
(package-native-inputs base-rust))))
(arguments
(substitute-keyword-arguments (package-arguments base-rust)
((#:phases phases) `(modify-phases ,phases
(delete 'fix-mtime-bug))))))))
((#:phases phases)
`(modify-phases ,phases
(delete 'fix-mtime-bug))))))))