@@ -46,6 +46,7 @@ export LANG=en_US.UTF-8
4646export LIBRARY_PATH=$WORK_DIR/vendor/ghc-libs:/usr/lib:$LIBRARY_PATH
4747export LD_LIBRARY_PATH=$LIBRARY_PATH
4848export PATH=$WORK_DIR/.local/bin:$WORK_DIR/vendor/bin:$PATH
49+export STACK_ROOT=$CACHE_DIR/.stack
4950
5051########## gmp #####################################################
5152LIBGMP_VER=${LIBGMP_VER:-6.0.0a}
@@ -60,37 +61,30 @@ speak "Restoring $LIBGMP_VER files from cache"
6061find "$LIBGMP_DIR/ghc-libs/" -exec cp -rP '{}' "$WORK_DIR/vendor/ghc-libs/" \;
6162
6263########## stack exe ###############################################
63−STACK_VER=${STACK_VER:-0.1.3.1}
64−STACK_URL=${STACK_URL:-https://github.com/commercialhaskell/stack/releases/download/v"$STACK_VER"/stack-"$STACK_VER"-x86_64-linux.gz}
65−STACK_EXE="$CACHE_DIR/stack-$STACK_VER"
64+STACK_VER=${STACK_VER:-0.1.4.0}
65+STACK_URL=${STACK_URL:-https://github.com/commercialhaskell/stack/releases/download/v"$STACK_VER"/stack-"$STACK_VER"-x86_64-linux.tar.gz}
66+STACK_DIR="$CACHE_DIR/stack-$STACK_VER"
67+STACK_EXE="$STACK_DIR/stack"
6668if [ ! -e "$STACK_EXE" ]; then
6769 speak "Downloading stack-$STACK_VER"
68− curl -# -L "$STACK_URL" | gunzip > "$STACK_EXE"
70+ curl -# -L "$STACK_URL" | tar xz -C "$STACK_DIR"
6971fi
7072speak "Restoring stack-$STACK_VER"
7173cp -P "$STACK_EXE" "$WORK_DIR/vendor/bin/stack"
7274chmod a+x "$WORK_DIR/vendor/bin/stack"
7375
74−########## stack dir ###############################################
75−STACK_DIR="$CACHE_DIR/.stack"
76−if [ -e "$STACK_DIR" ]; then
77− speak "Restoring .stack"
78− cp -rP "$STACK_DIR" "$WORK_DIR"
79−fi
80−
8176########## project build ###########################################
8277speak "Running stack"
8378cd "$BUILD_DIR"
8479stack setup
8580stack build --copy-bins
8681
87−if [ ! -e "$STACK_DIR" ]; then
88− speak "Caching .stack"
89− cp -rP "$WORK_DIR/.stack" "$CACHE_DIR"
90−fi
82+# Save stack root
83+speach "Saving .stack"
84+cp -rP "$CACHE_DIR/.stack" "$WORK_DIR"
9185
9286# Set context environment variables.
93−set-env PATH "/app/.local/bin:$PATH"
87+set-env PATH "$WORK_DIR/.local/bin:$PATH"
9488set-default-env LIBRARY_PATH /app/vendor/ghc-libs:/usr/lib
9589set-default-env LD_LIBRARY_PATH /app/vendor/ghc-libs:/usr/lib
9690