diff --git a/srcpkgs/rust/patches/libunwind.patch b/srcpkgs/rust/patches/libunwind.patch index 171c3a70f2d..df7c989caf4 100644 --- a/srcpkgs/rust/patches/libunwind.patch +++ b/srcpkgs/rust/patches/libunwind.patch @@ -48,7 +48,7 @@ https://github.com/void-linux/void-packages/issues/3605 - // fall back to the system toolchain in /usr before giving up - if build.musl_root(*target).is_none() && build.config.build == *target { - let target = build.config.target_config.entry(target.clone()) -- .or_insert(Default::default()); +- .or_default(); - target.musl_root = Some("/usr".into()); - } - match build.musl_root(*target) { @@ -73,3 +73,4 @@ https://github.com/void-linux/void-packages/issues/3605 if target.contains("msvc") { // There are three builds of cmake on windows: MSVC, MinGW, and // Cygwin. The Cygwin build does not have generators for Visual + diff --git a/srcpkgs/rust/patches/link-musl-dynamically.patch b/srcpkgs/rust/patches/link-musl-dynamically.patch index 4f555e90e3b..417c2fae04f 100644 --- a/srcpkgs/rust/patches/link-musl-dynamically.patch +++ b/srcpkgs/rust/patches/link-musl-dynamically.patch @@ -14,7 +14,7 @@ builder.ensure(StdLink { compiler: from, target_compiler: compiler, -@@ -93,11 +86,6 @@ impl Step for Std { +@@ -101,11 +94,6 @@ return; } @@ -23,9 +23,9 @@ - copy_musl_third_party_objects(builder, target, &libdir); - } - - let out_dir = builder.cargo_out(compiler, Mode::Std, target); - builder.clear_if_dirty(&out_dir, &builder.rustc(compiler)); let mut cargo = builder.cargo(compiler, Mode::Std, target, "build"); + std_cargo(builder, &compiler, target, &mut cargo); + @@ -119,20 +107,6 @@ impl Step for Std { } } diff --git a/srcpkgs/rust/template b/srcpkgs/rust/template index cf292d38955..fb0b50c5e3c 100644 --- a/srcpkgs/rust/template +++ b/srcpkgs/rust/template @@ -1,9 +1,9 @@ # Template file for 'rust' pkgname=rust -version=1.29.2 +version=1.30.0 revision=1 -_rust_dist_version=1.28.0 -_cargo_dist_version=0.30.0 +_rust_dist_version=1.29.2 +_cargo_dist_version=0.31.0 # NB. if you push any(!) new version, don't forget to put a build # output of musl to https://alpha.de.repo.voidlinux.org/distfiles/ wrksrc="rustc-${version}-src" @@ -19,9 +19,10 @@ maintainer="Enno Boland " homepage="https://www.rust-lang.org/" license="MIT, Apache-2.0" distfiles="https://static.rust-lang.org/dist/rustc-${version}-src.tar.gz" -checksum=5088e796aa2e47478cdf41e7243fc5443fafab0a7c70a11423e57c80c04167c9 +checksum=cd0ba83fcca55b64c0c9f23130fe731dfc1882b73ae21bef96be8f2362c108ee if [ "$CROSS_BUILD" ]; then + broken="build native compilers first" hostmakedepends+=" cargo llvm" # These are required for building the buildhost's stage0/1 @@ -36,9 +37,9 @@ else https://alpha.de.repo.voidlinux.org/distfiles/rust-std-${_rust_dist_version}-x86_64-unknown-linux-musl.tar.xz https://alpha.de.repo.voidlinux.org/distfiles/cargo-${_cargo_dist_version}-x86_64-unknown-linux-musl.tar.gz" checksum+=" - 1c54d595b0a1f3e283e453ff142800b3fdfb20dc2e45ceb71317693d2a278362 - 17d52f198877228788f012acf7b3ccbcbf9240553d42502b6816a3431806d9e1 - e9344cbf3db669383cb3492d12bcd42d9130665f577be9ad4d2028011c7b1fae" + 9550baae3d2848a881b9e42b4dd8d798615271843bc56ae1f34cdf5f946daae2 + ded98b3ba0938715c1fe02812628bc0239c07109248f8d73889af9e8866fd776 + 0275dfc26dc8a47a7675a4bc13ceba38707197a6a3e5f0f313c7acdb574cdc57" ;; x86_64) # extract from src/stage0.txt @@ -47,9 +48,9 @@ else 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+=" - 008bb3d714544bc991594b29a98a154441914c4771007130361bbadfb54143d0 - c5aed4c7ef362b5754526d26acaccdc9300942fd12e5cc67cc56fc89576a9dab - cb7c63c166baa42ab0be08429e29fa59fc7108efd17ca512462b2645b1655a7f" + b04146b09edc4bad0de7c8fa1a5a2aa4416d365c03c5962b8a5b26c7047b7cc9 + 1fe9a0f354256483a354ee1b51c60bf9f3f48868581f7cb36d0cc51a82400605 + 391518dab2831a90851158cbace4362fb85ad909483ed08dad0c8a11bbe6bee8" ;; i686) # extract from src/stage0.txt @@ -58,9 +59,9 @@ else 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+=" - 30fa399934c90024275a08aa8992e76e98e04f152fc65b8aad3ca1fe231db39e - fbf71c10787fa1cd4fbde0a1ef6805fa4978705c809959f48917bb7c5b5b6d61 - 43a5754d13fa0436b33c48b1f562b4198d6930efad3dc36284b88289ff20d74d" + 9309858b2f6f194c5a440ca163782b45b7f9f11351c2e0e1745dfdf2416aba40 + d2958af5d99f1d0bd2751afe7eebce7dab24da6794be3096e1c45e98c7be7f40 + 800a5d9f8784231541e1a31612568951e9b3607f07fa11c728fb288aeafba000" ;; esac fi @@ -73,20 +74,6 @@ case $XBPS_MACHINE in *) _build_triplet=${XBPS_MACHINE}-unknown-linux-gnu;; esac -# Use the targets from `rustc --print target-list` here! -case $XBPS_TARGET_MACHINE in - i686) _host_triplet=i686-unknown-linux-gnu;; - x86_64) _host_triplet=x86_64-unknown-linux-gnu;; - x86_64-musl) _host_triplet=x86_64-unknown-linux-musl;; - armv6l) _host_triplet=arm-unknown-linux-gnueabihf;; - armv6l-musl) _host_triplet=arm-unknown-linux-musleabihf;; - armv7l) _host_triplet=armv7-unknown-linux-gnueabihf;; - armv7l-musl) _host_triplet=armv7-unknown-linux-musleabihf;; - aarch64) _host_triplet=aarch64-unknown-linux-gnu;; - aarch64-musl) _host_triplet=aarch64-unknown-linux-musl;; - *) broken="Please add your triplet to the rust template!";; -esac - post_extract() { rm -rf src/llvm @@ -111,8 +98,8 @@ do_configure() { configure_args=" --prefix=/usr - --host=${_host_triplet} - --target=${_host_triplet} + --host=${RUST_TARGET} + --target=${RUST_TARGET} --build=${_build_triplet} --disable-full-bootstrap --release-channel=stable @@ -145,14 +132,14 @@ do_configure() { # Set 'llvm-config' for the cross target (host) so that we don't build # LLVM for it again. configure_args+=" - --set=target.${_host_triplet}.llvm-config="/usr/bin/llvm-config" + --set=target.${RUST_TARGET}.llvm-config="/usr/bin/llvm-config" " else configure_args+=" --local-rust-root=$wrksrc/stage0" fi case "$XBPS_TARGET_MACHINE" in *-musl) - configure_args+=" --set=target.${_host_triplet}.musl-root=/usr" + configure_args+=" --set=target.${RUST_TARGET}.musl-root=/usr" ;; esac @@ -178,8 +165,8 @@ do_build() { do_install() { vmkdir usr - tar xf build/dist/rustc-${version}-${_host_triplet}.tar.gz -C "$DESTDIR/usr" --strip-components=2 --exclude=manifest.in - tar xf build/dist/rust-std-${version}-${_host_triplet}.tar.gz -C "$DESTDIR/usr/lib" --strip-components=3 --exclude=manifest.in + tar xf build/dist/rustc-${version}-${RUST_TARGET}.tar.gz -C "$DESTDIR/usr" --strip-components=2 --exclude=manifest.in + tar xf build/dist/rust-std-${version}-${RUST_TARGET}.tar.gz -C "$DESTDIR/usr/lib" --strip-components=3 --exclude=manifest.in vlicense COPYRIGHT vlicense LICENSE-APACHE