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 36 37 38 39 40 41 42 43 44 45 46
|
# syntax=docker/dockerfile:1
ARG OS_VERSION
## Use the official Ubuntu <OS_VERSION> Image from Dockerhub
FROM docker.io/library/ubuntu:${OS_VERSION}
## Set up environment variables so the tzdata install doesn't
## hang on asking for user input for configuration
ARG DEBIAN_FRONTEND="noninteractive"
ARG TZ="America/New_York"
ENV PACKAGE_TYPE="DEB"
## Install the deps and create the build directory
RUN <<EOR
#!/bin/bash -x
if [[ "${VERSION_ID}" == "20.04" ]]; then
apt-get -y update
apt-get -y install gnupg wget
wget -O ./key.asc https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null
gpg -v -o /usr/share/keyrings/kitware-archive-keyring.gpg --dearmor ./key.asc
echo 'deb [signed-by=/usr/share/keyrings/kitware-archive-keyring.gpg] https://apt.kitware.com/ubuntu/ focal main' | tee /etc/apt/sources.list.d/kitware.list >/dev/null
apt-get -y update
apt-get -y install cmake
fi
EOR
RUN <<EOR
#!/bin/bash -x
apt-get update
apt-get install -y --no-install-recommends git cmake build-essential \
gettext help2man libopenblas-dev libfftw3-dev libicu-dev libepoxy-dev \
libsdl2-dev libfreetype6-dev libpango1.0-dev librsvg2-dev libxml++2.6-dev \
libavcodec-dev libavformat-dev libswscale-dev libjpeg-dev \
portaudio19-dev libglm-dev libboost-filesystem-dev nlohmann-json3-dev\
libboost-iostreams-dev libboost-locale-dev libboost-system-dev \
libboost-program-options-dev libssl-dev libcpprest-dev \
libportmidi-dev libopencv-dev libaubio-dev \
libfmt-dev ca-certificates file libgtest-dev libgmock-dev google-mock
apt-get clean
mkdir -p /root/performous
EOR
## Copy in the build script to make things easy
COPY build_performous.sh /root/performous/build_performous.sh
COPY run_tests.sh /root/performous/run_tests.sh
WORKDIR /root/performous
|