forked from Eelis/geordi
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Dockerfile
32 lines (23 loc) · 1.47 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
FROM ubuntu:15.04
RUN apt-get update && apt-get install -y libreadline-dev libboost-dev build-essential libgmp-dev pkg-config libseccomp-dev software-properties-common subversion libmpfr-dev libmpc-dev flex zlib1g-dev git libedit-dev ncurses-dev cmake bison libcap-dev python wget
COPY llvm-no-temp-files.patch /geordi/src/
COPY install-clang /geordi/src/
RUN /geordi/src/install-clang
#COPY install-klee /geordi/src/
#RUN /geordi/src/install-klee
COPY install-haskell /geordi/src/
RUN /geordi/src/install-haskell
COPY install-gcc-trunk /geordi/src/
RUN /geordi/src/install-gcc-trunk
RUN cabal update && cabal install --global cabal-install
RUN cabal install --global --reorder-goals --allow-newer=process filepath process deepseq mtl syb unix utf8-string network containers readline parsec Diff directory regex-compat base-unicode-symbols setops streams semigroups regex-posix template-haskell transformers pointed distributive comonad contravariant profunctors semigroupoids irc setlocale snap
# (We could rely on the list in geordi.cabal, but having these here shortens the development cycle when I'm testing changes in geordi.)
COPY src /geordi/src
RUN rm -rf /geordi/src/dist; cabal install --global /geordi/src --prefix=/usr
COPY compile-config /geordi/
WORKDIR /geordi/run
CMD ["/usr/bin/geordi-local"]
# Omitting the quotes and brackets changes the meaning to "shell form", which needs /bin/sh.
COPY prelude /geordi/src/prelude
COPY prep-image /geordi/src/
RUN /geordi/src/prep-image