bump(main/rust): 1.73.0
This commit is contained in:
parent
fec4502c52
commit
030e7768f9
|
@ -2,14 +2,17 @@ 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.72.1
|
||||
TERMUX_PKG_REVISION=1
|
||||
TERMUX_PKG_SRCURL=https://static.rust-lang.org/dist/rustc-$TERMUX_PKG_VERSION-src.tar.xz
|
||||
TERMUX_PKG_SHA256=aea58d962ff1c19521b9f587aad88285f0fd35b6b6738b031a7a15bb1b70a7c3
|
||||
TERMUX_PKG_VERSION=1.73.0
|
||||
TERMUX_PKG_SRCURL=https://static.rust-lang.org/dist/rustc-${TERMUX_PKG_VERSION}-src.tar.xz
|
||||
TERMUX_PKG_SHA256=6eaf672dbea2e6596af8c999f5e6924b9af4bb8b02166bfe0b928e68aa75ae62
|
||||
_LLVM_MAJOR_VERSION=$(. $TERMUX_SCRIPTDIR/packages/libllvm/build.sh; echo $LLVM_MAJOR_VERSION)
|
||||
_LLVM_MAJOR_VERSION_NEXT=$((_LLVM_MAJOR_VERSION + 1))
|
||||
TERMUX_PKG_DEPENDS="libc++, clang, openssl, lld, zlib, libllvm (<< $_LLVM_MAJOR_VERSION_NEXT)"
|
||||
TERMUX_PKG_RM_AFTER_INSTALL="bin/llvm-* bin/llc bin/opt"
|
||||
TERMUX_PKG_DEPENDS="clang, libc++, libllvm (<< ${_LLVM_MAJOR_VERSION_NEXT}), lld, openssl, zlib"
|
||||
TERMUX_PKG_RM_AFTER_INSTALL="
|
||||
bin/llc
|
||||
bin/llvm-*
|
||||
bin/opt
|
||||
"
|
||||
|
||||
termux_step_pre_configure() {
|
||||
termux_setup_cmake
|
||||
|
@ -54,7 +57,7 @@ termux_step_pre_configure() {
|
|||
# https://github.com/termux/termux-packages/issues/11427
|
||||
# Fresh build conflict: liblzma -> rust
|
||||
# ld: error: /data/data/com.termux/files/usr/lib/liblzma.a(liblzma_la-common.o) is incompatible with elf64-x86-64
|
||||
mv $TERMUX_PREFIX/lib/liblzma.a $TERMUX_PREFIX/lib/liblzma.a.tmp || true
|
||||
mv "${TERMUX_PREFIX}"/lib/liblzma.a{,.tmp} || :
|
||||
|
||||
# ld: error: undefined symbol: getloadavg
|
||||
# >>> referenced by rand.c
|
||||
|
@ -78,20 +81,20 @@ 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.71.1
|
||||
local BOOTSTRAP_VERSION=1.72.1
|
||||
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
|
||||
local RUSTC=$(command -v rustc)
|
||||
local CARGO=$(command -v cargo)
|
||||
|
||||
sed "s%\\@TERMUX_PREFIX\\@%$TERMUX_PREFIX%g" \
|
||||
$TERMUX_PKG_BUILDER_DIR/config.toml \
|
||||
| sed "s%\\@TERMUX_STANDALONE_TOOLCHAIN\\@%$TERMUX_STANDALONE_TOOLCHAIN%g" \
|
||||
| sed "s%\\@triple\\@%$CARGO_TARGET_NAME%g" \
|
||||
| sed "s%\\@RUSTC\\@%$RUSTC%g" \
|
||||
| sed "s%\\@CARGO\\@%$CARGO%g" \
|
||||
> config.toml
|
||||
sed \
|
||||
-e "s|@TERMUX_PREFIX@|${TERMUX_PREFIX}|g" \
|
||||
-e "s|@TERMUX_STANDALONE_TOOLCHAIN@|${TERMUX_STANDALONE_TOOLCHAIN}|g" \
|
||||
-e "s|@triple@|${CARGO_TARGET_NAME}|g" \
|
||||
-e "s|@RUSTC@|${RUSTC}|g" \
|
||||
-e "s|@CARGO@|${CARGO}|g" \
|
||||
"${TERMUX_PKG_BUILDER_DIR}"/config.toml > config.toml
|
||||
|
||||
local env_host=$(printf $CARGO_TARGET_NAME | tr a-z A-Z | sed s/-/_/g)
|
||||
export ${env_host}_OPENSSL_DIR=$TERMUX_PREFIX
|
||||
|
@ -117,6 +120,9 @@ termux_step_make() {
|
|||
termux_step_make_install() {
|
||||
unset CC CXX CPP LD CFLAGS CXXFLAGS CPPFLAGS LDFLAGS PKG_CONFIG RANLIB
|
||||
|
||||
# remove version suffix: beta, nightly
|
||||
local TERMUX_PKG_VERSION=${TERMUX_PKG_VERSION//~*}
|
||||
|
||||
if [ $TERMUX_ARCH = "x86_64" ]; then
|
||||
mv $TERMUX_PREFIX ${TERMUX_PREFIX}a
|
||||
$TERMUX_PKG_SRCDIR/x.py build --host x86_64-unknown-linux-gnu --stage 1 cargo
|
||||
|
@ -140,7 +146,7 @@ termux_step_make_install() {
|
|||
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
|
||||
mv $TERMUX_PREFIX/lib/liblzma.so.tmp $TERMUX_PREFIX/lib/liblzma.so.$LZMA_VERSION
|
||||
mv $TERMUX_PREFIX/lib/liblzma.a.tmp $TERMUX_PREFIX/lib/liblzma.a || true
|
||||
mv "${TERMUX_PREFIX}"/lib/liblzma.a{.tmp,} || :
|
||||
|
||||
ln -sf rustlib/$CARGO_TARGET_NAME/lib/*.so .
|
||||
ln -sf $TERMUX_PREFIX/bin/lld $TERMUX_PREFIX/bin/rust-lld
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# See documentation at
|
||||
# https://github.com/rust-lang/rust/blob/master/config.toml.example
|
||||
# https://github.com/rust-lang/rust/blob/master/config.example.toml
|
||||
|
||||
[llvm]
|
||||
link-shared = true
|
||||
|
@ -10,7 +10,7 @@ target = ["@triple@", "wasm32-unknown-unknown"]
|
|||
rustc = "@RUSTC@"
|
||||
cargo = "@CARGO@"
|
||||
|
||||
python = "python2.7"
|
||||
python = "python3"
|
||||
extended = true
|
||||
sanitizers = false
|
||||
|
||||
|
@ -30,7 +30,7 @@ channel = "stable"
|
|||
rpath = false
|
||||
|
||||
[target.x86_64-unknown-linux-gnu]
|
||||
llvm-config = "/usr/bin/llvm-config-14"
|
||||
llvm-config = "/usr/bin/llvm-config-15"
|
||||
|
||||
[target.@triple@]
|
||||
android-ndk = "@TERMUX_STANDALONE_TOOLCHAIN@"
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
TERMUX_SUBPKG_DESCRIPTION="developer compiler libs"
|
||||
INCLUDED=$(sed 's/^.....//' $TERMUX_PKG_BUILDDIR/rustc-dev-$TERMUX_PKG_VERSION-$CARGO_TARGET_NAME/rustc-dev/manifest.in | grep -v '\.so$' )
|
||||
TERMUX_SUBPKG_INCLUDE="$INCLUDED"
|
||||
TERMUX_SUBPKG_DESCRIPTION="Rust development compiler libs"
|
||||
_VERSION=${TERMUX_PKG_VERSION//~*}
|
||||
_INCLUDED=$(sed 's/^.....//' "${TERMUX_PKG_BUILDDIR}/rustc-dev-${_VERSION}-${CARGO_TARGET_NAME}/rustc-dev/manifest.in" | grep -v '\.so$')
|
||||
TERMUX_SUBPKG_INCLUDE="${_INCLUDED}"
|
||||
|
|
|
@ -1,46 +1,58 @@
|
|||
# shellcheck shell=bash disable=SC1091 disable=SC2086 disable=SC2155
|
||||
termux_setup_rust() {
|
||||
if [ $TERMUX_ARCH = "arm" ]; then
|
||||
CARGO_TARGET_NAME=armv7-linux-androideabi
|
||||
else
|
||||
CARGO_TARGET_NAME=$TERMUX_ARCH-linux-android
|
||||
export CARGO_TARGET_NAME="${TERMUX_ARCH}-linux-android"
|
||||
if [[ "${TERMUX_ARCH}" == "arm" ]]; then
|
||||
CARGO_TARGET_NAME="armv7-linux-androideabi"
|
||||
fi
|
||||
|
||||
if [ "$TERMUX_ON_DEVICE_BUILD" = "true" ]; then
|
||||
if [[ "$TERMUX_APP_PACKAGE_MANAGER" = "apt" && "$(dpkg-query -W -f '${db:Status-Status}\n' rust 2>/dev/null)" != "installed" ]] ||
|
||||
[[ "$TERMUX_APP_PACKAGE_MANAGER" = "pacman" && ! "$(pacman -Q rust 2>/dev/null)" ]]; then
|
||||
echo "Package 'rust' is not installed."
|
||||
echo "You can install it with"
|
||||
echo
|
||||
echo " pkg install rust"
|
||||
echo
|
||||
echo " pacman -S rust"
|
||||
echo
|
||||
echo "or build it from source with"
|
||||
echo
|
||||
echo " ./build-package.sh rust"
|
||||
echo
|
||||
echo "Note that package 'rust' is known to be problematic for building on device."
|
||||
if [[ "${TERMUX_ON_DEVICE_BUILD}" == "true" ]]; then
|
||||
if [[ -z "$(command -v rustc)" ]]; then
|
||||
cat <<- EOL
|
||||
Package 'rust' is not installed.
|
||||
You can install it with
|
||||
|
||||
pkg install rust
|
||||
|
||||
pacman -S rust
|
||||
|
||||
or build it from source with
|
||||
|
||||
./build-package.sh rust
|
||||
|
||||
Note that package 'rust' is known to be problematic for building on device.
|
||||
EOL
|
||||
exit 1
|
||||
fi
|
||||
local RUSTC_VERSION=$(rustc --version | awk '{ print $2 }')
|
||||
if [[ -n "${TERMUX_RUST_VERSION-}" && "${TERMUX_RUST_VERSION-}" != "${RUSTC_VERSION}" ]]; then
|
||||
cat <<- EOL >&2
|
||||
WARN: On device build with old rust version is not possible!
|
||||
TERMUX_RUST_VERSION = ${TERMUX_RUST_VERSION}
|
||||
RUSTC_VERSION = ${RUSTC_VERSION}
|
||||
EOL
|
||||
fi
|
||||
return
|
||||
fi
|
||||
|
||||
local ENV_NAME=CARGO_TARGET_${CARGO_TARGET_NAME^^}_LINKER
|
||||
ENV_NAME=${ENV_NAME//-/_}
|
||||
export $ENV_NAME=$CC
|
||||
export TARGET_CFLAGS="${CFLAGS-} $CPPFLAGS"
|
||||
export $ENV_NAME="${CC}"
|
||||
export TARGET_CFLAGS="${CFLAGS-} ${CPPFLAGS}"
|
||||
# This was getting applied for the host build of Rust macros or whatever, so
|
||||
# unset it.
|
||||
unset CFLAGS
|
||||
|
||||
curl https://sh.rustup.rs -sSf > $TERMUX_PKG_TMPDIR/rustup.sh
|
||||
|
||||
if [ -z "${TERMUX_RUST_VERSION-}" ]; then
|
||||
TERMUX_RUST_VERSION=$(bash -c ". $TERMUX_SCRIPTDIR/packages/rust/build.sh; echo \$TERMUX_PKG_VERSION")
|
||||
if [[ -z "${TERMUX_RUST_VERSION-}" ]]; then
|
||||
TERMUX_RUST_VERSION=$(. "${TERMUX_SCRIPTDIR}"/packages/rust/build.sh; echo ${TERMUX_PKG_VERSION})
|
||||
fi
|
||||
if [[ "${TERMUX_RUST_VERSION}" == *"~beta"* ]]; then
|
||||
TERMUX_RUST_VERSION="beta"
|
||||
fi
|
||||
|
||||
sh $TERMUX_PKG_TMPDIR/rustup.sh -y --default-toolchain $TERMUX_RUST_VERSION
|
||||
export PATH=$HOME/.cargo/bin:$PATH
|
||||
curl https://sh.rustup.rs -sSf > "${TERMUX_PKG_TMPDIR}"/rustup.sh
|
||||
sh "${TERMUX_PKG_TMPDIR}"/rustup.sh -y --default-toolchain "${TERMUX_RUST_VERSION}"
|
||||
|
||||
rustup target add $CARGO_TARGET_NAME
|
||||
export PATH="${HOME}/.cargo/bin:${PATH}"
|
||||
|
||||
rustup target add "${CARGO_TARGET_NAME}"
|
||||
}
|
||||
|
|
|
@ -148,9 +148,9 @@ PACKAGES+=" composer"
|
|||
|
||||
# Needed by package rust.
|
||||
PACKAGES+=" libssl-dev" # Needed to build Rust
|
||||
PACKAGES+=" llvm-14-dev"
|
||||
PACKAGES+=" llvm-14-tools"
|
||||
PACKAGES+=" clang-14"
|
||||
PACKAGES+=" llvm-15-dev"
|
||||
PACKAGES+=" llvm-15-tools"
|
||||
PACKAGES+=" clang-15"
|
||||
|
||||
# Needed for package smalltalk.
|
||||
PACKAGES+=" libsigsegv-dev"
|
||||
|
|
Loading…
Reference in New Issue