2024-10-18 13:10:46 +02:00
|
|
|
ARG ARCHITECTURE_PREFIX=
|
|
|
|
FROM ${ARCHITECTURE_PREFIX}debian:bookworm
|
2019-04-29 17:54:42 +02:00
|
|
|
|
|
|
|
RUN apt-get update -qq && apt-get install --no-install-recommends -qq -y \
|
|
|
|
bindfs \
|
2020-11-10 09:53:00 +01:00
|
|
|
black \
|
2019-04-29 17:54:42 +02:00
|
|
|
clang \
|
2021-10-07 17:28:46 +02:00
|
|
|
clang-tools \
|
|
|
|
clang-format \
|
2019-04-29 17:54:42 +02:00
|
|
|
dbus \
|
|
|
|
desktop-file-utils \
|
|
|
|
elfutils \
|
|
|
|
findutils \
|
2020-11-10 09:53:00 +01:00
|
|
|
flake8 \
|
2019-04-29 17:54:42 +02:00
|
|
|
fuse \
|
|
|
|
gcc \
|
2022-06-24 13:52:03 +02:00
|
|
|
gdb \
|
2019-04-29 17:54:42 +02:00
|
|
|
g++ \
|
|
|
|
gettext \
|
2023-10-10 00:04:21 +02:00
|
|
|
gi-docgen \
|
2019-04-29 17:54:42 +02:00
|
|
|
git \
|
|
|
|
libc6-dev \
|
2023-11-28 19:00:35 +01:00
|
|
|
gobject-introspection \
|
2019-04-29 17:54:42 +02:00
|
|
|
gtk-doc-tools \
|
|
|
|
itstool \
|
|
|
|
lcov \
|
|
|
|
libattr1-dev \
|
2019-10-21 17:45:01 +02:00
|
|
|
libdbus-1-dev \
|
2019-04-29 17:54:42 +02:00
|
|
|
libelf-dev \
|
|
|
|
libffi-dev \
|
2023-11-28 19:00:35 +01:00
|
|
|
libgirepository1.0-dev \
|
2019-04-29 17:54:42 +02:00
|
|
|
libmount-dev \
|
2022-06-24 13:50:26 +02:00
|
|
|
libpcre2-dev \
|
2019-04-29 17:54:42 +02:00
|
|
|
libselinux1-dev \
|
|
|
|
libxml2-utils \
|
|
|
|
libxslt1-dev \
|
|
|
|
libz3-dev \
|
|
|
|
locales \
|
|
|
|
ninja-build \
|
|
|
|
python3 \
|
|
|
|
python3-pip \
|
|
|
|
python3-setuptools \
|
|
|
|
python3-wheel \
|
2023-10-11 14:51:50 +02:00
|
|
|
reuse \
|
2019-04-29 17:54:42 +02:00
|
|
|
shared-mime-info \
|
2020-11-10 09:53:00 +01:00
|
|
|
shellcheck \
|
2019-04-29 17:54:42 +02:00
|
|
|
systemtap-sdt-dev \
|
|
|
|
unzip \
|
|
|
|
wget \
|
|
|
|
xsltproc \
|
|
|
|
xz-utils \
|
|
|
|
zlib1g-dev \
|
|
|
|
&& rm -rf /usr/share/doc/* /usr/share/man/*
|
|
|
|
|
|
|
|
# Locale for our build
|
|
|
|
RUN locale-gen C.UTF-8 && /usr/sbin/update-locale LANG=C.UTF-8
|
|
|
|
|
|
|
|
# Locales for our tests
|
|
|
|
RUN locale-gen de_DE.UTF-8 \
|
|
|
|
&& locale-gen el_GR.UTF-8 \
|
|
|
|
&& locale-gen en_US.UTF-8 \
|
|
|
|
&& locale-gen es_ES.UTF-8 \
|
|
|
|
&& locale-gen fa_IR.UTF-8 \
|
|
|
|
&& locale-gen fr_FR.UTF-8 \
|
|
|
|
&& locale-gen hr_HR.UTF-8 \
|
|
|
|
&& locale-gen ja_JP.UTF-8 \
|
|
|
|
&& locale-gen lt_LT.UTF-8 \
|
|
|
|
&& locale-gen pl_PL.UTF-8 \
|
|
|
|
&& locale-gen ru_RU.UTF-8 \
|
2023-10-18 16:50:57 +02:00
|
|
|
&& locale-gen th_TH.UTF-8 \
|
2019-04-29 17:54:42 +02:00
|
|
|
&& locale-gen tr_TR.UTF-8
|
|
|
|
|
|
|
|
ENV LANG=C.UTF-8 LANGUAGE=C.UTF-8 LC_ALL=C.UTF-8
|
|
|
|
|
2024-09-05 13:31:09 +02:00
|
|
|
RUN pip3 install --break-system-packages meson==1.4.2
|
2022-11-02 16:20:09 +01:00
|
|
|
|
2024-10-19 18:45:51 +02:00
|
|
|
# ninja-build 1.11.1 didn't build with large file support on 32-bit,
|
|
|
|
# breaking the i386 image when used with overlayfs.
|
|
|
|
# The fix from upstream 1.12.0 was backported to Debian in 1.11.1-2,
|
|
|
|
# but too late for Debian 12. https://bugs.debian.org/1041897
|
|
|
|
RUN if [ "$(dpkg --print-architecture)" = i386 ]; then \
|
|
|
|
apt-get install --no-install-recommends -qq -y \
|
|
|
|
debhelper \
|
|
|
|
re2c \
|
|
|
|
&& mkdir /run/build \
|
|
|
|
&& git clone --depth=1 -b debian/1.11.1-2 https://salsa.debian.org/debian/ninja-build.git /run/build/ninja-build \
|
|
|
|
&& cd /run/build/ninja-build \
|
|
|
|
&& git checkout e39b5f01229311916302300449d951735e4a3e3f \
|
|
|
|
&& dpkg-buildpackage -B -Pnodoc \
|
|
|
|
&& dpkg -i ../*.deb \
|
|
|
|
&& cd / \
|
|
|
|
&& rm -fr /run/build; \
|
|
|
|
fi
|
|
|
|
|
2019-04-29 17:54:42 +02:00
|
|
|
ARG HOST_USER_ID=5555
|
|
|
|
ENV HOST_USER_ID ${HOST_USER_ID}
|
|
|
|
RUN useradd -u $HOST_USER_ID -ms /bin/bash user
|
|
|
|
|
|
|
|
USER user
|
|
|
|
WORKDIR /home/user
|
|
|
|
|
2020-01-13 18:31:15 +01:00
|
|
|
COPY cache-subprojects.sh .
|
|
|
|
RUN ./cache-subprojects.sh
|
|
|
|
|
2019-04-29 17:54:42 +02:00
|
|
|
ENV LANG=C.UTF-8 LANGUAGE=C.UTF-8 LC_ALL=C.UTF-8
|