summaryrefslogtreecommitdiff
path: root/linux/Dockerfile
diff options
context:
space:
mode:
authorJohn MacFarlane <jgm@berkeley.edu>2017-10-22 15:04:49 -0700
committerJohn MacFarlane <jgm@berkeley.edu>2017-10-22 15:04:49 -0700
commit0463a57a5c85bd44223fd17bd1370cd31cecee03 (patch)
tree52f5d8264dde4467143b9177b1fc5cdbb9b6facb /linux/Dockerfile
parent901c68a65fc2e7389927cf8138a08369b2821978 (diff)
Back to using alpine-based Dockerfile for linux build.
Diffstat (limited to 'linux/Dockerfile')
-rw-r--r--linux/Dockerfile30
1 files changed, 21 insertions, 9 deletions
diff --git a/linux/Dockerfile b/linux/Dockerfile
index 40e229705..d2348b11d 100644
--- a/linux/Dockerfile
+++ b/linux/Dockerfile
@@ -1,19 +1,31 @@
-FROM debian:jessie-slim
-RUN apt-get update
-RUN apt-get -y install git ca-certificates zlib1g-dev curl \
- dpkg fakeroot sed gawk grep bash xz-utils make build-essential clang \
- libgmp-dev
-RUN curl -L https://www.stackage.org/stack/linux-x86_64 | tar xz --wildcards --strip-components=1 -C /usr/bin '*/stack'
-RUN mkdir -p /etc/stack
+# USE ALPINE LINUX
+FROM alpine:edge
+RUN echo "https://s3-us-west-2.amazonaws.com/alpine-ghc/8.0" >> /etc/apk/repositories
+ADD https://raw.githubusercontent.com/mitchty/alpine-ghc/master/mitch.tishmack%40gmail.com-55881c97.rsa.pub \
+ /etc/apk/keys/mitch.tishmack@gmail.com-55881c97.rsa.pub
+RUN apk update
+RUN apk add alpine-sdk git ca-certificates ghc cabal stack zlib-dev \
+ dpkg fakeroot sed gawk grep bash linux-headers
+RUN stack update
+RUN stack config set system-ghc --global true
+#RUN mkdir -p /etc/stack
#RUN echo "build: { split-objs: true }" > /etc/stack/config.yaml
RUN mkdir -p /usr/src/
WORKDIR /usr/src/
RUN git clone https://github.com/jgm/pandoc
WORKDIR /usr/src/pandoc
-RUN stack setup
RUN stack install --stack-yaml stack.pkg.yaml --only-dependencies \
--flag 'pandoc:embed_data_files' \
+ --ghc-options '-O2 -optc-Os -optl=-pthread -optl=-static -fPIC' \
pandoc pandoc-citeproc
CMD git pull && \
git checkout -b work $TREE && \
- ARTIFACTS=/artifacts sh linux/make_linux.sh
+ stack install --stack-yaml stack.pkg.yaml \
+ --flag 'pandoc:static' \
+ --flag 'pandoc:embed_data_files' \
+ --flag 'hslua:-export-dynamic' \
+ --ghc-options '-O2 -optc-Os -optl=-pthread -optl=-static -fPIC' \
+ --local-bin-path /artifacts \
+ pandoc pandoc-citeproc && \
+ bash linux/make_deb.sh && \
+ bash linux/make_tarball.sh