summaryrefslogtreecommitdiff
path: root/Dockerfile
diff options
context:
space:
mode:
authorAdrian Thurston <thurston@colm.net>2021-02-15 16:18:27 -0800
committerAdrian Thurston <thurston@colm.net>2021-02-15 16:18:27 -0800
commitb2ddda280e27e9261f8b4aa143a74993edcd9e00 (patch)
tree57cb1740454b1a99e36b3aab1c37f6c438529d3a /Dockerfile
parent0559d8f0b3e4450b72e8ced99766c32dfc8c9291 (diff)
downloadragel-b2ddda280e27e9261f8b4aa143a74993edcd9e00.tar.gz
added a dockerfile for testing a build from the web
Diffstat (limited to 'Dockerfile')
-rw-r--r--Dockerfile35
1 files changed, 35 insertions, 0 deletions
diff --git a/Dockerfile b/Dockerfile
new file mode 100644
index 00000000..95c72d6d
--- /dev/null
+++ b/Dockerfile
@@ -0,0 +1,35 @@
+FROM ubuntu:focal AS build
+
+ENV DEBIAN_FRONTEND="noninteractive"
+
+# Build dependencies we can get from apt.
+RUN apt-get update && apt-get install -y \
+ git libtool autoconf automake g++ gcc make \
+ curl clang gnupg gdc openjdk-14-jdk \
+ ruby mono-mcs golang ocaml rustc julia
+
+RUN curl https://www.colm.net/files/thurston.asc | gpg --import -
+
+WORKDIR /build
+ENV COLM_VERSION=0.14.7
+RUN curl -O https://www.colm.net/files/colm/colm-${COLM_VERSION}.tar.gz
+RUN curl -O https://www.colm.net/files/colm/colm-${COLM_VERSION}.tar.gz.asc
+RUN gpg --verify colm-${COLM_VERSION}.tar.gz.asc colm-${COLM_VERSION}.tar.gz
+RUN tar -zxvf colm-${COLM_VERSION}.tar.gz
+WORKDIR /build/colm-${COLM_VERSION}
+RUN ./configure --prefix=/opt/colm.net/colm --disable-manual
+RUN make -j
+RUN make install
+
+WORKDIR /build
+ENV RAGEL_VERSION=7.0.4
+RUN curl -O https://www.colm.net/files/ragel/ragel-${RAGEL_VERSION}.tar.gz
+RUN curl -O https://www.colm.net/files/ragel/ragel-${RAGEL_VERSION}.tar.gz.asc
+RUN gpg --verify ragel-${RAGEL_VERSION}.tar.gz.asc ragel-${RAGEL_VERSION}.tar.gz
+RUN tar -zxvf ragel-${RAGEL_VERSION}.tar.gz
+WORKDIR /build/ragel-${RAGEL_VERSION}
+RUN ./configure --prefix=/opt/colm.net/ragel --with-colm=/opt/colm.net/colm --disable-manual
+RUN make -j
+RUN make install
+WORKDIR /build/ragel-${RAGEL_VERSION}/test
+RUN ./runtests