enhance(main/rust): refactor package (#18735)
* add rust-demangler * drop deprecated rls * drop unnecessary x86_64-unknown-linux-gnu stage 1 build * force CI only pack tar.gz instead of both tar.gz and tar.xz * further split subpackages into rust-std-* * add subpackages rust-src, rustc-src * add TERMUX_PKG_{BREAKS,REPLACES} on rust subpackages
This commit is contained in:
parent
54925b8247
commit
efc0a1cf29
|
@ -3,6 +3,7 @@ TERMUX_PKG_DESCRIPTION="Systems programming language focused on safety, speed an
|
||||||
TERMUX_PKG_LICENSE="MIT"
|
TERMUX_PKG_LICENSE="MIT"
|
||||||
TERMUX_PKG_MAINTAINER="@termux"
|
TERMUX_PKG_MAINTAINER="@termux"
|
||||||
TERMUX_PKG_VERSION="1.74.1"
|
TERMUX_PKG_VERSION="1.74.1"
|
||||||
|
TERMUX_PKG_REVISION=1
|
||||||
TERMUX_PKG_SRCURL=https://static.rust-lang.org/dist/rustc-${TERMUX_PKG_VERSION}-src.tar.xz
|
TERMUX_PKG_SRCURL=https://static.rust-lang.org/dist/rustc-${TERMUX_PKG_VERSION}-src.tar.xz
|
||||||
TERMUX_PKG_SHA256=b98c09d968529212fb29eec7d6d3e9bdaa869810679b7fb86a1ca69469d75f5e
|
TERMUX_PKG_SHA256=b98c09d968529212fb29eec7d6d3e9bdaa869810679b7fb86a1ca69469d75f5e
|
||||||
_LLVM_MAJOR_VERSION=$(. $TERMUX_SCRIPTDIR/packages/libllvm/build.sh; echo $LLVM_MAJOR_VERSION)
|
_LLVM_MAJOR_VERSION=$(. $TERMUX_SCRIPTDIR/packages/libllvm/build.sh; echo $LLVM_MAJOR_VERSION)
|
||||||
|
@ -21,6 +22,8 @@ termux_step_pre_configure() {
|
||||||
termux_setup_cmake
|
termux_setup_cmake
|
||||||
termux_setup_rust
|
termux_setup_rust
|
||||||
|
|
||||||
|
TERMUX_PKG_RECOMMENDS="rust-std-${CARGO_TARGET_NAME/_/-}"
|
||||||
|
|
||||||
local p="$TERMUX_PKG_BUILDER_DIR/src-bootstrap-cc_detect.rs.diff"
|
local p="$TERMUX_PKG_BUILDER_DIR/src-bootstrap-cc_detect.rs.diff"
|
||||||
echo "Applying $(basename "${p}")"
|
echo "Applying $(basename "${p}")"
|
||||||
sed 's|@TERMUX_PKG_API_LEVEL@|'"${TERMUX_PKG_API_LEVEL}"'|g' "${p}" \
|
sed 's|@TERMUX_PKG_API_LEVEL@|'"${TERMUX_PKG_API_LEVEL}"'|g' "${p}" \
|
||||||
|
@ -33,8 +36,9 @@ termux_step_pre_configure() {
|
||||||
export LZMA_VERSION=$(. $TERMUX_SCRIPTDIR/packages/liblzma/build.sh; echo $TERMUX_PKG_VERSION)
|
export LZMA_VERSION=$(. $TERMUX_SCRIPTDIR/packages/liblzma/build.sh; echo $TERMUX_PKG_VERSION)
|
||||||
|
|
||||||
# we can't use -L$PREFIX/lib since it breaks things but we need to link against libLLVM-9.so
|
# 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 $RUST_LIBDIR
|
ln -fst "${RUST_LIBDIR}" \
|
||||||
ln -sf $PREFIX/lib/libLLVM-$LLVM_VERSION.so $RUST_LIBDIR
|
${TERMUX_PREFIX}/lib/libLLVM-${LLVM_VERSION/.*/}.so \
|
||||||
|
${TERMUX_PREFIX}/lib/libLLVM-${LLVM_VERSION}.so
|
||||||
|
|
||||||
# rust tries to find static library 'c++_shared'
|
# rust tries to find static library 'c++_shared'
|
||||||
ln -sf $TERMUX_STANDALONE_TOOLCHAIN/sysroot/usr/lib/$TERMUX_HOST_PLATFORM/libc++_static.a \
|
ln -sf $TERMUX_STANDALONE_TOOLCHAIN/sysroot/usr/lib/$TERMUX_HOST_PLATFORM/libc++_static.a \
|
||||||
|
@ -42,8 +46,7 @@ termux_step_pre_configure() {
|
||||||
|
|
||||||
# https://github.com/termux/termux-packages/issues/18379
|
# https://github.com/termux/termux-packages/issues/18379
|
||||||
# NDK r26 multiple ld.lld: error: undefined symbol: __cxa_*
|
# NDK r26 multiple ld.lld: error: undefined symbol: __cxa_*
|
||||||
ln -fst "${RUST_LIBDIR}" \
|
ln -fst "${RUST_LIBDIR}" "${TERMUX_PREFIX}"/lib/libc++_shared.so
|
||||||
"${TERMUX_STANDALONE_TOOLCHAIN}/sysroot/usr/lib/${TERMUX_HOST_PLATFORM}/libc++_shared.so"
|
|
||||||
|
|
||||||
# https://github.com/termux/termux-packages/issues/11640
|
# https://github.com/termux/termux-packages/issues/11640
|
||||||
# https://github.com/termux/termux-packages/issues/11658
|
# https://github.com/termux/termux-packages/issues/11658
|
||||||
|
@ -69,9 +72,6 @@ termux_step_pre_configure() {
|
||||||
}
|
}
|
||||||
|
|
||||||
termux_step_configure() {
|
termux_step_configure() {
|
||||||
termux_setup_cmake
|
|
||||||
termux_setup_rust
|
|
||||||
|
|
||||||
# it breaks building rust tools without doing this because it tries to find
|
# it breaks building rust tools without doing this because it tries to find
|
||||||
# ../lib from bin location:
|
# ../lib from bin location:
|
||||||
# this is about to get ugly but i have to make sure a rustc in a proper bin lib
|
# this is about to get ugly but i have to make sure a rustc in a proper bin lib
|
||||||
|
@ -89,7 +89,7 @@ termux_step_configure() {
|
||||||
sed \
|
sed \
|
||||||
-e "s|@TERMUX_PREFIX@|${TERMUX_PREFIX}|g" \
|
-e "s|@TERMUX_PREFIX@|${TERMUX_PREFIX}|g" \
|
||||||
-e "s|@TERMUX_STANDALONE_TOOLCHAIN@|${TERMUX_STANDALONE_TOOLCHAIN}|g" \
|
-e "s|@TERMUX_STANDALONE_TOOLCHAIN@|${TERMUX_STANDALONE_TOOLCHAIN}|g" \
|
||||||
-e "s|@triple@|${CARGO_TARGET_NAME}|g" \
|
-e "s|@CARGO_TARGET_NAME@|${CARGO_TARGET_NAME}|g" \
|
||||||
-e "s|@RUSTC@|${RUSTC}|g" \
|
-e "s|@RUSTC@|${RUSTC}|g" \
|
||||||
-e "s|@CARGO@|${CARGO}|g" \
|
-e "s|@CARGO@|${CARGO}|g" \
|
||||||
"${TERMUX_PKG_BUILDER_DIR}"/config.toml > config.toml
|
"${TERMUX_PKG_BUILDER_DIR}"/config.toml > config.toml
|
||||||
|
@ -126,22 +126,20 @@ termux_step_make_install() {
|
||||||
# remove version suffix: beta, nightly
|
# remove version suffix: beta, nightly
|
||||||
local TERMUX_PKG_VERSION=${TERMUX_PKG_VERSION//~*}
|
local TERMUX_PKG_VERSION=${TERMUX_PKG_VERSION//~*}
|
||||||
|
|
||||||
if [ $TERMUX_ARCH = "x86_64" ]; then
|
$TERMUX_PKG_SRCDIR/x.py install --stage 1 --target aarch64-linux-android
|
||||||
mv $TERMUX_PREFIX ${TERMUX_PREFIX}a
|
$TERMUX_PKG_SRCDIR/x.py install --stage 1 --target armv7-linux-androideabi
|
||||||
$TERMUX_PKG_SRCDIR/x.py build --host x86_64-unknown-linux-gnu --stage 1 cargo
|
$TERMUX_PKG_SRCDIR/x.py install --stage 1 --target i686-linux-android
|
||||||
$TERMUX_PKG_SRCDIR/x.py build --host x86_64-unknown-linux-gnu --stage 1 rls
|
$TERMUX_PKG_SRCDIR/x.py install --stage 1 --target x86_64-linux-android
|
||||||
$TERMUX_PKG_SRCDIR/x.py build --host x86_64-unknown-linux-gnu --stage 1 rustfmt
|
|
||||||
$TERMUX_PKG_SRCDIR/x.py build --host x86_64-unknown-linux-gnu --stage 1 rustdoc
|
|
||||||
$TERMUX_PKG_SRCDIR/x.py build --host x86_64-unknown-linux-gnu --stage 1 error_index_generator
|
|
||||||
mv ${TERMUX_PREFIX}a ${TERMUX_PREFIX}
|
|
||||||
fi
|
|
||||||
|
|
||||||
$TERMUX_PKG_SRCDIR/x.py install --stage 1 --host $CARGO_TARGET_NAME --target $CARGO_TARGET_NAME
|
|
||||||
$TERMUX_PKG_SRCDIR/x.py install --stage 1 std --target wasm32-unknown-unknown
|
$TERMUX_PKG_SRCDIR/x.py install --stage 1 std --target wasm32-unknown-unknown
|
||||||
$TERMUX_PKG_SRCDIR/x.py install --stage 1 std --target wasm32-wasi
|
$TERMUX_PKG_SRCDIR/x.py install --stage 1 std --target wasm32-wasi
|
||||||
$TERMUX_PKG_SRCDIR/x.py dist rustc-dev --host $CARGO_TARGET_NAME --target $CARGO_TARGET_NAME
|
|
||||||
|
$TERMUX_PKG_SRCDIR/x.py dist rustc-dev --host $CARGO_TARGET_NAME --target aarch64-linux-android
|
||||||
|
$TERMUX_PKG_SRCDIR/x.py dist rustc-dev --host $CARGO_TARGET_NAME --target armv7-linux-androideabi
|
||||||
|
$TERMUX_PKG_SRCDIR/x.py dist rustc-dev --host $CARGO_TARGET_NAME --target i686-linux-android
|
||||||
|
$TERMUX_PKG_SRCDIR/x.py dist rustc-dev --host $CARGO_TARGET_NAME --target x86_64-linux-android
|
||||||
$TERMUX_PKG_SRCDIR/x.py dist rustc-dev --host $CARGO_TARGET_NAME --target wasm32-unknown-unknown
|
$TERMUX_PKG_SRCDIR/x.py dist rustc-dev --host $CARGO_TARGET_NAME --target wasm32-unknown-unknown
|
||||||
$TERMUX_PKG_SRCDIR/x.py dist rustc-dev --host $CARGO_TARGET_NAME --target wasm32-wasi
|
$TERMUX_PKG_SRCDIR/x.py dist rustc-dev --host $CARGO_TARGET_NAME --target wasm32-wasi
|
||||||
|
|
||||||
tar xvf build/dist/rustc-dev-$TERMUX_PKG_VERSION-$CARGO_TARGET_NAME.tar.gz
|
tar xvf build/dist/rustc-dev-$TERMUX_PKG_VERSION-$CARGO_TARGET_NAME.tar.gz
|
||||||
./rustc-dev-$TERMUX_PKG_VERSION-$CARGO_TARGET_NAME/install.sh --prefix=$TERMUX_PREFIX
|
./rustc-dev-$TERMUX_PKG_VERSION-$CARGO_TARGET_NAME/install.sh --prefix=$TERMUX_PREFIX
|
||||||
|
|
||||||
|
@ -153,8 +151,8 @@ termux_step_make_install() {
|
||||||
mv $TERMUX_PREFIX/lib/liblzma.so.tmp $TERMUX_PREFIX/lib/liblzma.so.$LZMA_VERSION
|
mv $TERMUX_PREFIX/lib/liblzma.so.tmp $TERMUX_PREFIX/lib/liblzma.so.$LZMA_VERSION
|
||||||
mv "${TERMUX_PREFIX}"/lib/liblzma.a{.tmp,} || :
|
mv "${TERMUX_PREFIX}"/lib/liblzma.a{.tmp,} || :
|
||||||
|
|
||||||
ln -sf rustlib/$CARGO_TARGET_NAME/lib/*.so .
|
ln -fs rustlib/${CARGO_TARGET_NAME}/lib/*.so .
|
||||||
ln -sf $TERMUX_PREFIX/bin/lld $TERMUX_PREFIX/bin/rust-lld
|
ln -fs lld ${TERMUX_PREFIX}/bin/rust-lld
|
||||||
|
|
||||||
cd "$TERMUX_PREFIX/lib/rustlib"
|
cd "$TERMUX_PREFIX/lib/rustlib"
|
||||||
rm -rf components \
|
rm -rf components \
|
||||||
|
@ -163,6 +161,38 @@ termux_step_make_install() {
|
||||||
rust-installer-version \
|
rust-installer-version \
|
||||||
manifest-* \
|
manifest-* \
|
||||||
x86_64-unknown-linux-gnu
|
x86_64-unknown-linux-gnu
|
||||||
|
|
||||||
|
cd "${TERMUX_PREFIX}/lib/rustlib/${CARGO_TARGET_NAME}/lib"
|
||||||
|
echo "INFO: ${TERMUX_PKG_BUILDDIR}/rustlib-rlib.txt"
|
||||||
|
ls *.rlib | tee "${TERMUX_PKG_BUILDDIR}/rustlib-rlib.txt"
|
||||||
|
|
||||||
|
echo "INFO: ${TERMUX_PKG_BUILDDIR}/rustlib-so.txt"
|
||||||
|
ls *.so | tee "${TERMUX_PKG_BUILDDIR}/rustlib-so.txt"
|
||||||
|
|
||||||
|
echo "INFO: ${TERMUX_PKG_BUILDDIR}/rustc-dev-${TERMUX_PKG_VERSION}-${CARGO_TARGET_NAME}/rustc-dev/manifest.in"
|
||||||
|
cat "${TERMUX_PKG_BUILDDIR}/rustc-dev-${TERMUX_PKG_VERSION}-${CARGO_TARGET_NAME}/rustc-dev/manifest.in" | tee "${TERMUX_PKG_BUILDDIR}/manifest.in"
|
||||||
|
|
||||||
|
sed -e 's/^.....//' -i "${TERMUX_PKG_BUILDDIR}/manifest.in"
|
||||||
|
local _included=$(cat "${TERMUX_PKG_BUILDDIR}/manifest.in")
|
||||||
|
local _included_rlib=$(echo "${_included}" | grep '\.rlib$')
|
||||||
|
local _included_so=$(echo "${_included}" | grep '\.so$')
|
||||||
|
local _included=$(echo "${_included}" | grep -v "/rustc-src/")
|
||||||
|
local _included=$(echo "${_included}" | grep -v '\.rlib$')
|
||||||
|
local _included=$(echo "${_included}" | grep -v '\.so$')
|
||||||
|
|
||||||
|
echo _rlib
|
||||||
|
while IFS= read -r _rlib; do
|
||||||
|
echo "${_rlib}"
|
||||||
|
local _included_rlib=$(echo "${_included_rlib}" | grep -v "${_rlib}")
|
||||||
|
done < "${TERMUX_PKG_BUILDDIR}/rustlib-rlib.txt"
|
||||||
|
echo _so
|
||||||
|
while IFS= read -r _so; do
|
||||||
|
echo "${_so}"
|
||||||
|
local _included_so=$(echo "${_included_so}" | grep -v "${_so}")
|
||||||
|
done < "${TERMUX_PKG_BUILDDIR}/rustlib-so.txt"
|
||||||
|
|
||||||
|
export _INCLUDED=$(echo -e "${_included}\n${_included_rlib}\n${_included_so}")
|
||||||
|
echo -e "INFO: _INCLUDED:\n${_INCLUDED}"
|
||||||
}
|
}
|
||||||
|
|
||||||
termux_step_post_massage() {
|
termux_step_post_massage() {
|
||||||
|
|
|
@ -5,18 +5,31 @@
|
||||||
link-shared = true
|
link-shared = true
|
||||||
|
|
||||||
[build]
|
[build]
|
||||||
host = ["@triple@"]
|
host = ["@CARGO_TARGET_NAME@"]
|
||||||
target = ["@triple@", "wasm32-unknown-unknown", "wasm32-wasi"]
|
target = [
|
||||||
|
"aarch64-linux-android",
|
||||||
|
"armv7-linux-androideabi",
|
||||||
|
"i686-linux-android",
|
||||||
|
"x86_64-linux-android",
|
||||||
|
"wasm32-unknown-unknown",
|
||||||
|
"wasm32-wasi",
|
||||||
|
]
|
||||||
rustc = "@RUSTC@"
|
rustc = "@RUSTC@"
|
||||||
cargo = "@CARGO@"
|
cargo = "@CARGO@"
|
||||||
|
|
||||||
python = "python3"
|
python = "python3"
|
||||||
extended = true
|
extended = true
|
||||||
|
tools = [
|
||||||
|
"cargo",
|
||||||
|
"clippy",
|
||||||
|
"rustdoc",
|
||||||
|
"rustfmt",
|
||||||
|
"rust-analyzer-proc-macro-srv",
|
||||||
|
"analysis",
|
||||||
|
"src",
|
||||||
|
"rust-demangler",
|
||||||
|
]
|
||||||
sanitizers = false
|
sanitizers = false
|
||||||
|
|
||||||
#tools = ["cargo", "analysis", "clippy-driver" ]
|
|
||||||
tools = ["cargo", "rls", "clippy", "rustfmt", "analysis", "src", "rustdoc", "rust-analyzer-proc-macro-srv"]
|
|
||||||
|
|
||||||
[install]
|
[install]
|
||||||
prefix = "@TERMUX_PREFIX@"
|
prefix = "@TERMUX_PREFIX@"
|
||||||
sysconfdir = "etc"
|
sysconfdir = "etc"
|
||||||
|
@ -32,10 +45,24 @@ rpath = false
|
||||||
[target.x86_64-unknown-linux-gnu]
|
[target.x86_64-unknown-linux-gnu]
|
||||||
llvm-config = "/usr/bin/llvm-config-15"
|
llvm-config = "/usr/bin/llvm-config-15"
|
||||||
|
|
||||||
[target.@triple@]
|
[target.aarch64-linux-android]
|
||||||
|
android-ndk = "@TERMUX_STANDALONE_TOOLCHAIN@"
|
||||||
|
llvm-config = "@TERMUX_PREFIX@/bin/llvm-config"
|
||||||
|
profiler = true
|
||||||
|
|
||||||
|
[target.armv7-linux-androideabi]
|
||||||
|
android-ndk = "@TERMUX_STANDALONE_TOOLCHAIN@"
|
||||||
|
llvm-config = "@TERMUX_PREFIX@/bin/llvm-config"
|
||||||
|
profiler = true
|
||||||
|
|
||||||
|
[target.i686-linux-android]
|
||||||
|
android-ndk = "@TERMUX_STANDALONE_TOOLCHAIN@"
|
||||||
|
llvm-config = "@TERMUX_PREFIX@/bin/llvm-config"
|
||||||
|
profiler = true
|
||||||
|
|
||||||
|
[target.x86_64-linux-android]
|
||||||
android-ndk = "@TERMUX_STANDALONE_TOOLCHAIN@"
|
android-ndk = "@TERMUX_STANDALONE_TOOLCHAIN@"
|
||||||
llvm-config = "@TERMUX_PREFIX@/bin/llvm-config"
|
llvm-config = "@TERMUX_PREFIX@/bin/llvm-config"
|
||||||
ar = "llvm-ar"
|
|
||||||
profiler = true
|
profiler = true
|
||||||
|
|
||||||
[target.wasm32-wasi]
|
[target.wasm32-wasi]
|
||||||
|
@ -43,4 +70,5 @@ wasi-root = "@TERMUX_PREFIX@/share/wasi-sysroot"
|
||||||
|
|
||||||
[dist]
|
[dist]
|
||||||
src-tarball = false
|
src-tarball = false
|
||||||
|
compression-formats = ["gz"]
|
||||||
#missing-tools = true
|
#missing-tools = true
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
TERMUX_SUBPKG_DESCRIPTION="Rust documentation"
|
TERMUX_SUBPKG_DESCRIPTION="Rust documentation"
|
||||||
TERMUX_SUBPKG_PLATFORM_INDEPENDENT=true
|
TERMUX_SUBPKG_PLATFORM_INDEPENDENT=true
|
||||||
TERMUX_SUBPKG_INCLUDE="share/doc/rust/html"
|
TERMUX_SUBPKG_INCLUDE="
|
||||||
|
share/doc/rust/html
|
||||||
|
"
|
||||||
|
|
|
@ -0,0 +1,5 @@
|
||||||
|
TERMUX_SUBPKG_DESCRIPTION="Rust source code files"
|
||||||
|
TERMUX_SUBPKG_PLATFORM_INDEPENDENT=true
|
||||||
|
TERMUX_SUBPKG_INCLUDE="
|
||||||
|
lib/rustlib/src
|
||||||
|
"
|
|
@ -0,0 +1,9 @@
|
||||||
|
TERMUX_SUBPKG_DESCRIPTION="Rust std for target aarch64-linux-android"
|
||||||
|
TERMUX_SUBPKG_PLATFORM_INDEPENDENT=true
|
||||||
|
TERMUX_SUBPKG_BREAKS="rust (<< 1.74.1-1)"
|
||||||
|
TERMUX_SUBPKG_REPLACES="rust (<< 1.74.1-1)"
|
||||||
|
TERMUX_SUBPKG_INCLUDE="
|
||||||
|
lib/rustlib/aarch64-linux-android/lib/*.rlib
|
||||||
|
lib/rustlib/aarch64-linux-android/lib/libstd-*.so
|
||||||
|
lib/rustlib/aarch64-linux-android/lib/libtest-*.so
|
||||||
|
"
|
|
@ -0,0 +1,9 @@
|
||||||
|
TERMUX_SUBPKG_DESCRIPTION="Rust std for target armv7-linux-androideabi"
|
||||||
|
TERMUX_SUBPKG_PLATFORM_INDEPENDENT=true
|
||||||
|
TERMUX_SUBPKG_BREAKS="rust (<< 1.74.1-1)"
|
||||||
|
TERMUX_SUBPKG_REPLACES="rust (<< 1.74.1-1)"
|
||||||
|
TERMUX_SUBPKG_INCLUDE="
|
||||||
|
lib/rustlib/armv7-linux-androideabi/lib/*.rlib
|
||||||
|
lib/rustlib/armv7-linux-androideabi/lib/libstd-*.so
|
||||||
|
lib/rustlib/armv7-linux-androideabi/lib/libtest-*.so
|
||||||
|
"
|
|
@ -0,0 +1,9 @@
|
||||||
|
TERMUX_SUBPKG_DESCRIPTION="Rust std for target i686-linux-android"
|
||||||
|
TERMUX_SUBPKG_PLATFORM_INDEPENDENT=true
|
||||||
|
TERMUX_SUBPKG_BREAKS="rust (<< 1.74.1-1)"
|
||||||
|
TERMUX_SUBPKG_REPLACES="rust (<< 1.74.1-1)"
|
||||||
|
TERMUX_SUBPKG_INCLUDE="
|
||||||
|
lib/rustlib/i686-linux-android/lib/*.rlib
|
||||||
|
lib/rustlib/i686-linux-android/lib/libstd-*.so
|
||||||
|
lib/rustlib/i686-linux-android/lib/libtest-*.so
|
||||||
|
"
|
|
@ -0,0 +1,7 @@
|
||||||
|
TERMUX_SUBPKG_DESCRIPTION="Rust std for target wasm32-unknown-unknown"
|
||||||
|
TERMUX_SUBPKG_PLATFORM_INDEPENDENT=true
|
||||||
|
TERMUX_SUBPKG_BREAKS="rust (<< 1.74.1-1)"
|
||||||
|
TERMUX_SUBPKG_REPLACES="rust (<< 1.74.1-1)"
|
||||||
|
TERMUX_SUBPKG_INCLUDE="
|
||||||
|
lib/rustlib/wasm32-unknown-unknown
|
||||||
|
"
|
|
@ -0,0 +1,7 @@
|
||||||
|
TERMUX_SUBPKG_DESCRIPTION="Rust std for target wasm32-wasi"
|
||||||
|
TERMUX_SUBPKG_PLATFORM_INDEPENDENT=true
|
||||||
|
TERMUX_SUBPKG_BREAKS="rust (<< 1.74.1-1)"
|
||||||
|
TERMUX_SUBPKG_REPLACES="rust (<< 1.74.1-1)"
|
||||||
|
TERMUX_SUBPKG_INCLUDE="
|
||||||
|
lib/rustlib/wasm32-wasi
|
||||||
|
"
|
|
@ -1,7 +0,0 @@
|
||||||
TERMUX_SUBPKG_DESCRIPTION="Rust std for target wasm32"
|
|
||||||
TERMUX_SUBPKG_DEPENDS="wasi-libc"
|
|
||||||
TERMUX_SUBPKG_PLATFORM_INDEPENDENT=true
|
|
||||||
TERMUX_SUBPKG_INCLUDE="
|
|
||||||
lib/rustlib/wasm32-unknown-unknown
|
|
||||||
lib/rustlib/wasm32-wasi
|
|
||||||
"
|
|
|
@ -0,0 +1,9 @@
|
||||||
|
TERMUX_SUBPKG_DESCRIPTION="Rust std for target x86_64-linux-android"
|
||||||
|
TERMUX_SUBPKG_PLATFORM_INDEPENDENT=true
|
||||||
|
TERMUX_SUBPKG_BREAKS="rust (<< 1.74.1-1)"
|
||||||
|
TERMUX_SUBPKG_REPLACES="rust (<< 1.74.1-1)"
|
||||||
|
TERMUX_SUBPKG_INCLUDE="
|
||||||
|
lib/rustlib/x86_64-linux-android/lib/*.rlib
|
||||||
|
lib/rustlib/x86_64-linux-android/lib/libstd-*.so
|
||||||
|
lib/rustlib/x86_64-linux-android/lib/libtest-*.so
|
||||||
|
"
|
|
@ -1,4 +1,2 @@
|
||||||
TERMUX_SUBPKG_DESCRIPTION="Rust development compiler libs"
|
TERMUX_SUBPKG_DESCRIPTION="Rust compiler development 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}"
|
TERMUX_SUBPKG_INCLUDE="${_INCLUDED}"
|
||||||
|
|
|
@ -0,0 +1,5 @@
|
||||||
|
TERMUX_SUBPKG_DESCRIPTION="Rust compiler source code files"
|
||||||
|
TERMUX_SUBPKG_PLATFORM_INDEPENDENT=true
|
||||||
|
TERMUX_SUBPKG_INCLUDE="
|
||||||
|
lib/rustlib/rustc-src
|
||||||
|
"
|
|
@ -37,9 +37,12 @@ termux_setup_rust() {
|
||||||
local ENV_NAME=CARGO_TARGET_${CARGO_TARGET_NAME^^}_LINKER
|
local ENV_NAME=CARGO_TARGET_${CARGO_TARGET_NAME^^}_LINKER
|
||||||
ENV_NAME=${ENV_NAME//-/_}
|
ENV_NAME=${ENV_NAME//-/_}
|
||||||
export $ENV_NAME="${CC}"
|
export $ENV_NAME="${CC}"
|
||||||
export TARGET_CFLAGS="${CFLAGS-} ${CPPFLAGS}"
|
# TARGET_CFLAGS and CFLAGS incorrectly applied globally
|
||||||
# This was getting applied for the host build of Rust macros or whatever, so
|
# for host build and other targets so set them individually
|
||||||
# unset it.
|
export CFLAGS_aarch64_linux_android="${CPPFLAGS}"
|
||||||
|
export CFLAGS_armv7_linux_androideabi="${CPPFLAGS}"
|
||||||
|
export CFLAGS_i686_linux_android="${CPPFLAGS}"
|
||||||
|
export CFLAGS_x86_64_linux_android="${CPPFLAGS}"
|
||||||
unset CFLAGS
|
unset CFLAGS
|
||||||
|
|
||||||
if [[ -z "${TERMUX_RUST_VERSION-}" ]]; then
|
if [[ -z "${TERMUX_RUST_VERSION-}" ]]; then
|
||||||
|
@ -49,7 +52,7 @@ termux_setup_rust() {
|
||||||
TERMUX_RUST_VERSION="beta"
|
TERMUX_RUST_VERSION="beta"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
curl https://sh.rustup.rs -sSf > "${TERMUX_PKG_TMPDIR}"/rustup.sh
|
curl https://sh.rustup.rs -sSfo "${TERMUX_PKG_TMPDIR}"/rustup.sh
|
||||||
sh "${TERMUX_PKG_TMPDIR}"/rustup.sh -y --default-toolchain "${TERMUX_RUST_VERSION}"
|
sh "${TERMUX_PKG_TMPDIR}"/rustup.sh -y --default-toolchain "${TERMUX_RUST_VERSION}"
|
||||||
|
|
||||||
export PATH="${HOME}/.cargo/bin:${PATH}"
|
export PATH="${HOME}/.cargo/bin:${PATH}"
|
||||||
|
|
Loading…
Reference in New Issue