git.iko.soy/heroku-buildpack-stack
on e8490a2 help sign in
3 files changed+13−16
since splitsnapshots
unifiedsplit
Procfile.example−1 README.md−8 bin/compile+13−7
Procfile.exampledeleted−1
@@ -1 +0,0 @@
1−web: YOURAPPNAME-exe # $ cat *.cabal | grep executable
README.md−8
@@ -12,14 +12,6 @@ Set this buildpack on an existing app:
1212
1313 $ heroku buildpacks:set https://github.com/mfine/heroku-buildpack-stack
1414
15−Binary executables are placed in `/app/.local/bin/` after compilation, a directory which Heroku includes in your `$PATH`, so assuming that your application is [binding to `$PORT`](https://devcenter.heroku.com/articles/dynos#web-dynos), you can serve your app by [creating a `Procfile`](https://devcenter.heroku.com/articles/procfile) at your project root that defines a `web` process type for the `executable` defined in your `.cabal` file:
16−
17− $ cat *.cabal | grep executable
18− executable YOURAPPNAME-exe
19−
20− $ echo "web: YOURAPPNAME-exe" >> Procfile
21−
22−
2315### Templating stack.yaml
2416
2517To avoid committing secrets into `stack.yaml` for access to private
bin/compile+13−7
@@ -26,7 +26,14 @@ if [ -d "$ENV_DIR" ]; then
2626fi
2727
2828WORK_DIR=/app
29+echo "AAAAAAAAAAAA"
30+cat "$WORK_DIR/Makefile"
2931cp -Rp "$BUILD_DIR/." "$WORK_DIR"
32+echo "XXXXXXXXXXXX"
33+ls "$BUILD_DIR"
34+echo "YYYYYYYYYYYY"
35+ls "$WORK_DIR"
36+echo "ZZZZZZZZZZZZ"
3037mkdir -p "$WORK_DIR/vendor/bin"
3138mkdir -p "$WORK_DIR/vendor/ghc-libs"
3239
@@ -45,7 +52,7 @@ function set-default-env (){
4552}
4653
4754export LANG=en_US.UTF-8
48−export LIBRARY_PATH=$WORK_DIR/vendor/ghc-libs:$WORK_DIR/vendor/lib:/usr/lib:$LIBRARY_PATH
55+export LIBRARY_PATH=$WORK_DIR/vendor/ghc-libs:/usr/lib:$LIBRARY_PATH
4956export LD_LIBRARY_PATH=$LIBRARY_PATH
5057export PATH=$WORK_DIR/.local/bin:$WORK_DIR/vendor/bin:$PATH
5158export STACK_ROOT=$CACHE_DIR/.stack
@@ -63,7 +70,7 @@ speak "Restoring $LIBGMP_VER files from cache"
6370cp -Rp "$LIBGMP_DIR/ghc-libs/." "$WORK_DIR/vendor/ghc-libs"
6471
6572########## stack exe ###############################################
66−STACK_VER=${STACK_VER:-2.1.3}
73+STACK_VER=${STACK_VER:-1.4.0}
6774STACK_URL=${STACK_URL:-https://github.com/commercialhaskell/stack/releases/download/v"$STACK_VER"/stack-"$STACK_VER"-linux-x86_64.tar.gz}
6875STACK_DIR="$CACHE_DIR/stack-$STACK_VER"
6976STACK_EXE="$STACK_DIR/stack"
@@ -100,14 +107,13 @@ if [ -f "$BUILD_DIR/Makefile" ]; then
100107 make install
101108else
102109 stack setup
103− stack clean
104− stack build --ghc-options='-O2' --copy-bins
110+ stack build --fast --copy-bins
105111fi
106112
107113# Set context environment variables.
108−set-env PATH "$WORK_DIR/.local/bin:$WORK_DIR/vendor/bin:\$PATH"
109−set-default-env LIBRARY_PATH "$WORK_DIR/vendor/ghc-libs:$WORK_DIR/vendor/lib:/usr/lib"
110−set-default-env LD_LIBRARY_PATH "$WORK_DIR/vendor/ghc-libs:$WORK_DIR/vendor/lib:/usr/lib"
114+set-env PATH "$WORK_DIR/.local/bin:$PATH"
115+set-default-env LIBRARY_PATH "$WORK_DIR/vendor/ghc-libs:/usr/lib"
116+set-default-env LD_LIBRARY_PATH "$WORK_DIR/vendor/ghc-libs:/usr/lib"
111117
112118speak "Making stack binaries available"
113119mkdir -p "$BUILD_DIR/vendor"