|
4 | 4 | # With Elixir archive:
|
5 | 5 | #
|
6 | 6 | # ELIXIR_ZIP=Precompiled.zip OTP_VERSION=25.3.2.2 ./build.sh
|
7 |
| -# |
8 |
| -# With Elixir version: |
9 |
| -# |
10 |
| -# ELIXIR_VERSION=1.14.5 OTP_VERSION=25.3.2.2 ./build.sh |
11 | 7 | set -euo pipefail
|
12 | 8 |
|
13 |
| -OTP_VERSION="${OTP_VERSION:-26.0}" |
14 |
| -otp_release=`echo "${OTP_VERSION}" | cut -d. -f1` |
15 |
| - |
16 | 9 | mkdir -p tmp
|
| 10 | +rm -rf tmp/elixir |
| 11 | +unzip -d "tmp/elixir" "${ELIXIR_ZIP}" |
17 | 12 |
|
18 |
| -ELIXIR_VERSION="${ELIXIR_VERSION:-}" |
19 |
| -if [ -n "${ELIXIR_VERSION}" ]; then |
20 |
| - ELIXIR_ZIP="tmp/elixir-${ELIXIR_VERSION}-otp-${otp_release}.zip" |
21 |
| - if [ ! -f "${ELIXIR_ZIP}" ]; then |
22 |
| - url="https://github.com/elixir-lang/elixir/releases/download/v${ELIXIR_VERSION}/elixir-otp-${otp_release}.zip" |
23 |
| - echo "downloading ${url}" |
24 |
| - curl --fail -L -o "${ELIXIR_ZIP}" "${url}" |
25 |
| - fi |
26 |
| - basename=elixir-${ELIXIR_VERSION}-otp-${otp_release} |
27 |
| -else |
28 |
| - basename=elixir-otp-${otp_release} |
29 |
| -fi |
30 |
| - |
31 |
| -if [ ! -d "tmp/${basename}" ]; then |
32 |
| - unzip -d "tmp/${basename}" "${ELIXIR_ZIP}" |
33 |
| -fi |
| 13 | +elixir_version=`cat tmp/elixir/VERSION` |
| 14 | +otp_release=`erl -noshell -eval 'io:put_chars(erlang:system_info(otp_release)), halt().'` |
| 15 | +otp_version=`erl -noshell -eval '{ok, Vsn} = file:read_file(code:root_dir() ++ "/releases/" ++ erlang:system_info(otp_release) ++ "/OTP_VERSION"), io:put_chars(Vsn), halt().'` |
| 16 | +elixir_exe=elixir-otp-${otp_release}.exe |
34 | 17 |
|
35 | 18 | # brew install makensis
|
36 | 19 | # apt install -y nsis
|
37 | 20 | # choco install -y nsis
|
38 | 21 | export PATH="/c/Program Files (x86)/NSIS:${PATH}"
|
39 | 22 | makensis \
|
40 |
| - -X"OutFile tmp\\${basename}.exe" \ |
41 |
| - -DOTP_VERSION=${OTP_VERSION} \ |
| 23 | + -X"OutFile tmp\\${elixir_exe}" \ |
42 | 24 | -DOTP_RELEASE="${otp_release}" \
|
43 |
| - -DELIXIR_DIR=tmp\\${basename} \ |
| 25 | + -DOTP_VERSION=${otp_version} \ |
| 26 | + -DELIXIR_DIR=tmp\\elixir \ |
| 27 | + -DELIXIR_VERSION=${elixir_version} \ |
44 | 28 | installer.nsi
|
45 | 29 |
|
46 |
| -echo "Installer path: tmp/${basename}.exe" |
| 30 | +echo "Installer path: tmp/${elixir_exe}" |
0 commit comments