2018-10-21 02:05:12 +02:00
|
|
|
TERMUX_PKG_HOMEPAGE=https://www.rust-lang.org/
|
|
|
|
TERMUX_PKG_DESCRIPTION="Systems programming language focused on safety, speed and concurrency"
|
2018-10-30 22:17:57 +01:00
|
|
|
TERMUX_PKG_MAINTAINER="Kevin Cotugno @kcotugno"
|
2018-12-10 01:18:07 +01:00
|
|
|
TERMUX_PKG_VERSION=1.31.0
|
|
|
|
TERMUX_PKG_SHA256=9581c5673937f8b1c3c21060ef7c1fcd3e5574a0fc0b27e1888cb37c4b2ec393
|
2018-11-30 22:46:37 +01:00
|
|
|
TERMUX_PKG_SRCURL=https://static.rust-lang.org/dist/rustc-$TERMUX_PKG_VERSION-src.tar.xz
|
|
|
|
TERMUX_PKG_DEPENDS="clang, openssl, lld"
|
2018-10-21 02:05:12 +02:00
|
|
|
|
|
|
|
termux_step_configure () {
|
|
|
|
termux_setup_cmake
|
2018-11-30 22:46:37 +01:00
|
|
|
termux_setup_rust
|
2018-12-10 01:18:07 +01:00
|
|
|
|
2018-11-30 22:46:37 +01:00
|
|
|
# it breaks building rust tools without doing this because it tries to find
|
2018-12-10 01:18:07 +01:00
|
|
|
# ../lib from bin location:
|
2018-11-30 22:46:37 +01:00
|
|
|
export PATH=$HOME/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin:$PATH
|
|
|
|
|
|
|
|
local RUSTC=$(which rustc)
|
2018-12-10 01:18:07 +01:00
|
|
|
local CARGO=$(which cargo)
|
2018-10-21 02:05:12 +02:00
|
|
|
|
|
|
|
sed "s%\\@TERMUX_PREFIX\\@%$TERMUX_PREFIX%g" \
|
|
|
|
$TERMUX_PKG_BUILDER_DIR/config.toml \
|
|
|
|
| sed "s%\\@TERMUX_STANDALONE_TOOLCHAIN\\@%$TERMUX_STANDALONE_TOOLCHAIN%g" \
|
2018-11-30 22:46:37 +01:00
|
|
|
| sed "s%\\@triple\\@%$CARGO_TARGET_NAME%g" \
|
|
|
|
| sed "s%\\@RUSTC\\@%$RUSTC%g" \
|
2018-12-10 01:18:07 +01:00
|
|
|
| sed "s%\\@CARGO\\@%$CARGO%g" \
|
2018-10-21 02:05:12 +02:00
|
|
|
> config.toml
|
|
|
|
|
2018-11-30 22:46:37 +01:00
|
|
|
local env_host=`printf $CARGO_TARGET_NAME | tr a-z A-Z | sed s/-/_/g`
|
2018-10-30 16:19:19 +01:00
|
|
|
|
2018-10-21 02:05:12 +02:00
|
|
|
export LD_LIBRARY_PATH=$TERMUX_PKG_BUILDDIR/build/x86_64-unknown-linux-gnu/llvm/lib
|
2018-10-30 16:19:19 +01:00
|
|
|
export ${env_host}_OPENSSL_DIR=$TERMUX_PREFIX
|
|
|
|
export X86_64_UNKNOWN_LINUX_GNU_OPENSSL_LIB_DIR=/usr/lib/x86_64-linux-gnu
|
|
|
|
export X86_64_UNKNOWN_LINUX_GNU_OPENSSL_INCLUDE_DIR=/usr/include
|
2018-12-10 01:18:07 +01:00
|
|
|
|
2018-11-30 22:46:37 +01:00
|
|
|
unset CC CXX CPP LD CFLAGS CXXFLAGS CPPFLAGS LDFLAGS PKG_CONFIG
|
2018-10-21 02:05:12 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
termux_step_make () {
|
2018-12-10 01:18:07 +01:00
|
|
|
$TERMUX_PKG_SRCDIR/x.py dist \
|
|
|
|
--host $CARGO_TARGET_NAME \
|
|
|
|
--target $CARGO_TARGET_NAME \
|
|
|
|
--target wasm32-unknown-unknown
|
2018-10-21 02:05:12 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
termux_step_make_install () {
|
2018-10-30 16:19:19 +01:00
|
|
|
local host_files_to_remove="$TERMUX_PREFIX/lib/rustlib/x86_64-unknown-linux-gnu \
|
|
|
|
$TERMUX_PREFIX/lib/rustlib/manifest-rust-analysis-x86_64-unknown-linux-gnu \
|
|
|
|
$TERMUX_PREFIX/lib/rustlib/manifest-rust-std-x86_64-unknown-linux-gnu"
|
|
|
|
|
2018-12-10 01:18:07 +01:00
|
|
|
$TERMUX_PKG_SRCDIR/x.py install \
|
|
|
|
--host $CARGO_TARGET_NAME \
|
|
|
|
--target $CARGO_TARGET_NAME \
|
|
|
|
--target wasm32-unknown-unknown && \
|
|
|
|
rm -rf $host_files_to_remove
|
|
|
|
|
2018-11-30 22:46:37 +01:00
|
|
|
cd "$TERMUX_PREFIX/lib"
|
2018-12-10 01:18:07 +01:00
|
|
|
ln -sf rustlib/$CARGO_TARGET_NAME/lib/*.so .
|
2018-11-30 22:46:37 +01:00
|
|
|
ln -sf $TERMUX_PREFIX/bin/lld $TERMUX_PREFIX/bin/rust-lld
|
2018-10-21 02:05:12 +02:00
|
|
|
}
|