# this Dockerfile must be built using the following command: # docker build -f ../ci/Debian.Dockerfile . # this command must be run while in the `debian` directory in the root of the repo. ARG BASE_IMAGE=ubuntu:jammy FROM $BASE_IMAGE LABEL name=darling-build-image version=0.1.0 ARG DEBIAN_FRONTEND="noninteractive" RUN cp /etc/apt/sources.list /etc/apt/sources.list.d/sources-src.list && sed -i 's|deb http|deb-src http|g' /etc/apt/sources.list.d/sources-src.list RUN apt-get -y update RUN apt-get -y install cmake clang bison flex libfuse-dev libudev-dev pkg-config libc6-dev-i386 gcc-multilib libcairo2-dev libgl1-mesa-dev libglu1-mesa-dev libtiff5-dev libfreetype6-dev git git-lfs libelf-dev libxml2-dev libegl1-mesa-dev libfontconfig1-dev libbsd-dev libxrandr-dev libxcursor-dev libgif-dev libavutil-dev libpulse-dev libavformat-dev libavcodec-dev libswresample-dev libdbus-1-dev libxkbfile-dev libssl-dev llvm-dev libvulkan-dev && apt clean -y RUN apt-get -y install lsb-release && apt clean -y RUN apt-get -y install devscripts equivs debhelper && apt clean -y COPY control /control RUN mk-build-deps -i -r -t "apt-get --no-install-recommends -y" /control && apt clean -y RUN rm /control RUN apt-get -y install ccache && apt clean -y RUN apt-get -y install wget gpg ca-certificates && apt clean -y RUN if [ "$(clang --version | head -n 1 | cut -d ' ' -f 3 | cut -d '.' -f 1)" -lt 11 ]; then \ wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | apt-key add - && \ echo "deb http://apt.llvm.org/$(lsb_release -cs)/ llvm-toolchain-$(lsb_release -cs) main" >> /etc/apt/sources.list.d/llvm.list && \ echo "deb-src http://apt.llvm.org/$(lsb_release -cs)/ llvm-toolchain-$(lsb_release -cs) main" >> /etc/apt/sources.list.d/llvm.list && \ apt-get update; \ fi RUN if [ "$(cmake --version | head -n 1 | cut -d ' ' -f 3 | awk '{print $1"\n3.20"}' | sort -Vr | head -n 1)" = "3.20" ]; then \ wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | gpg --dearmor - | tee /usr/share/keyrings/kitware-archive-keyring.gpg >/dev/null && \ echo "deb [signed-by=/usr/share/keyrings/kitware-archive-keyring.gpg] https://apt.kitware.com/ubuntu/ $(lsb_release -cs) main" | tee /etc/apt/sources.list.d/kitware.list >/dev/null && \ apt-get update; \ fi RUN apt-get install -y --only-upgrade clang cmake && apt clean -y ARG CI_UID=1111 ARG CI_GID=1111 RUN groupadd -g "${CI_GID}" ci || true RUN useradd -u "${CI_UID}" -g "${CI_GID}" -m ci || true RUN mkdir -p /ccache RUN mkdir -p /src/mnt RUN chown -R ${CI_UID}:${CI_GID} /src USER ${CI_UID}:${CI_GID}