1cd150e19SAlex Bennée# THIS FILE WAS AUTO-GENERATED
2ec22b726SAlex Bennée#
3ca9cde57SAlex Bennée#  $ lcitool dockerfile --layers all --cross-arch x86_64 debian-12 qemu
4ec22b726SAlex Bennée#
5cd150e19SAlex Bennée# https://gitlab.com/libvirt/libvirt-ci
6ec22b726SAlex Bennée
7ca9cde57SAlex BennéeFROM docker.io/library/debian:12-slim
8ec22b726SAlex Bennée
9cd150e19SAlex BennéeRUN export DEBIAN_FRONTEND=noninteractive && \
10cd150e19SAlex Bennée    apt-get update && \
11cd150e19SAlex Bennée    apt-get install -y eatmydata && \
12cd150e19SAlex Bennée    eatmydata apt-get dist-upgrade -y && \
13cd150e19SAlex Bennée    eatmydata apt-get install --no-install-recommends -y \
14cd150e19SAlex Bennée                      bash \
15cd150e19SAlex Bennée                      bc \
168fae3910SAnton Johansson                      bison \
17cd150e19SAlex Bennée                      bsdextrautils \
18cd150e19SAlex Bennée                      bzip2 \
19cd150e19SAlex Bennée                      ca-certificates \
20cd150e19SAlex Bennée                      ccache \
21cd150e19SAlex Bennée                      dbus \
22cd150e19SAlex Bennée                      debianutils \
23cd150e19SAlex Bennée                      diffutils \
24cd150e19SAlex Bennée                      exuberant-ctags \
25cd150e19SAlex Bennée                      findutils \
268fae3910SAnton Johansson                      flex \
27690be804SAlex Bennée                      gcc \
28cd150e19SAlex Bennée                      gcovr \
29cd150e19SAlex Bennée                      gettext \
30cd150e19SAlex Bennée                      git \
31cd150e19SAlex Bennée                      hostname \
328fae3910SAnton Johansson                      libglib2.0-dev \
33cd150e19SAlex Bennée                      libpcre2-dev \
348f4bcbcfSBrad Smith                      libsndio-dev \
35cd150e19SAlex Bennée                      libspice-protocol-dev \
36cd150e19SAlex Bennée                      llvm \
37cd150e19SAlex Bennée                      locales \
38cd150e19SAlex Bennée                      make \
39cd150e19SAlex Bennée                      meson \
40da900078SAni Sinha                      mtools \
41cd150e19SAlex Bennée                      ncat \
42cd150e19SAlex Bennée                      ninja-build \
43cd150e19SAlex Bennée                      openssh-client \
44cd150e19SAlex Bennée                      pkgconf \
45cd150e19SAlex Bennée                      python3 \
46cd150e19SAlex Bennée                      python3-numpy \
47cd150e19SAlex Bennée                      python3-opencv \
48cd150e19SAlex Bennée                      python3-pillow \
49cd150e19SAlex Bennée                      python3-pip \
50cd150e19SAlex Bennée                      python3-sphinx \
51cd150e19SAlex Bennée                      python3-sphinx-rtd-theme \
52cd150e19SAlex Bennée                      python3-venv \
53cd150e19SAlex Bennée                      python3-yaml \
54cd150e19SAlex Bennée                      rpm2cpio \
55cd150e19SAlex Bennée                      sed \
56ab4c1361SAlex Bennée                      socat \
57cd150e19SAlex Bennée                      sparse \
583e3df0d8SAlex Bennée                      swtpm \
59cd150e19SAlex Bennée                      tar \
60cd150e19SAlex Bennée                      tesseract-ocr \
61bbe30763SAlex Bennée                      tesseract-ocr-eng \
62da900078SAni Sinha                      xorriso \
63bbe30763SAlex Bennée                      zstd && \
64cd150e19SAlex Bennée    eatmydata apt-get autoremove -y && \
65cd150e19SAlex Bennée    eatmydata apt-get autoclean -y && \
66cd150e19SAlex Bennée    sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen && \
672355d18cSThomas Huth    dpkg-reconfigure locales && \
682355d18cSThomas Huth    rm -f /usr/lib*/python3*/EXTERNALLY-MANAGED
69cd150e19SAlex Bennée
708f4bcbcfSBrad SmithENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
71cd150e19SAlex BennéeENV LANG "en_US.UTF-8"
72cd150e19SAlex BennéeENV MAKE "/usr/bin/make"
73cd150e19SAlex BennéeENV NINJA "/usr/bin/ninja"
74cd150e19SAlex BennéeENV PYTHON "/usr/bin/python3"
75cd150e19SAlex Bennée
76cd150e19SAlex BennéeRUN export DEBIAN_FRONTEND=noninteractive && \
77cd150e19SAlex Bennée    dpkg --add-architecture amd64 && \
78cd150e19SAlex Bennée    eatmydata apt-get update && \
79cd150e19SAlex Bennée    eatmydata apt-get dist-upgrade -y && \
80cd150e19SAlex Bennée    eatmydata apt-get install --no-install-recommends -y dpkg-dev && \
81cd150e19SAlex Bennée    eatmydata apt-get install --no-install-recommends -y \
82cd150e19SAlex Bennée                      g++-x86-64-linux-gnu \
83cd150e19SAlex Bennée                      gcc-x86-64-linux-gnu \
84cd150e19SAlex Bennée                      libaio-dev:amd64 \
85a6f376e9SIlya Maximets                      libasan6:amd64 \
86cd150e19SAlex Bennée                      libasound2-dev:amd64 \
87cd150e19SAlex Bennée                      libattr1-dev:amd64 \
88cd150e19SAlex Bennée                      libbpf-dev:amd64 \
89cd150e19SAlex Bennée                      libbrlapi-dev:amd64 \
90cd150e19SAlex Bennée                      libbz2-dev:amd64 \
91cd150e19SAlex Bennée                      libc6-dev:amd64 \
92cd150e19SAlex Bennée                      libcacard-dev:amd64 \
93cd150e19SAlex Bennée                      libcap-ng-dev:amd64 \
94cd150e19SAlex Bennée                      libcapstone-dev:amd64 \
95cd150e19SAlex Bennée                      libcmocka-dev:amd64 \
96cd150e19SAlex Bennée                      libcurl4-gnutls-dev:amd64 \
97cd150e19SAlex Bennée                      libdaxctl-dev:amd64 \
98cd150e19SAlex Bennée                      libdrm-dev:amd64 \
99cd150e19SAlex Bennée                      libepoxy-dev:amd64 \
100cd150e19SAlex Bennée                      libfdt-dev:amd64 \
101cd150e19SAlex Bennée                      libffi-dev:amd64 \
102cd150e19SAlex Bennée                      libfuse3-dev:amd64 \
103cd150e19SAlex Bennée                      libgbm-dev:amd64 \
104cd150e19SAlex Bennée                      libgcrypt20-dev:amd64 \
105cd150e19SAlex Bennée                      libglib2.0-dev:amd64 \
106cd150e19SAlex Bennée                      libglusterfs-dev:amd64 \
107cd150e19SAlex Bennée                      libgnutls28-dev:amd64 \
108cd150e19SAlex Bennée                      libgtk-3-dev:amd64 \
109cd150e19SAlex Bennée                      libibumad-dev:amd64 \
110cd150e19SAlex Bennée                      libibverbs-dev:amd64 \
111cd150e19SAlex Bennée                      libiscsi-dev:amd64 \
112cd150e19SAlex Bennée                      libjemalloc-dev:amd64 \
113cd150e19SAlex Bennée                      libjpeg62-turbo-dev:amd64 \
114cd150e19SAlex Bennée                      libjson-c-dev:amd64 \
115cd150e19SAlex Bennée                      liblttng-ust-dev:amd64 \
116cd150e19SAlex Bennée                      liblzo2-dev:amd64 \
117cd150e19SAlex Bennée                      libncursesw5-dev:amd64 \
118cd150e19SAlex Bennée                      libnfs-dev:amd64 \
119cd150e19SAlex Bennée                      libnuma-dev:amd64 \
120cd150e19SAlex Bennée                      libpam0g-dev:amd64 \
12162259d81SMarc-André Lureau                      libpipewire-0.3-dev:amd64 \
122cd150e19SAlex Bennée                      libpixman-1-dev:amd64 \
123cd150e19SAlex Bennée                      libpmem-dev:amd64 \
124cd150e19SAlex Bennée                      libpng-dev:amd64 \
125cd150e19SAlex Bennée                      libpulse-dev:amd64 \
126cd150e19SAlex Bennée                      librbd-dev:amd64 \
127cd150e19SAlex Bennée                      librdmacm-dev:amd64 \
128cd150e19SAlex Bennée                      libsasl2-dev:amd64 \
129cd150e19SAlex Bennée                      libsdl2-dev:amd64 \
130cd150e19SAlex Bennée                      libsdl2-image-dev:amd64 \
131cd150e19SAlex Bennée                      libseccomp-dev:amd64 \
132cd150e19SAlex Bennée                      libselinux1-dev:amd64 \
133cd150e19SAlex Bennée                      libslirp-dev:amd64 \
134cd150e19SAlex Bennée                      libsnappy-dev:amd64 \
135cd150e19SAlex Bennée                      libspice-server-dev:amd64 \
136cd150e19SAlex Bennée                      libssh-gcrypt-dev:amd64 \
137cd150e19SAlex Bennée                      libsystemd-dev:amd64 \
138cd150e19SAlex Bennée                      libtasn1-6-dev:amd64 \
139cd150e19SAlex Bennée                      libubsan1:amd64 \
140cd150e19SAlex Bennée                      libudev-dev:amd64 \
141cd150e19SAlex Bennée                      liburing-dev:amd64 \
142cd150e19SAlex Bennée                      libusb-1.0-0-dev:amd64 \
143cd150e19SAlex Bennée                      libusbredirhost-dev:amd64 \
144cd150e19SAlex Bennée                      libvdeplug-dev:amd64 \
145cd150e19SAlex Bennée                      libvirglrenderer-dev:amd64 \
146cd150e19SAlex Bennée                      libvte-2.91-dev:amd64 \
147ca9cde57SAlex Bennée                      libxdp-dev:amd64 \
148cd150e19SAlex Bennée                      libxen-dev:amd64 \
149cd150e19SAlex Bennée                      libzstd-dev:amd64 \
150cd150e19SAlex Bennée                      nettle-dev:amd64 \
151cd150e19SAlex Bennée                      systemtap-sdt-dev:amd64 \
152cd150e19SAlex Bennée                      xfslibs-dev:amd64 \
153cd150e19SAlex Bennée                      zlib1g-dev:amd64 && \
154cd150e19SAlex Bennée    eatmydata apt-get autoremove -y && \
155cd150e19SAlex Bennée    eatmydata apt-get autoclean -y && \
156cd150e19SAlex Bennée    mkdir -p /usr/local/share/meson/cross && \
157dacc122eSPeter Krempa    printf "[binaries]\n\
158cd150e19SAlex Bennéec = '/usr/bin/x86_64-linux-gnu-gcc'\n\
159cd150e19SAlex Bennéear = '/usr/bin/x86_64-linux-gnu-gcc-ar'\n\
160cd150e19SAlex Bennéestrip = '/usr/bin/x86_64-linux-gnu-strip'\n\
161cd150e19SAlex Bennéepkgconfig = '/usr/bin/x86_64-linux-gnu-pkg-config'\n\
162cd150e19SAlex Bennée\n\
163cd150e19SAlex Bennée[host_machine]\n\
164cd150e19SAlex Bennéesystem = 'linux'\n\
165cd150e19SAlex Bennéecpu_family = 'x86_64'\n\
166cd150e19SAlex Bennéecpu = 'x86_64'\n\
167dacc122eSPeter Krempaendian = 'little'\n" > /usr/local/share/meson/cross/x86_64-linux-gnu && \
168cd150e19SAlex Bennée    dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /packages.txt && \
169cd150e19SAlex Bennée    mkdir -p /usr/libexec/ccache-wrappers && \
170cd150e19SAlex Bennée    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/x86_64-linux-gnu-c++ && \
171cd150e19SAlex Bennée    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/x86_64-linux-gnu-cc && \
172cd150e19SAlex Bennée    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/x86_64-linux-gnu-g++ && \
173cd150e19SAlex Bennée    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/x86_64-linux-gnu-gcc
174cd150e19SAlex Bennée
175cd150e19SAlex BennéeENV ABI "x86_64-linux-gnu"
176cd150e19SAlex BennéeENV MESON_OPTS "--cross-file=x86_64-linux-gnu"
177ec22b726SAlex BennéeENV QEMU_CONFIGURE_OPTS --cross-prefix=x86_64-linux-gnu-
178ec22b726SAlex BennéeENV DEF_TARGET_LIST x86_64-softmmu,x86_64-linux-user,i386-softmmu,i386-linux-user
1795b8bcf6bSAlex Bennée# As a final step configure the user (if env is defined)
1805b8bcf6bSAlex BennéeARG USER
1815b8bcf6bSAlex BennéeARG UID
1825b8bcf6bSAlex BennéeRUN if [ "${USER}" ]; then \
1835b8bcf6bSAlex Bennée  id ${USER} 2>/dev/null || useradd -u ${UID} -U ${USER}; fi
184