scripts: Add `termux_setup_cargo_c`

This commit is contained in:
Tee KOBAYASHI 2023-02-19 19:52:37 +09:00 committed by xtkoba
parent 475b4508d7
commit c0f5627998
3 changed files with 46 additions and 0 deletions

View File

@ -71,6 +71,10 @@ source "$TERMUX_SCRIPTDIR/scripts/build/termux_error_exit.sh"
# shellcheck source=scripts/build/termux_download.sh
source "$TERMUX_SCRIPTDIR/scripts/build/termux_download.sh"
# Utility function for setting up Cargo C-ABI helpers.
# shellcheck source=scripts/build/setup/termux_setup_cargo_c.sh
source "$TERMUX_SCRIPTDIR/scripts/build/setup/termux_setup_cargo_c.sh"
# Utility function for setting up GHC toolchain.
# shellcheck source=scripts/build/setup/termux_setup_ghc.sh
source "$TERMUX_SCRIPTDIR/scripts/build/setup/termux_setup_ghc.sh"

View File

@ -0,0 +1,39 @@
termux_setup_cargo_c() {
local TERMUX_CARGO_C_VERSION=0.9.16
local TERMUX_CARGO_C_SHA256=1ee088c6b42052810982f0bd07fb1bf5dd254cb18ae48601e7d0227bf4cacb3d
local TERMUX_CARGO_C_TARNAME=cargo-c-x86_64-unknown-linux-musl.tar.gz
local TERMUX_CARGO_C_TARFILE=$TERMUX_PKG_TMPDIR/$TERMUX_CARGO_C_TARNAME
local TERMUX_CARGO_C_FOLDER
if [ "${TERMUX_PACKAGES_OFFLINE-false}" = "true" ]; then
TERMUX_CARGO_C_FOLDER=$TERMUX_SCRIPTDIR/build-tools/cargo-c-$TERMUX_CARGO_C_VERSION
else
TERMUX_CARGO_C_FOLDER=$TERMUX_COMMON_CACHEDIR/cargo-c-$TERMUX_CARGO_C_VERSION
fi
if [ "$TERMUX_ON_DEVICE_BUILD" = "true" ]; then
if [[ "$TERMUX_APP_PACKAGE_MANAGER" = "apt" && "$(dpkg-query -W -f '${db:Status-Status}\n' cargo-c 2>/dev/null)" != "installed" ]] ||
[[ "$TERMUX_APP_PACKAGE_MANAGER" = "pacman" && ! "$(pacman -Q cargo-c 2>/dev/null)" ]]; then
echo "Package 'cargo-c' is not installed."
echo "You can install it with"
echo
echo " pkg install cargo-c"
echo
echo " pacman -S cargo-c"
echo
exit 1
fi
return
fi
if [ ! -d "$TERMUX_CARGO_C_FOLDER" ]; then
termux_download https://github.com/lu-zero/cargo-c/releases/download/v$TERMUX_CARGO_C_VERSION/$TERMUX_CARGO_C_TARNAME \
"$TERMUX_CARGO_C_TARFILE" \
"$TERMUX_CARGO_C_SHA256"
rm -Rf "$TERMUX_CARGO_C_FOLDER"
mkdir -p "$TERMUX_CARGO_C_FOLDER"
tar xf "$TERMUX_CARGO_C_TARFILE" -C "$TERMUX_CARGO_C_FOLDER"
fi
export PATH=$TERMUX_CARGO_C_FOLDER:$PATH
}

View File

@ -35,6 +35,9 @@ mkdir -p "$TERMUX_PKG_TMPDIR"
# Build tools.
. "$TERMUX_SCRIPTDIR"/scripts/build/termux_download.sh
(. "$TERMUX_SCRIPTDIR"/scripts/build/setup/termux_setup_cargo_c.sh
termux_setup_cargo_c
)
(. "$TERMUX_SCRIPTDIR"/scripts/build/setup/termux_setup_cmake.sh
termux_setup_cmake
)