summaryrefslogtreecommitdiff
path: root/Dockerfile
blob: 95c72d6d4f4a16bb7edcd6f032ee5febc96d7e99 (plain)
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
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