FROM circleci/buildpack-deps:xenial

# Make sure all packages are up to date for the install
RUN sudo apt-get update && sudo apt-get upgrade

# Required for LLVM
RUN sudo apt-get install software-properties-common apt-transport-https -y

# Install LLVM7 and LLVM8
RUN wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
RUN sudo add-apt-repository 'deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-8 main'
RUN sudo add-apt-repository 'deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-7 main'
RUN sudo apt-get update -qq

# Install LLVM8 binaries
# clang is reuired due to a check by qmake
# clang-tidy-8 has new errors compared to clang-tidy-7, so we haven't upgraded.
RUN sudo apt-get install clang-format-8 -y
RUN sudo apt-get install clang-tidy-7 -y
RUN sudo apt-get install clang-8 -y
RUN sudo apt-get install clang -y

# Install g++
RUN sudo add-apt-repository ppa:ubuntu-toolchain-r/test
RUN sudo apt-get update
RUN sudo apt-get install g++-7 -y

# Add Qt 5.12 repos
RUN sudo add-apt-repository ppa:beineri/opt-qt-5.12.2-xenial -y
RUN sudo apt-get update -qq

# Get build-essential and libgl1-mesa-dev
RUN sudo apt-get install build-essential libgl1-mesa-dev -y

# Install Qt packages
RUN sudo apt-get install qt512-meta-minimal qt512multimedia qt512declarative qt512quickcontrols2 qt512quickcontrols qt512tools qt512imageformats qt512svg qt512base qtchooser -y

# Install X11 packages
RUN sudo apt-get install libx11-dev libxt-dev libxtst-dev -y

# Install PulseAudio packages
RUN sudo apt-get install libpulse-dev -y

# Install bear/clang-tidy
RUN sudo apt-get install bear clang-tidy -y

# Install SDL libs
RUN sudo apt-get install libsdl2-2.0-0 -y

# Set up qtchooser
RUN qtchooser -install opt-qt512 /opt/qt512/bin/qmake

