scripts: Add `termux_setup_cargo_c`
This commit is contained in:
parent
475b4508d7
commit
c0f5627998
|
@ -71,6 +71,10 @@ source "$TERMUX_SCRIPTDIR/scripts/build/termux_error_exit.sh"
|
||||||
# shellcheck source=scripts/build/termux_download.sh
|
# shellcheck source=scripts/build/termux_download.sh
|
||||||
source "$TERMUX_SCRIPTDIR/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.
|
# Utility function for setting up GHC toolchain.
|
||||||
# shellcheck source=scripts/build/setup/termux_setup_ghc.sh
|
# shellcheck source=scripts/build/setup/termux_setup_ghc.sh
|
||||||
source "$TERMUX_SCRIPTDIR/scripts/build/setup/termux_setup_ghc.sh"
|
source "$TERMUX_SCRIPTDIR/scripts/build/setup/termux_setup_ghc.sh"
|
||||||
|
|
|
@ -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
|
||||||
|
}
|
|
@ -35,6 +35,9 @@ mkdir -p "$TERMUX_PKG_TMPDIR"
|
||||||
|
|
||||||
# Build tools.
|
# Build tools.
|
||||||
. "$TERMUX_SCRIPTDIR"/scripts/build/termux_download.sh
|
. "$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_SCRIPTDIR"/scripts/build/setup/termux_setup_cmake.sh
|
||||||
termux_setup_cmake
|
termux_setup_cmake
|
||||||
)
|
)
|
||||||
|
|
Loading…
Reference in New Issue