anchor.diff:    git \
     m4 \
     jq \
  -  ncurses-devel \
  -  pkgconfig \
     perl-devel \
     perl-CPAN \
     glibc-devel \
  -  libstdc++-devel \
  -  glibc-static \
     psmisc \
  -  nc \
  -  gcc-c++
  +  wget \
  +  patch \
  +  tar \
  +  unzip \
  +  which \
  +  ccache
   
  -RUN dnf install -y glibc-devel.i686
  -RUN dnf install -y cloc
  -RUN dnf install -y vim-minimal vim
  -RUN dnf install -y ElectricFence.x86_64 ElectricFence.i686
  -RUN dnf install -y automake autoconf
  -RUN dnf install -y wget patch tar unzip
  +# Setup CCache
  +ENV PATH /usr/lib/ccache:$PATH
   
  -# Install SDL packages
  -# Do we need the 64-bit packages?
  -RUN dnf install -y SDL-devel.i686 \
  -  SDL-devel.x86_64 \
  -  SDL_ttf.i686 \
  -  SDL_ttf.x86_64 \
  -  SDL_ttf-devel.i686 \
  -  SDL_ttf-devel.x86_64
  -
  -# Install PHP requirements
  -# Do we need the 64-bit packages?
  -RUN dnf install -y libxml2.i686 \
  -  libxml2.x86_64 \
  -  libxml2-devel.i686 \
  -  libxml2-devel.x86_64 \
  -  libxml.i686 \
  -  libxml.x86_64 \
  -  libxml-devel.i686 \
  -  libxml-devel.x86_64
  -
  -# Python requirements
  -RUN dnf install -y ncurses-static.i686 \
  -  ncurses-libs.i686 \
  -  ncurses-devel.i686 \
  -  sqlite.i686 sqlite-devel.i686 \
  -  gdbm.i686 gdbm-devel.i686 \
  -  openssl-devel.i686 \
  -  tcl.i686 tcl-devel.i686 \
  -  tix.i686 tix-devel.i686 \
  -  tk.i686 tk-devel.i686 \
  -  readline.i686 readline-devel.i686 \
  -  bzip2-devel.i686 bzip2-libs.i686 \
  -  libffi.i686 libffi-devel.i686 \
  -  libX11.i686 libX11-devel.i686
  -
  -# libtiff
  -RUN dnf install -y libstdc++-devel.x86_64
  -
  -# FBC
  -RUN dnf install -y libXpm.i686 libXpm-devel.i686
  -
  -# lighttpd
  -RUN dnf install -y glib2-devel.x86_64 gtk2-devel.x86_64 \
  -  pcre-devel.i686 \
  -  php
  -
  -# openldap
  -RUN dnf install -y libdb-devel.i686 libdb-devel.x86_64
  -
  -# wuftpd
  -RUN dnf install -y ftp
  -
  -# imagemagick
  -RUN dnf install -y fontconfig-devel.x86_64 \
  -  fontconfig-devel.i686 \
  -  freetype-devel.x86_64 \
  -  freetype-devel.i686
  -
  -# Switch to the repair user to install OCaml and OPAM; doesn't seem to work as
  -# I thought it would. Still need to execute commands using sudo -u.
  +# Switch to the repair user to install OCaml and OPAM
   USER repair
   WORKDIR /home/repair
   ENV HOME /home/repair
  
positive.code: #
  # Docker configuration for a stable, consistent automated repair environment,
  # based on Fedora. Comes with the AutomatedRepairBenchmarks.c suite pre-loaded,
  # together with OCaml, OPAM, and GenProg.
  #
  FROM fedora:latest
  USER root
  
negative.code: ENV PATH /home/repair/.opam/4.02.1/bin:$PATH
  
  # Install the prerequisite OPAM packages
  RUN opam update &&\
      opam install -y depext &&\
      opam install -y ocamlfind &&\
      opam install -y yojson &&\
      opam install -y cil &&\
      opam install -y core
  
  # Download and install GenProg 3, before ensuring it is in its most up-to-date
  # form
  ENV GenProgVersion ce62daf66baf34477caf3d75ec335d82b89ad2c3
  RUN git clone https://bitbucket.org/ChrisTimperley/GP3 genprog --depth 1 && \
      $(cd genprog/src && sudo make install) &&\
      rm genprog -rf
  