mirror of
https://github.com/darlinghq/darling.git
synced 2024-11-26 22:00:29 +00:00
42 lines
2.6 KiB
Docker
42 lines
2.6 KiB
Docker
# 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}
|