-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathDockerfile
More file actions
45 lines (34 loc) · 1.07 KB
/
Dockerfile
File metadata and controls
45 lines (34 loc) · 1.07 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
FROM base/archlinux:latest
# Install make, git, autoconf, ghc, cabal, gcc and Xen 4.4 from AUR. Then
# clone 'master' of HaLVM and build it.
# Finally compile install the HaNS from github.
MAINTAINER Sven Heyll <sven.heyll@gmail.com>
USER root
ENV PATH /opt/halvm/bin:/build/.cabal/bin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin
ENV HOME /build
# Archlinux stuff
ADD pacman.conf /etc/pacman.conf
RUN pacman --noconfirm -Syu; pacman --noconfirm -S yaourt
# Install all the dependencies listed in 'TO_INSTALL'
ADD TO_INSTALL /TO_INSTALL
RUN cat /TO_INSTALL | xargs yaourt --noconfirm -S
# Install HaLVM
WORKDIR /build
RUN git clone https://github.com/GaloisInc/HaLVM.git
WORKDIR /build/HaLVM
RUN git submodule update --init --recursive
RUN autoconf; ./configure --prefix=/opt/halvm --enable-gmp
RUN make
RUN make install
# Remove HaLVM build directory
WORKDIR /build
RUN rm -rf HaLVM
# Update cabal
RUN cabal update
# Install HaNS
WORKDIR /build
RUN git clone https://github.com/GaloisInc/HaNS.git
WORKDIR /build/HaNS
RUN halvm-cabal -j1 install
WORKDIR /build
CMD /usr/bin/bash