diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..598290c --- /dev/null +++ b/Dockerfile @@ -0,0 +1,45 @@ +FROM alpine:edge + +# ghc and cabal +RUN apk add --no-cache \ + curl \ + gcc \ + g++ \ + gmp-dev \ + ncurses-dev \ + libffi-dev \ + make \ + xz \ + tar \ + perl \ + \ + cabal \ + ghc + +# utils +RUN apk add --no-cache \ + bash + +## Package specific +RUN apk add --no-cache \ + libbz2 \ + bzip2-dev \ + bzip2-static \ + zlib \ + zlib-dev \ + zlib-static \ + gmp \ + gmp-dev \ + openssl-dev \ + openssl-libs-static \ + xz \ + xz-dev + + + +COPY . /app + +WORKDIR /app + +RUN chmod +x /app/docker/build.sh + diff --git a/docker/build.sh b/docker/build.sh new file mode 100644 index 0000000..df09a06 --- /dev/null +++ b/docker/build.sh @@ -0,0 +1,14 @@ +#!/bin/sh + +set -ex + +cd /app + +cabal v2-update + +cabal v2-install \ + --install-method=copy \ + --overwrite-policy=always \ + --installdir="/bin" \ + --ghc-options='-optl-static' +