# syntax=docker.io/docker/dockerfile:1

ARG BASE_IMAGE=docker.io/debian:testing
FROM ${BASE_IMAGE}

SHELL ["/bin/bash", "-e", "-o", "pipefail", "-c"]

ENV LANG=C.UTF-8

RUN <<EOF
  PACKAGES=(
    bash
    bash-completion
    bison
    build-essential
    ca-certificates
    cmake
    devscripts
    equivs
    flex
    git
    glslang-dev
    glslang-tools
    hwdata
    libavcodec-dev
    libavformat-dev
    libavutil-dev
    libcairo2-dev
    libdisplay-info-dev
    libdrm-dev
    libgbm-dev
    libgdk-pixbuf-2.0-dev
    libgles-dev
    libinput-dev
    libjson-c-dev
    liblcms2-dev
    libliftoff-dev
    libmpdclient-dev
    libnl-3-dev
    libpango1.0-dev
    libpcre2-dev
    libseat-dev
    libstartup-notification0-dev
    libsystemd-dev
    libudev-dev
    libvulkan-dev
    libwayland-bin
    libwayland-client0
    libwayland-dev
    libxcb-composite0-dev
    libxcb-cursor-dev
    libxcb-errors-dev
    libxcb-ewmh-dev
    libxcb-icccm4-dev
    libxcb-keysyms1-dev
    libxcb-present-dev
    libxcb-render-util0-dev
    libxcb-res0-dev
    libxcb-util-dev
    libxcb-xinerama0-dev
    libxcb-xinput-dev
    libxcb-xkb-dev
    libxkbcommon-dev
    libxkbcommon-x11-dev
    meson
    scdoc
    wayland-protocols
    wget
    xwayland
  )

  apt-get update
  apt-get --yes install --no-install-recommends "${PACKAGES[@]}"
  dpkg -l > /dev/stderr
EOF

WORKDIR /build

ARG WLROOTSVERSION WLROOTSLIBVERSION SWAYFXVERSION SCENEFXVERSION SCENEFXLIBVERSION ROFIVERSION

ENV WLROOTSVERSION=${WLROOTSVERSION}
ENV WLROOTSLIBVERSION=${WLROOTSLIBVERSION}
ENV SWAYFXVERSION=${SWAYFXVERSION}
ENV SCENEFXVERSION=${SCENEFXVERSION}
ENV SCENEFXLIBVERSION=${SCENEFXLIBVERSION}
ENV ROFIVERSION=${ROFIVERSION}

RUN <<EOF
  wget "https://gitlab.freedesktop.org/wlroots/wlroots/-/archive/${WLROOTSVERSION}/wlroots-${WLROOTSVERSION}.tar.gz"
  tar -xf "wlroots-${WLROOTSVERSION}.tar.gz"
  rm "wlroots-${WLROOTSVERSION}.tar.gz"
EOF

RUN <<EOF
  wget "https://github.com/WillPower3309/swayfx/archive/refs/tags/${SWAYFXVERSION}.tar.gz"
  tar -xf "${SWAYFXVERSION}.tar.gz"
  rm "${SWAYFXVERSION}.tar.gz"
EOF

RUN <<EOF
  wget "https://github.com/wlrfx/scenefx/archive/refs/tags/${SCENEFXVERSION}.tar.gz"
  tar -xf "${SCENEFXVERSION}.tar.gz"
  rm "${SCENEFXVERSION}.tar.gz"
EOF

RUN <<EOF
  #wget "https://github.com/davatorium/rofi/releases/download/${ROFIVERSION}/rofi-${ROFIVERSION}.tar.gz"
  #tar -xf "rofi-${ROFIVERSION}.tar.gz"
  #rm "rofi-${ROFIVERSION}.tar.gz"
  git clone --recursive https://github.com/DaveDavenport/rofi rofi-${ROFIVERSION}
  cd rofi-${ROFIVERSION}
  git submodule update --init
EOF

COPY build.sh .
RUN chmod 755 build.sh

ENTRYPOINT ["/build/build.sh"]
