FROM oraclelinux:9

ENV KASMVNC_BUILD_OS oracle
ENV KASMVNC_BUILD_OS_CODENAME 9
ENV XORG_VER 1.20.11

# Install from stock repos
RUN \
  dnf config-manager --set-enabled ol9_codeready_builder && \
  dnf config-manager --set-enabled ol9_distro_builder && \
  dnf install -y \
    bzip2-devel \
    ca-certificates \
    cmake \
    dnf-plugins-core \
    gcc \
    gcc-c++ \
    git \
    gnutls-devel \
    libjpeg-turbo-devel \
    libpng-devel \
    libtiff-devel \
    libxshmfence-devel \
    make \
    mesa-dri-drivers \
    mesa-libGL-devel \
    mesa-libgbm-devel \
    openssl-devel \
    openssl-devel \
    patch \
    tigervnc-server \
    wget \
    xorg-x11-font-utils \
    zlib-devel

# Enable additional repos (epel, powertools, and fusion)
RUN dnf install -y oracle-epel-release-el9
RUN dnf install -y --nogpgcheck https://mirrors.rpmfusion.org/free/el/rpmfusion-free-release-9.noarch.rpm

# Install from new repos
RUN dnf install -y \
  giflib-devel \
  lbzip2 \
  libXfont2-devel \
  libxkbfile-devel \
  xorg-x11-server-devel \
  xorg-x11-xtrans-devel \
  libXrandr-devel \
  libXtst-devel \
  libXcursor-devel


ENV SCRIPTS_DIR=/tmp/scripts
COPY builder/scripts $SCRIPTS_DIR
RUN $SCRIPTS_DIR/build-webp
RUN $SCRIPTS_DIR/build-libjpeg-turbo

RUN useradd -m docker && echo "docker:docker" | chpasswd

COPY --chown=docker:docker . /src/

USER docker
ENTRYPOINT ["/src/builder/build.sh"]
