Revision 3fcc6df97534519537a3381b38ccce45a9c35ba1 authored by Grégoire Henry on 19 November 2017, 17:00:04 UTC, committed by Benjamin Canou on 26 November 2017, 22:49:16 UTC
1 parent 450d0db
Raw File
Dockerfile.alpine.in
## Based on https://github.com/ocaml/opam-dockerfiles

FROM alpine:$alpine_version

RUN apk update && apk upgrade && \
    apk add build-base snappy-dev abuild alpine-sdk \
            openssh bash nano ncurses-dev rsync xz m4 \
            opam aspcud \
            gmp-dev libev-dev libressl-dev linux-headers pcre-dev perl zlib-dev \
            libsodium-dev && \
    rm -f /var/cache/apk/* && \
    adduser -S opam && \
    adduser opam abuild && \
    echo 'opam ALL=(ALL:ALL) NOPASSWD:ALL' > /etc/sudoers.d/opam && \
    chmod 440 /etc/sudoers.d/opam && \
    chown root:root /etc/sudoers.d/opam && \
    sed -i.bak 's/^Defaults.*requiretty//g' /etc/sudoers

USER opam

WORKDIR /home/opam

RUN mkdir .ssh && \
    chmod 700 .ssh && \
    git config --global user.email "docker@example.com" && \
    git config --global user.name "Docker CI" && \
    sudo -u opam sh -c "git clone -b master git://github.com/ocaml/opam-repository" && \
    sudo -u opam sh -c "opam init -a -y --comp $ocaml_version /home/opam/opam-repository" && \
    sudo -u opam sh -c "opam install -y depext travis-opam"

COPY scripts/leveldb-1.18.APKBUILD /home/opam/leveldb-1.18/APKBUILD
RUN sudo chown -R opam leveldb-1.18

RUN sudo apk update && \
    abuild-keygen -ai && \
    cd leveldb-1.18 && \
    abuild checksum && abuild -r && \
    cd .. && \
    sudo apk add packages/opam/x86_64/leveldb-1.18-r0.apk && \
    sudo apk add packages/opam/x86_64/leveldb-dev-1.18-r0.apk && \
    rm -rf leveldb-1.18 packages && \
    sudo rm -f /var/cache/apk/*

ENTRYPOINT [ "opam", "config", "exec", "--" ]

CMD [ "sh" ]
back to top