content: #
  # This dockerfile demontrates a build of ragel with full testing. All testing
  # dependencies are installed and the test suite is run.
  #
  
  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
  
  