gnu: rust: Update rust to 1.24.1.

* gnu/packages/rust.scm (rust-bootstrap): Freeze bootstrap version to 1.22.1.
Reorganize bootstrap binaries to match new "rust" package structure with two
ouputs "out" with Rust compiler and "cargo" with Cargo package manager.
Replace all "system*" by "invoke".
(rust-1.23): Rename "rustc" to "rust".  Update sha256 for tarball.  Add cargo
related dependencies.  Install "cargo" as separate "rust" output.  Remove
substitutes for parts that were fixed in "rustc" source code.  Install
documentation to separate "doc" output.  Update configuration according to
changes in "rustc" source code.  Replace all "system*" by "invoke".
(rust): Create package for 1.24.1 rust release based on rust-1.23 release.
* guix/build-system/cargo.scm (default-rust): Replace "default-cargo" and
"default-rustc" functions with "default-rust" function.
(cargo-build-system): Take only one package as "rust" source.  Use "rustc" of
default output of "rust" package, use "cargo" as "cargo" output of "rust"
package.
master
Nikolai Merinov 2018-03-14 00:06:53 +05:00 committed by Danny Milosavljevic
parent 8456a4c5cb
commit f342bb58fe
No known key found for this signature in database
GPG Key ID: E71A35542C30BAA5
2 changed files with 127 additions and 1268 deletions

File diff suppressed because it is too large Load Diff

View File

@ -43,17 +43,11 @@
to NAME and VERSION."
(string-append crate-url name "/" version "/download"))
(define (default-cargo)
"Return the default Cargo package."
(define (default-rust)
"Return the default Rust package."
;; Lazily resolve the binding to avoid a circular dependency.
(let ((rust (resolve-interface '(gnu packages rust))))
(module-ref rust 'cargo)))
(define (default-rustc)
"Return the default Rustc package."
;; Lazily resolve the binding to avoid a circular dependency.
(let ((rust (resolve-interface '(gnu packages rust))))
(module-ref rust 'rustc)))
(module-ref rust 'rust)))
(define %cargo-build-system-modules
;; Build-side modules imported by default.
@ -115,14 +109,13 @@ to NAME and VERSION."
(define* (lower name
#:key source inputs native-inputs outputs system target
(cargo (default-cargo))
(rustc (default-rustc))
(rust (default-rust))
#:allow-other-keys
#:rest arguments)
"Return a bag for NAME."
(define private-keywords
'(#:source #:target #:cargo #:rustc #:inputs #:native-inputs #:outputs))
'(#:source #:target #:rust #:inputs #:native-inputs #:outputs))
(and (not target) ;; TODO: support cross-compilation
(bag
@ -136,8 +129,8 @@ to NAME and VERSION."
;; Keep the standard inputs of 'gnu-build-system'
,@(standard-packages)))
(build-inputs `(("cargo" ,cargo)
("rustc" ,rustc)
(build-inputs `(("cargo" ,rust "cargo")
("rustc" ,rust)
,@native-inputs))
(outputs outputs)
(build cargo-build)