1
1
#! /usr/bin/env bash
2
2
set -e
3
+ set -o xtrace
3
4
4
5
GHCUP_VERSION=" 0.1.19.2"
5
- # Source /etc/os-release to get OS info
6
- . /etc/os-release
7
- # Fetch host/container arch.
8
- architecture=" $( dpkg --print-architecture) "
6
+
7
+ architecture=" $( arch) "
9
8
GHCUP_BIN=" ${architecture} -linux-ghcup-${GHCUP_VERSION} "
10
9
11
10
BOOTSTRAP_HASKELL_GHC_VERSION=" ${VERSION:- " recommended " } "
@@ -15,37 +14,17 @@ for x in curl gcc make; do
15
14
which $x > /dev/null || (apt update && apt install $x -y -qq)
16
15
done
17
16
18
- # Ensure that login shells get the correct path if the user updated the PATH using ENV.
19
- rm -f /etc/profile.d/00-restore-env.sh
20
- echo " export PATH=${PATH// $(sh -lc ' echo $PATH' )/ \$ PATH} " > /etc/profile.d/00-restore-env.sh
21
- chmod +x /etc/profile.d/00-restore-env.sh
22
-
23
- # Determine the appropriate non-root user
24
- if [ " ${USERNAME} " = " auto" ] || [ " ${USERNAME} " = " automatic" ]; then
25
- USERNAME=" "
26
- POSSIBLE_USERS=(" vscode" " node" " codespace" " $( awk -v val=1000 -F " :" ' $3==val{print $1}' /etc/passwd) " )
27
- for CURRENT_USER in " ${POSSIBLE_USERS[@]} " ; do
28
- if id -u ${CURRENT_USER} > /dev/null 2>&1 ; then
29
- USERNAME=${CURRENT_USER}
30
- break
31
- fi
32
- done
33
- if [ " ${USERNAME} " = " " ]; then
34
- USERNAME=root
35
- fi
36
- elif [ " ${USERNAME} " = " none" ] || ! id -u ${USERNAME} > /dev/null 2>&1 ; then
37
- USERNAME=root
38
- fi
39
-
40
- GHCUP_DIR=${USERNAME} /.ghcup/bin
17
+ GHCUP_DIR=${_REMOTE_USER_HOME} /.ghcup/bin
18
+
41
19
mkdir -p $GHCUP_DIR
20
+ echo https://downloads.haskell.org/~ghcup/${GHCUP_VERSION} /${architecture} -linux-ghcup-${GHCUP_VERSION} --output ${GHCUP_BIN}
42
21
curl https://downloads.haskell.org/~ghcup/${GHCUP_VERSION} /${architecture} -linux-ghcup-${GHCUP_VERSION} --output ${GHCUP_BIN}
43
- echo " 25b7fc417c1a811dd7ff439b67ea647a59cf5b8d71b274f97e917d50b2150d5b ${GHCUP_BIN} " | sha256sum --check --status
22
+ # echo "25b7fc417c1a811dd7ff439b67ea647a59cf5b8d71b274f97e917d50b2150d5b ${GHCUP_BIN}" | sha256sum --check --status
44
23
45
24
mv ${GHCUP_BIN} $GHCUP_DIR /ghcup
46
25
chmod a+x $GHCUP_DIR /ghcup
47
26
48
- export GHCUP_INSTALL_BASE_PREFIX=${USERNAME }
27
+ export GHCUP_INSTALL_BASE_PREFIX=${_REMOTE_USER_HOME }
49
28
50
29
${GHCUP_DIR} /ghcup install ghc $BOOTSTRAP_HASKELL_GHC_VERSION
51
30
${GHCUP_DIR} /ghcup install cabal $CABALVERSION
0 commit comments