ARG UBUNTU_VERSION=22.04

FROM ubuntu:$UBUNTU_VERSION

ARG QT_VERSION=6.2.4
ARG BUILD_WITH_QT6=ON

ENV TZ=UTC
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

RUN apt-get update && apt-get -y install --no-install-recommends \
        cmake \
        virtualenv \
        rapidjson-dev \
        libfuse2 \
        libssl-dev \
        libboost-dev \
        libxcb-randr0-dev \
        libboost-system-dev \
        libboost-filesystem-dev \
        libpulse-dev \
        libxkbcommon-x11-0 \
        build-essential \
        libgl1-mesa-dev \
        libxcb-icccm4 \
        libxcb-image0 \
        libxcb-keysyms1 \
        libxcb-render-util0 \
        libxcb-xinerama0 \
        libfontconfig1-dev

RUN apt-get -y install \
        git \
        lsb-release \
        python3-pip && \
        apt-get clean all

# Install Qt as we do in CI

RUN pip3 install -U pip && \
        pip3 install aqtinstall && \
        aqt install-qt linux desktop $QT_VERSION -O /opt/qt --modules qt5compat

ADD . /src

RUN mkdir /src/build

# cmake
RUN cd /src/build && \
        CXXFLAGS=-fno-sized-deallocation cmake \
        -DBUILD_WITH_QT6=$BUILD_WITH_QT6 \
        -DCMAKE_INSTALL_PREFIX=appdir/usr/ \
        -DCMAKE_PREFIX_PATH=/opt/qt/$QT_VERSION/gcc_64/lib/cmake \
        -DBUILD_WITH_QTKEYCHAIN=OFF \
        ..

# build
RUN cd /src/build && \
        make -j8