Skip to content

Commit 4657937

Browse files
committed
Add Dockerfile that builds rune/datadraw
1 parent 92f09e0 commit 4657937

File tree

1 file changed

+47
-0
lines changed

1 file changed

+47
-0
lines changed

Dockerfile

+47
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
FROM ubuntu:23.04
2+
3+
ENV DEBIAN_FRONTEND=noninteractive DEBCONF_NONINTERACTIVE_SEEN=true \
4+
LC_ALL=C.UTF-8 LANG=C.UTF-8 LANGUAGE=C.UTF-8
5+
6+
# Install dependencies
7+
RUN apt-get update && apt-get install -y --no-install-recommends \
8+
# "aclocal" is needed by "autogen.sh"
9+
automake \
10+
autotools-dev \
11+
bison \
12+
build-essential \
13+
ca-certificates \
14+
clang-14 \
15+
flex \
16+
git \
17+
libgmp-dev \
18+
&& update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-14 100 \
19+
&& update-alternatives --install /usr/bin/clang clang /usr/bin/clang-14 100
20+
21+
WORKDIR /tmp
22+
23+
# Build and install DataDraw
24+
RUN git clone https://github.com/waywardgeek/datadraw.git \
25+
&& cd datadraw \
26+
&& ./autogen.sh \
27+
&& ./configure \
28+
&& make \
29+
&& make install
30+
31+
# Build and install Rune
32+
RUN git clone https://github.com/google/rune.git \
33+
&& git clone https://github.com/pornin/CTTK.git \
34+
&& cp CTTK/inc/cttk.h CTTK \
35+
&& cd rune \
36+
&& make \
37+
# Some of these tests are expected to fail, that's OK
38+
&& ./runtests.sh \
39+
# Will install under /usr/local/rune
40+
&& make install
41+
42+
# Test that rune is working
43+
RUN echo "TESTING RUNE" \
44+
&& echo 'println "Hello, World!"' > hello.rn \
45+
&& rune -g hello.rn \
46+
&& ./hello \
47+
&& echo "Should have printed 'Hello, World!'"

0 commit comments

Comments
 (0)