diff --git a/srcpkgs/rust/patches/link-musl-dynamically.patch b/srcpkgs/rust/patches/link-musl-dynamically.patch index 1cb9fd91c07..7d54007c46d 100644 --- a/srcpkgs/rust/patches/link-musl-dynamically.patch +++ b/srcpkgs/rust/patches/link-musl-dynamically.patch @@ -1,52 +1,52 @@ ---- rustc-1.25.0-src/src/bootstrap/compile.rs 2018-03-25 16:26:14.000000000 +0200 -+++ rustc-1.25.0-src/src/bootstrap/compile.rs 2018-03-28 18:31:04.332764856 +0200 -@@ -79,13 +79,6 @@ +--- rustc-1.27.0-src/src/bootstrap/compile.rs.orig 2018-06-20 20:41:04.992367746 +0200 ++++ rustc-1.27-0-src/src/bootstrap/compile.rs 2018-06-20 20:41:54.402969673 +0200 +@@ -78,13 +78,6 @@ }); - println!("Uplifting stage1 std ({} -> {})", from.host, target); - + builder.info(&format!("Uplifting stage1 std ({} -> {})", from.host, target)); + - // Even if we're not building std this stage, the new sysroot must - // still contain the musl startup objects. - if target.contains("musl") { - let libdir = builder.sysroot_libdir(compiler, target); -- copy_musl_third_party_objects(build, target, &libdir); +- copy_musl_third_party_objects(builder, target, &libdir); - } - builder.ensure(StdLink { compiler: from, target_compiler: compiler, -@@ -94,11 +87,6 @@ +@@ -93,11 +86,6 @@ return; } - + - if target.contains("musl") { - let libdir = builder.sysroot_libdir(compiler, target); -- copy_musl_third_party_objects(build, target, &libdir); +- copy_musl_third_party_objects(builder, target, &libdir); - } - - let out_dir = build.cargo_out(compiler, Mode::Libstd, target); - build.clear_if_dirty(&out_dir, &builder.rustc(compiler)); + let out_dir = builder.cargo_out(compiler, Mode::Libstd, target); + builder.clear_if_dirty(&out_dir, &builder.rustc(compiler)); let mut cargo = builder.cargo(compiler, Mode::Libstd, target, "build"); -@@ -120,20 +108,6 @@ +@@ -119,20 +107,6 @@ } } - + -/// Copies the crt(1,i,n).o startup objects -/// -/// Since musl supports fully static linking, we can cross link for it even -/// with a glibc-targeting toolchain, given we have the appropriate startup -/// files. As those shipped with glibc won't work, copy the ones provided by -/// musl so we have them on linux-gnu hosts. --fn copy_musl_third_party_objects(build: &Build, +-fn copy_musl_third_party_objects(builder: &Builder, - target: Interned, - into: &Path) { - for &obj in &["crt1.o", "crti.o", "crtn.o"] { -- copy(&build.musl_root(target).unwrap().join("lib").join(obj), &into.join(obj)); +- builder.copy(&builder.musl_root(target).unwrap().join("lib").join(obj), &into.join(obj)); - } -} - /// Configure cargo to compile the standard library, adding appropriate env vars /// and such. - pub fn std_cargo(build: &Builder, + pub fn std_cargo(builder: &Builder, --- rustc-1.25.0-src-orig/src/bootstrap/sanity.rs 2018-03-25 16:26:14.000000000 +0200 +++ rustc-1.25.0-src/src/bootstrap/sanity.rs 2018-03-29 12:49:49.192705213 +0200 @@ -112,18 +112,6 @@ #[link(name = "c")] extern {} ---- rustc-1.25.0-src/src/librustc_back/target/x86_64_unknown_linux_musl.rs 2018-03-25 16:26:14.000000000 +0200 -+++ rustc-1.25.0-src/src/librustc_back/target/x86_64_unknown_linux_musl.rs 2018-03-28 18:33:44.758213404 +0200 -@@ -12,7 +12,7 @@ - use target::{Target, TargetResult}; - - pub fn target() -> TargetResult { -- let mut base = super::linux_musl_base::opts(); -+ let mut base = super::linux_base::opts(); - base.cpu = "x86-64".to_string(); - base.max_atomic_width = Some(64); - base.pre_link_args.get_mut(&LinkerFlavor::Gcc).unwrap().push("-m64".to_string()); - --- rustc-1.25.0-src/src/libunwind/build.rs 2018-03-25 16:26:14.000000000 +0200 +++ rustc-1.25.0-src/src/libunwind/build.rs 2018-03-28 18:27:35.043788864 +0200 @@ -15,9 +15,7 @@ @@ -148,3 +136,14 @@ -#[link(name = "unwind", kind = "static", cfg(target_feature = "crt-static"))] -#[link(name = "gcc_s", cfg(not(target_feature = "crt-static")))] -extern {} +--- rustc-1.27.0-src/src/librustc_target/spec/x86_64_unknown_linux_musl.rs.orig 2018-06-21 01:04:53.727461595 +0200 ++++ rustc-1.27.0-src/src/librustc_target/spec/x86_64_unknown_linux_musl.rs 2018-06-21 01:05:14.786265086 +0200 +@@ -11,7 +11,7 @@ + use spec::{LinkerFlavor, Target, TargetResult}; + + pub fn target() -> TargetResult { +- let mut base = super::linux_musl_base::opts(); ++ let mut base = super::linux_base::opts(); + base.cpu = "x86-64".to_string(); + base.max_atomic_width = Some(64); + base.pre_link_args.get_mut(&LinkerFlavor::Gcc).unwrap().push("-m64".to_string()); diff --git a/srcpkgs/rust/template b/srcpkgs/rust/template index 67dd4179ec4..3b8bfa3e1dd 100644 --- a/srcpkgs/rust/template +++ b/srcpkgs/rust/template @@ -1,8 +1,8 @@ # Template file for 'rust' pkgname=rust -version=1.26.1 +version=1.27.2 revision=1 -_rust_dist_version=1.25.0 +_rust_dist_version=1.26.1 _cargo_dist_version=0.26.0 # NB. if you push any(!) new version, don't forget to put a build # output of musl to https://repo.voidlinux.eu/distfiles/ @@ -19,18 +19,18 @@ maintainer="Enno Boland " homepage="http://www.rust-lang.org/" license="MIT, Apache-2.0" distfiles="https://static.rust-lang.org/dist/rustc-${version}-src.tar.gz" -checksum=70a7961bd8ec43b2c01e9896e90b0a06804a7fbe0a5c05acc7fd6fed19500df0 +checksum=9a818c50cdb7880abeaa68b3d97792711e6c64c1cdfb6efdc23f75b8ced0e15d case "$XBPS_MACHINE" in x86_64-musl) hostmakedepends+=" libcurl libgit2" distfiles+=" - https://repo.voidlinux.eu/distfiles/rustc-${_rust_dist_version}-x86_64-unknown-linux-musl.tar.gz - https://repo.voidlinux.eu/distfiles/rust-std-${_rust_dist_version}-x86_64-unknown-linux-musl.tar.gz + https://repo.voidlinux.eu/distfiles/rustc-${_rust_dist_version}-x86_64-unknown-linux-musl.tar.xz + https://repo.voidlinux.eu/distfiles/rust-std-${_rust_dist_version}-x86_64-unknown-linux-musl.tar.xz https://repo.voidlinux.eu/distfiles/cargo-${_cargo_dist_version}-x86_64-unknown-linux-musl.tar.gz" checksum+=" - f70810658e111e22a48562f3a0e658c6a89427e2dc9f0d01079df7d81c1a5d84 - 3dcb3ce1a0972ab637062f9556f269a00cb2e9f537a1ca02314d5090373795b3 + ecd89cf4b88adf7e13edb439388cbb6709eafdaaec2103aa118dffc445e2c374 + a21106bdb5896db318e928a5ffade540bdd2fc3654f5e0ec0563f9d1762d2fcf 406a348567577cb2859749f1b1e1a843de20e7c1f305de89d3a3760635c4979e" ;; x86_64) @@ -40,8 +40,8 @@ x86_64) https://static.rust-lang.org/dist/rust-std-${_rust_dist_version}-x86_64-unknown-linux-gnu.tar.gz https://static.rust-lang.org/dist/cargo-${_cargo_dist_version}-x86_64-unknown-linux-gnu.tar.xz" checksum+=" - f8f4ae2f4b76416bfa90758267df4280dd078235dfba92dac0431595493443be - a3258308e3a9fe364d63b5d782efb285ab410bdfc01d168c119122ddbc9a02e2 + 45bc1c30e0c473c42889f22b182ec6f0b0fc3be0825e1607c64933592486eb2a + cc7cec9a121a97e8e23c350305a0e4cd4e3b475fd5a36fa6335a585d3c511f0d aeaa5813aa6615dd7fdde6d870ca257c5b2e9da5e308f8242a08b231605bce0e" ;; i686) @@ -51,8 +51,8 @@ i686) https://static.rust-lang.org/dist/rust-std-${_rust_dist_version}-i686-unknown-linux-gnu.tar.gz https://static.rust-lang.org/dist/cargo-${_cargo_dist_version}-i686-unknown-linux-gnu.tar.xz" checksum+=" - 12d056e4e2aecb67f1aed3e045c9c07e9ba7449bc9f39f3d66b5c256fb8c397f - 407318bad891e2e2ca8e35f1be97a4cf70b76e4c7ce8b4e838048bfabea26acb + 86cf7c8e5781330628af8cd794c8965acc95e4a990d7e4555f2f25534677d3f4 + 07be256a2fc95336fb595664c5c494d6e733f0574b145a7f059a786724e814a8 bc5f5aa32d2f4ba26abf79a900231d06eecc7f1f2e125ed51bf71766550d1879" ;; esac