summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdrian Thurston <thurston@colm.net>2021-12-26 22:38:16 +0000
committerAdrian Thurston <thurston@colm.net>2021-12-26 23:12:00 +0000
commit0462c7e50ec337e9d60e84be0ca5f679a7f27f43 (patch)
treee9eece2b0c2ec6ab2badfde9a36d70d4253d73c1
parentaa89fc87131ae7b0b138dd18d13c9238edb1e18e (diff)
downloadragel-0462c7e50ec337e9d60e84be0ca5f679a7f27f43.tar.gz
renamed Dockerfile and added a new dockerfile for building from master
The existing dockerfile builds a release version of ragel and does not do any testing. Renamed this to release.Dockerfile. Added a new dockerfile called master.Dockerfile that installs all depenendencies for testing all host languages. It then builds colm and ragel from master.
-rw-r--r--.dockerignore14
-rw-r--r--master.Dockerfile45
-rw-r--r--release.Dockerfile (renamed from Dockerfile)0
3 files changed, 59 insertions, 0 deletions
diff --git a/.dockerignore b/.dockerignore
new file mode 100644
index 00000000..5c509fe8
--- /dev/null
+++ b/.dockerignore
@@ -0,0 +1,14 @@
+# Docker
+**/.dockerignore
+**/*Dockerfile
+
+# Circle-ci
+**/*circle.yml
+
+# Vagrant
+**/*Vagrantfile
+**/.vagrant/
+
+# Vim swap files
+**/.*.sw[po]
+
diff --git a/master.Dockerfile b/master.Dockerfile
new file mode 100644
index 00000000..6df82975
--- /dev/null
+++ b/master.Dockerfile
@@ -0,0 +1,45 @@
+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 \
+ wget clang gnupg gdc default-jdk \
+ ruby mono-mcs golang ocaml rustc julia \
+ gnustep-make python2 python-is-python2 \
+ libpcre3-dev libgnustep-base-dev
+
+WORKDIR /devel/llvm/
+RUN wget https://releases.llvm.org/3.3/llvm-3.3.src.tar.gz
+RUN tar -zxf llvm-3.3.src.tar.gz
+WORKDIR /devel/llvm/llvm-3.3.src
+RUN ./configure --prefix=/pkgs/llvm-3.3
+RUN make REQUIRES_RTTI=1; exit 0
+RUN make install; exit 0
+
+WORKDIR /devel/crack
+RUN wget http://crack-lang.org/downloads/crack-1.6.tar.gz
+RUN tar -zxf crack-1.6.tar.gz
+WORKDIR /devel/crack/crack-1.6
+ENV PATH=/pkgs/llvm-3.3/bin:$PATH
+RUN ./configure --prefix=/pkgs/crack-1.3
+RUN make install
+ENV PATH=/pkgs/crack-1.3/bin:$PATH
+
+WORKDIR /devel
+RUN git clone https://github.com/adrian-thurston/colm.git
+WORKDIR /devel/colm
+RUN ./autogen.sh
+RUN ./configure --prefix=/pkgs/colm
+RUN make install
+
+COPY . /devel/ragel
+WORKDIR /devel/ragel
+RUN ./autogen.sh
+RUN ./configure --prefix=/pkgs/ragel --with-colm=/pkgs/colm
+RUN make
+
+WORKDIR /devel/ragel/test
+RUN ./runtests
+
diff --git a/Dockerfile b/release.Dockerfile
index 1f35eb94..1f35eb94 100644
--- a/Dockerfile
+++ b/release.Dockerfile