linux package build: use stack lts-9.

Also break up the build into three chunks for better
cacheability.
This commit is contained in:
John MacFarlane 2017-12-28 09:25:01 -08:00
parent 2dd01b2071
commit 999dd2a239

View file

@ -7,15 +7,32 @@ 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 upgrade
RUN $HOME/.local/bin/stack config set system-ghc --global true
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
RUN git clone https://github.com/jgm/pandoc
WORKDIR /usr/src/pandoc
RUN $HOME/.local/bin/stack install --compiler 'ghc-8.0.2' \
RUN stack install --stack-yaml stack.lts9.yaml \
--only-dependencies \
--flag 'pandoc:static' \
--flag 'pandoc:embed_data_files' \
--flag 'pandoc-citeproc:static' \
--flag 'pandoc-citeproc:embed_data_files' \
--flag 'hslua:-export-dynamic' \
--ghc-options '-O2 -optc-Os -optl=-pthread -optl=-static -fPIC' \
aeson
RUN stack install --stack-yaml stack.lts9.yaml \
--only-dependencies \
--flag 'pandoc:static' \
--flag 'pandoc:embed_data_files' \
--flag 'pandoc-citeproc:static' \
--flag 'pandoc-citeproc:embed_data_files' \
--flag 'hslua:-export-dynamic' \
--ghc-options '-O2 -optc-Os -optl=-pthread -optl=-static -fPIC' \
http-client-tls
RUN stack install --stack-yaml stack.lts9.yaml \
--only-dependencies \
--flag 'pandoc:static' \
--flag 'pandoc:embed_data_files' \
@ -26,7 +43,7 @@ RUN $HOME/.local/bin/stack install --compiler 'ghc-8.0.2' \
pandoc pandoc-citeproc
CMD git pull && \
git checkout -b work $TREE && \
$HOME/.local/bin/stack install --compiler 'ghc-8.0.2' \
stack install --stack-yaml stack.lts9.yaml \
--flag 'pandoc:static' \
--flag 'pandoc:embed_data_files' \
--flag 'pandoc-citeproc:static' \