2017-01-31 09:26:57 +00:00
|
|
|
# Pin the base image to a specific hash for maximum reproducibility.
|
2018-11-03 17:25:40 +00:00
|
|
|
# It will probably still work on newer images, though, unless Debian
|
2017-01-31 09:26:57 +00:00
|
|
|
# changes some compiler optimisations (unlikely).
|
2019-02-01 09:25:29 +00:00
|
|
|
#FROM ocaml/opam2:debian-9-ocaml-4.07
|
2019-03-24 13:13:11 +00:00
|
|
|
FROM ocaml/opam2@sha256:f7125924dd6632099ff98b2505536fe5f5c36bf0beb24779431bb62be5748562
|
2017-01-28 13:44:21 +00:00
|
|
|
|
|
|
|
# Pin last known-good version for reproducible builds.
|
2017-01-31 09:26:57 +00:00
|
|
|
# Remove this line (and the base image pin above) if you want to test with the
|
|
|
|
# latest versions.
|
2019-05-01 10:05:14 +01:00
|
|
|
RUN git fetch origin && git reset --hard d1b2a1cbc28d43926b37e61f46fc403b48ab9c23 && opam update
|
2017-01-28 13:44:21 +00:00
|
|
|
|
2018-11-03 17:25:40 +00:00
|
|
|
RUN sudo apt-get install -y m4 libxen-dev pkg-config
|
2019-04-08 10:34:30 +01:00
|
|
|
RUN opam pin add -yn cmdliner 'https://github.com/talex5/cmdliner.git#repro-builds'
|
2019-04-16 18:05:08 +01:00
|
|
|
RUN opam install -y vchan mirage-xen-ocaml mirage-xen-minios io-page mirage-xen mirage mirage-nat mirage-qubes
|
2017-01-09 16:45:16 +00:00
|
|
|
RUN mkdir /home/opam/qubes-mirage-firewall
|
|
|
|
ADD config.ml /home/opam/qubes-mirage-firewall/config.ml
|
|
|
|
WORKDIR /home/opam/qubes-mirage-firewall
|
2017-03-05 16:31:04 +00:00
|
|
|
RUN opam config exec -- mirage configure -t xen && make depend
|
|
|
|
CMD opam config exec -- mirage configure -t xen && \
|
2017-01-09 16:45:16 +00:00
|
|
|
opam config exec -- make tar
|