37 lines
1.4 KiB
Bash
37 lines
1.4 KiB
Bash
# shellcheck shell=bash
|
|
termux_setup_cabal() {
|
|
if [[ "${TERMUX_ON_DEVICE_BUILD}" == "false" ]]; then
|
|
local TERMUX_CABAL_VERSION=3.6.2.0
|
|
local TERMUX_CABAL_TAR="${TERMUX_COMMON_CACHEDIR}/cabal-${TERMUX_CABAL_VERSION}.tar.xz"
|
|
|
|
local TERMUX_CABAL_RUNTIME_FOLDER
|
|
|
|
if [[ "${TERMUX_PACKAGES_OFFLINE-false}" == "true" ]]; then
|
|
TERMUX_CABAL_RUNTIME_FOLDER="${TERMUX_SCRIPTDIR}/build-tools/cabal-${TERMUX_CABAL_VERSION}-runtime"
|
|
else
|
|
TERMUX_CABAL_RUNTIME_FOLDER="${TERMUX_COMMON_CACHEDIR}/cabal-${TERMUX_CABAL_VERSION}-runtime"
|
|
fi
|
|
|
|
export PATH="${TERMUX_CABAL_RUNTIME_FOLDER}:${PATH}"
|
|
|
|
[[ -d "${TERMUX_CABAL_RUNTIME_FOLDER}" ]] && return
|
|
|
|
termux_download "https://github.com/MrAdityaAlok/ghc-cross-tools/releases/download/cabal-install-v${TERMUX_CABAL_VERSION}/cabal-install-${TERMUX_CABAL_VERSION}.tar.xz" \
|
|
"${TERMUX_CABAL_TAR}" \
|
|
"f433e99cb3ff85239bd633f2ae2a370bfb7103f9db80e38199e0fda27897bdfe"
|
|
|
|
mkdir -p "${TERMUX_CABAL_RUNTIME_FOLDER}"
|
|
tar xf "${TERMUX_CABAL_TAR}" -C "${TERMUX_CABAL_RUNTIME_FOLDER}"
|
|
rm "${TERMUX_CABAL_TAR}"
|
|
|
|
cabal update
|
|
|
|
else
|
|
if [[ "${TERMUX_MAIN_PACKAGE_FORMAT}" == "debian" ]] && "$(dpkg-query -W -f '${db:Status-Status}\n' cabal-install 2>/dev/null)" != "installed" ||
|
|
[[ "${TERMUX_MAIN_PACKAGE_FORMAT}" == "pacman" ]] && ! "$(pacman -Q cabal-install 2>/dev/null)"; then
|
|
echo "Package 'cabal-install' is not installed."
|
|
exit 1
|
|
fi
|
|
fi
|
|
}
|