forked from kevinlewi/mmap-experiments
-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathDockerfile
57 lines (49 loc) · 1.27 KB
/
Dockerfile
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
46
47
48
49
50
51
52
53
54
55
56
57
#
# To use, run:
# docker build -t 5gen .
# docker run -it 5gen /bin/bash
#
FROM ubuntu:16.04
RUN apt-get -y update
RUN apt-get -y install software-properties-common
RUN add-apt-repository -y ppa:hvr/ghc
RUN apt-get -y update
RUN apt-get -y install git
RUN apt-get -y install gcc g++
RUN apt-get -y install autoconf libtool make
RUN apt-get -y install libgmp3-dev libmpfr-dev libmpfr4 libssl-dev libflint-dev
RUN apt-get -y install python python-dev python-setuptools python-numpy
RUN apt-get -y install wget zip
RUN apt-get -y install cabal-install ghc
#
# Install Z3
#
WORKDIR /inst
RUN wget https://github.com/Z3Prover/z3/archive/z3-4.5.0.tar.gz
RUN tar xf z3-4.5.0.tar.gz
WORKDIR /inst/z3-z3-4.5.0
RUN ./configure
WORKDIR /inst/z3-z3-4.5.0/build
RUN make -j8
RUN make install
#
# Install cryfsm
#
WORKDIR /inst
RUN git clone https://github.com/5GenCrypto/cryfsm.git
WORKDIR /inst/cryfsm
RUN cabal update
RUN cabal sandbox init
RUN cabal install alex
RUN cabal install happy
RUN cabal install
RUN ln .cabal-sandbox/bin/cryfsm /usr/bin/cryfsm
RUN ln .cabal-sandbox/bin/fsmevade /usr/bin/fsmevade
RUN ln .cabal-sandbox/bin/numfsm /usr/bin/numfsm
#
# Get 5gen repository
#
WORKDIR /inst
RUN git clone https://github.com/5GenCrypto/5gen.git
WORKDIR /inst/5gen
CMD git pull origin master