livebook/.github/scripts/app/bootstrap_mac.sh

37 lines
808 B
Bash
Raw Normal View History

2022-01-18 00:34:38 +08:00
#!/bin/bash
2022-06-22 14:04:59 +08:00
set -e pipefail
2022-01-18 00:34:38 +08:00
main() {
export MAKEFLAGS=-j$(getconf _NPROCESSORS_ONLN)
2022-09-02 18:03:32 +08:00
elixir_vsn="${elixir_vsn:-1.14.0}"
2022-01-18 00:34:38 +08:00
2022-09-02 18:03:32 +08:00
mkdir -p tmp/cache
. .github/scripts/app/bootstrap_otp_mac.sh
2022-01-18 00:34:38 +08:00
2022-09-02 18:03:32 +08:00
elixir_dir="$PWD/tmp/cache/elixir-${elixir_vsn}"
2022-06-22 14:04:59 +08:00
if [ ! -d "${elixir_dir}" ]; then
2022-09-02 18:03:32 +08:00
build_elixir $elixir_vsn $elixir_dir
2022-01-18 00:34:38 +08:00
fi
2022-06-22 14:04:59 +08:00
export PATH="${elixir_dir}/bin:$PATH"
echo "checking elixir"
2022-01-18 00:34:38 +08:00
elixir --version
2022-09-02 18:03:32 +08:00
echo "elixir ok"
2022-01-18 00:34:38 +08:00
}
2022-09-02 18:03:32 +08:00
# build_elixir $vsn $dest_dir
2022-01-18 00:34:38 +08:00
build_elixir() {
vsn=$1
2022-09-02 18:03:32 +08:00
dest_dir=$2
2022-01-18 00:34:38 +08:00
otp_release=$(erl -noshell -eval 'io:format("~s", [erlang:system_info(otp_release)]), halt().')
cd tmp
url=https://repo.hex.pm/builds/elixir/v${vsn}-otp-${otp_release}.zip
curl --fail -LO $url
2022-09-02 18:03:32 +08:00
mkdir -p $dest_dir
unzip -q v${vsn}-otp-${otp_release}.zip -d $dest_dir
cd - > /dev/null
2022-01-18 00:34:38 +08:00
}
main