47 lines
1.2 KiB
Bash
Executable File
47 lines
1.2 KiB
Bash
Executable File
#!/bin/bash
|
|
# Usage:
|
|
#
|
|
# With Elixir archive:
|
|
#
|
|
# ELIXIR_ZIP=Precompiled.zip OTP_VERSION=25.3.2.2 ./build.sh
|
|
#
|
|
# With Elixir version:
|
|
#
|
|
# ELIXIR_VERSION=1.14.5 OTP_VERSION=25.3.2.2 ./build.sh
|
|
set -euo pipefail
|
|
|
|
OTP_VERSION="${OTP_VERSION:-26.0}"
|
|
otp_release=`echo "${OTP_VERSION}" | cut -d. -f1`
|
|
|
|
mkdir -p tmp
|
|
|
|
ELIXIR_VERSION="${ELIXIR_VERSION:-}"
|
|
if [ -n "${ELIXIR_VERSION}" ]; then
|
|
ELIXIR_ZIP="tmp/elixir-${ELIXIR_VERSION}-otp-${otp_release}.zip"
|
|
if [ ! -f "${ELIXIR_ZIP}" ]; then
|
|
url="https://github.com/elixir-lang/elixir/releases/download/v${ELIXIR_VERSION}/elixir-otp-${otp_release}.zip"
|
|
echo "downloading ${url}"
|
|
curl --fail -L -o "${ELIXIR_ZIP}" "${url}"
|
|
fi
|
|
basename=elixir-${ELIXIR_VERSION}-otp-${otp_release}
|
|
else
|
|
basename=elixir-otp-${otp_release}
|
|
fi
|
|
|
|
if [ ! -d "tmp/${basename}" ]; then
|
|
unzip -d "tmp/${basename}" "${ELIXIR_ZIP}"
|
|
fi
|
|
|
|
# brew install makensis
|
|
# apt install -y nsis
|
|
# choco install -y nsis
|
|
export PATH="/c/Program Files (x86)/NSIS:${PATH}"
|
|
makensis \
|
|
-X"OutFile tmp\\${basename}.exe" \
|
|
-DOTP_VERSION=${OTP_VERSION} \
|
|
-DOTP_RELEASE="${otp_release}" \
|
|
-DELIXIR_DIR=tmp\\${basename} \
|
|
installer.nsi
|
|
|
|
echo "Installer path: tmp/${basename}.exe"
|