Linux package: new debian-based non-static build.
This commit is contained in:
parent
432be748ce
commit
5a7a3f15d2
4 changed files with 44 additions and 25 deletions
|
@ -1,30 +1,19 @@
|
|||
# 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
|
||||
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
|
||||
RUN echo "build: { split-objs: true }" > /etc/stack/config.yaml
|
||||
#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 && \
|
||||
stack install --stack-yaml stack.pkg.yaml \
|
||||
--flag 'pandoc:static' \
|
||||
--flag 'pandoc:embed_data_files' \
|
||||
--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
|
||||
ARTIFACTS=/artifacts sh make_linux.sh
|
||||
|
|
30
linux/Dockerfile.alpine
Normal file
30
linux/Dockerfile.alpine
Normal file
|
@ -0,0 +1,30 @@
|
|||
# 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 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 && \
|
||||
stack install --stack-yaml stack.pkg.yaml \
|
||||
--flag 'pandoc:static' \
|
||||
--flag 'pandoc:embed_data_files' \
|
||||
--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
|
|
@ -4,15 +4,15 @@ REVISION?=1
|
|||
|
||||
build:
|
||||
mkdir -p $(ARTIFACTS)
|
||||
docker build -t alpine-pandoc .
|
||||
docker build -t debian-pandoc .
|
||||
docker run --env TREE=$(TREE) --env REVISION=$(REVISION) \
|
||||
-v $(ARTIFACTS):/artifacts alpine-pandoc
|
||||
-v $(ARTIFACTS):/artifacts debian-pandoc
|
||||
|
||||
interact:
|
||||
docker run --env TREE=$(TREE) --env REVISION=$(REVISION) \
|
||||
-v $(ARTIFACTS):/artifacts -it alpine-pandoc bash
|
||||
-v $(ARTIFACTS):/artifacts -it debian-pandoc bash
|
||||
|
||||
setup:
|
||||
docker pull alpine:edge
|
||||
docker pull debian:jessie
|
||||
|
||||
.PHONY: build setup interact
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
#!/bin/bash -e
|
||||
|
||||
ARTIFACTS=`pwd`/linux/artifacts
|
||||
ARTIFACTS=?`pwd`/linux/artifacts
|
||||
|
||||
mkdir -p $ARTIFACTS
|
||||
stack clean
|
||||
|
|
Loading…
Add table
Reference in a new issue