diff --git a/packages/rust/build.sh b/packages/rust/build.sh index 621614ec1a..d30a6db12a 100644 --- a/packages/rust/build.sh +++ b/packages/rust/build.sh @@ -2,10 +2,9 @@ TERMUX_PKG_HOMEPAGE=https://www.rust-lang.org/ TERMUX_PKG_DESCRIPTION="Systems programming language focused on safety, speed and concurrency" TERMUX_PKG_LICENSE="MIT" TERMUX_PKG_MAINTAINER="@termux" -TERMUX_PKG_VERSION=1.55.0 -TERMUX_PKG_REVISION=1 +TERMUX_PKG_VERSION=1.56.0 TERMUX_PKG_SRCURL=https://static.rust-lang.org/dist/rustc-$TERMUX_PKG_VERSION-src.tar.xz -TERMUX_PKG_SHA256=aec85a7c1f40b7a40818a58ae13632f8a12cfaa4d3e2a10957d0e9d16dfdd556 +TERMUX_PKG_SHA256=f13468889833c88e744ad579c5d8fbb7ecb53216159b54481a90e5dcdaa9e320 TERMUX_PKG_DEPENDS="libc++, clang, openssl, lld, zlib, libllvm" TERMUX_PKG_RM_AFTER_INSTALL="bin/llvm-dwp" @@ -20,7 +19,7 @@ termux_step_configure() { # like 30 to 40 + minutes ... so lets get it right # upstream only tests build ver one version behind $TERMUX_PKG_VERSION - local BOOTSTRAP_VERSION=1.54.0 + local BOOTSTRAP_VERSION=1.55.0 rustup install $BOOTSTRAP_VERSION rustup default $BOOTSTRAP_VERSION-x86_64-unknown-linux-gnu export PATH=$HOME/.rustup/toolchains/$BOOTSTRAP_VERSION-x86_64-unknown-linux-gnu/bin:$PATH @@ -48,14 +47,11 @@ termux_step_configure() { # we can't use -L$PREFIX/lib since it breaks things but we need to link against libLLVM-9.so ln -sf $PREFIX/lib/libLLVM-$LLVM_VERSION.so $TERMUX_STANDALONE_TOOLCHAIN/sysroot/usr/lib/$TERMUX_HOST_PLATFORM/$TERMUX_PKG_API_LEVEL/ - # rust checks libs in PREFIX/lib because both host and target are x86_64. It then can't find libc.so and libdl.so because rust program doesn't + # rust checks libs in PREFIX/lib. It then can't find libc.so and libdl.so because rust program doesn't # know where those are. Putting them temporarly in $PREFIX/lib prevents that failure - - if [ $TERMUX_ARCH = "x86_64" ]; then - mv $TERMUX_PREFIX/lib/libtinfo.so.6 $TERMUX_PREFIX/lib/libtinfo.so.6.tmp - mv $TERMUX_PREFIX/lib/libz.so.1 $TERMUX_PREFIX/lib/libz.so.1.tmp - mv $TERMUX_PREFIX/lib/libz.so $TERMUX_PREFIX/lib/libz.so.tmp - fi + mv $TERMUX_PREFIX/lib/libtinfo.so.6 $TERMUX_PREFIX/lib/libtinfo.so.6.tmp + mv $TERMUX_PREFIX/lib/libz.so.1 $TERMUX_PREFIX/lib/libz.so.1.tmp + mv $TERMUX_PREFIX/lib/libz.so $TERMUX_PREFIX/lib/libz.so.tmp } termux_step_make() { @@ -78,11 +74,9 @@ termux_step_make_install() { cd "$TERMUX_PREFIX/lib" rm -f libc.so libdl.so - if [ $TERMUX_ARCH = "x86_64" ]; then - mv $TERMUX_PREFIX/lib/libtinfo.so.6.tmp $TERMUX_PREFIX/lib/libtinfo.so.6 - mv $TERMUX_PREFIX/lib/libz.so.1.tmp $TERMUX_PREFIX/lib/libz.so.1 - mv $TERMUX_PREFIX/lib/libz.so.tmp $TERMUX_PREFIX/lib/libz.so - fi + mv $TERMUX_PREFIX/lib/libtinfo.so.6.tmp $TERMUX_PREFIX/lib/libtinfo.so.6 + mv $TERMUX_PREFIX/lib/libz.so.1.tmp $TERMUX_PREFIX/lib/libz.so.1 + mv $TERMUX_PREFIX/lib/libz.so.tmp $TERMUX_PREFIX/lib/libz.so ln -sf rustlib/$CARGO_TARGET_NAME/lib/*.so . ln -sf $TERMUX_PREFIX/bin/lld $TERMUX_PREFIX/bin/rust-lld @@ -98,10 +92,8 @@ termux_step_make_install() { } termux_step_post_massage() { - if [ $TERMUX_ARCH = "x86_64" ]; then - rm -f lib/libtinfo.so.6 - rm -f lib/libz.so - rm -f lib/libz.so.1 - fi + rm -f lib/libtinfo.so.6 + rm -f lib/libz.so + rm -f lib/libz.so.1 } diff --git a/packages/rust/compiler-rustc_driver-src-lib.rs.patch b/packages/rust/compiler-rustc_driver-src-lib.rs.patch new file mode 100644 index 0000000000..620fd87e89 --- /dev/null +++ b/packages/rust/compiler-rustc_driver-src-lib.rs.patch @@ -0,0 +1,20 @@ +--- ./compiler/rustc_driver/src/lib.rs 2021-10-24 13:20:05.833987999 +0530 ++++ ./compiler/rustc_driver/src/lib.rs.mod 2021-10-24 13:21:43.523987961 +0530 +@@ -1296,7 +1296,7 @@ + tracing::subscriber::set_global_default(subscriber).unwrap(); + } + +-#[cfg(all(unix, any(target_env = "gnu", target_os = "macos")))] ++#[cfg(all(unix, any(target_env = "gnu", target_os = "macos"), not(target_os = "android")))] + mod signal_handler { + extern "C" { + fn backtrace_symbols_fd( +@@ -1340,7 +1340,7 @@ + } + } + +-#[cfg(not(all(unix, any(target_env = "gnu", target_os = "macos"))))] ++#[cfg(not(all(unix, any(target_env = "gnu", target_os = "macos"), not(target_os = "android"))))] + mod signal_handler { + pub(super) fn install() {} + }