14ec740e1SAlex Bennée# THIS FILE WAS AUTO-GENERATED
22b1c10bdSPhilippe Mathieu-Daudé#
3ca9cde57SAlex Bennée#  $ lcitool dockerfile --layers all --cross-arch ppc64le debian-12 qemu
42b1c10bdSPhilippe Mathieu-Daudé#
54ec740e1SAlex Bennée# https://gitlab.com/libvirt/libvirt-ci
62b1c10bdSPhilippe Mathieu-Daudé
7ca9cde57SAlex BennéeFROM docker.io/library/debian:12-slim
82b1c10bdSPhilippe Mathieu-Daudé
94ec740e1SAlex BennéeRUN export DEBIAN_FRONTEND=noninteractive && \
104ec740e1SAlex Bennée    apt-get update && \
114ec740e1SAlex Bennée    apt-get install -y eatmydata && \
124ec740e1SAlex Bennée    eatmydata apt-get dist-upgrade -y && \
134ec740e1SAlex Bennée    eatmydata apt-get install --no-install-recommends -y \
144ec740e1SAlex Bennée                      bash \
154ec740e1SAlex Bennée                      bc \
168fae3910SAnton Johansson                      bison \
174ec740e1SAlex Bennée                      bsdextrautils \
184ec740e1SAlex Bennée                      bzip2 \
194ec740e1SAlex Bennée                      ca-certificates \
204ec740e1SAlex Bennée                      ccache \
214ec740e1SAlex Bennée                      dbus \
224ec740e1SAlex Bennée                      debianutils \
234ec740e1SAlex Bennée                      diffutils \
244ec740e1SAlex Bennée                      exuberant-ctags \
254ec740e1SAlex Bennée                      findutils \
268fae3910SAnton Johansson                      flex \
27690be804SAlex Bennée                      gcc \
284ec740e1SAlex Bennée                      gcovr \
294ec740e1SAlex Bennée                      gettext \
304ec740e1SAlex Bennée                      git \
314ec740e1SAlex Bennée                      hostname \
328fae3910SAnton Johansson                      libglib2.0-dev \
33*b4be15a9SDaniel P. Berrangé                      libgtk-vnc-2.0-dev \
344ec740e1SAlex Bennée                      libpcre2-dev \
358f4bcbcfSBrad Smith                      libsndio-dev \
364ec740e1SAlex Bennée                      libspice-protocol-dev \
374ec740e1SAlex Bennée                      llvm \
384ec740e1SAlex Bennée                      locales \
394ec740e1SAlex Bennée                      make \
404ec740e1SAlex Bennée                      meson \
41da900078SAni Sinha                      mtools \
424ec740e1SAlex Bennée                      ncat \
434ec740e1SAlex Bennée                      ninja-build \
444ec740e1SAlex Bennée                      openssh-client \
454ec740e1SAlex Bennée                      pkgconf \
464ec740e1SAlex Bennée                      python3 \
474ec740e1SAlex Bennée                      python3-numpy \
484ec740e1SAlex Bennée                      python3-opencv \
494ec740e1SAlex Bennée                      python3-pillow \
504ec740e1SAlex Bennée                      python3-pip \
514ec740e1SAlex Bennée                      python3-sphinx \
524ec740e1SAlex Bennée                      python3-sphinx-rtd-theme \
534ec740e1SAlex Bennée                      python3-venv \
544ec740e1SAlex Bennée                      python3-yaml \
554ec740e1SAlex Bennée                      rpm2cpio \
564ec740e1SAlex Bennée                      sed \
57ab4c1361SAlex Bennée                      socat \
584ec740e1SAlex Bennée                      sparse \
593e3df0d8SAlex Bennée                      swtpm \
604ec740e1SAlex Bennée                      tar \
614ec740e1SAlex Bennée                      tesseract-ocr \
62bbe30763SAlex Bennée                      tesseract-ocr-eng \
63da900078SAni Sinha                      xorriso \
64bbe30763SAlex Bennée                      zstd && \
654ec740e1SAlex Bennée    eatmydata apt-get autoremove -y && \
664ec740e1SAlex Bennée    eatmydata apt-get autoclean -y && \
674ec740e1SAlex Bennée    sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen && \
682355d18cSThomas Huth    dpkg-reconfigure locales && \
692355d18cSThomas Huth    rm -f /usr/lib*/python3*/EXTERNALLY-MANAGED
702b1c10bdSPhilippe Mathieu-Daudé
718f4bcbcfSBrad SmithENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
724ec740e1SAlex BennéeENV LANG "en_US.UTF-8"
734ec740e1SAlex BennéeENV MAKE "/usr/bin/make"
744ec740e1SAlex BennéeENV NINJA "/usr/bin/ninja"
754ec740e1SAlex BennéeENV PYTHON "/usr/bin/python3"
764ec740e1SAlex Bennée
774ec740e1SAlex BennéeRUN export DEBIAN_FRONTEND=noninteractive && \
784ec740e1SAlex Bennée    dpkg --add-architecture ppc64el && \
794ec740e1SAlex Bennée    eatmydata apt-get update && \
804ec740e1SAlex Bennée    eatmydata apt-get dist-upgrade -y && \
814ec740e1SAlex Bennée    eatmydata apt-get install --no-install-recommends -y dpkg-dev && \
824ec740e1SAlex Bennée    eatmydata apt-get install --no-install-recommends -y \
834ec740e1SAlex Bennée                      gcc-powerpc64le-linux-gnu \
844ec740e1SAlex Bennée                      libaio-dev:ppc64el \
85a6f376e9SIlya Maximets                      libasan6:ppc64el \
864ec740e1SAlex Bennée                      libasound2-dev:ppc64el \
874ec740e1SAlex Bennée                      libattr1-dev:ppc64el \
884ec740e1SAlex Bennée                      libbpf-dev:ppc64el \
894ec740e1SAlex Bennée                      libbrlapi-dev:ppc64el \
904ec740e1SAlex Bennée                      libbz2-dev:ppc64el \
914ec740e1SAlex Bennée                      libc6-dev:ppc64el \
924ec740e1SAlex Bennée                      libcacard-dev:ppc64el \
934ec740e1SAlex Bennée                      libcap-ng-dev:ppc64el \
944ec740e1SAlex Bennée                      libcapstone-dev:ppc64el \
95feb6cb93SDaniel P. Berrangé                      libcmocka-dev:ppc64el \
964ec740e1SAlex Bennée                      libcurl4-gnutls-dev:ppc64el \
974ec740e1SAlex Bennée                      libdaxctl-dev:ppc64el \
984ec740e1SAlex Bennée                      libdrm-dev:ppc64el \
994ec740e1SAlex Bennée                      libepoxy-dev:ppc64el \
1004ec740e1SAlex Bennée                      libfdt-dev:ppc64el \
1014ec740e1SAlex Bennée                      libffi-dev:ppc64el \
1024ec740e1SAlex Bennée                      libfuse3-dev:ppc64el \
1034ec740e1SAlex Bennée                      libgbm-dev:ppc64el \
1044ec740e1SAlex Bennée                      libgcrypt20-dev:ppc64el \
1054ec740e1SAlex Bennée                      libglib2.0-dev:ppc64el \
1064ec740e1SAlex Bennée                      libglusterfs-dev:ppc64el \
1074ec740e1SAlex Bennée                      libgnutls28-dev:ppc64el \
1084ec740e1SAlex Bennée                      libgtk-3-dev:ppc64el \
1094ec740e1SAlex Bennée                      libibverbs-dev:ppc64el \
1104ec740e1SAlex Bennée                      libiscsi-dev:ppc64el \
1114ec740e1SAlex Bennée                      libjemalloc-dev:ppc64el \
1124ec740e1SAlex Bennée                      libjpeg62-turbo-dev:ppc64el \
113feb6cb93SDaniel P. Berrangé                      libjson-c-dev:ppc64el \
1144ec740e1SAlex Bennée                      liblttng-ust-dev:ppc64el \
1154ec740e1SAlex Bennée                      liblzo2-dev:ppc64el \
1164ec740e1SAlex Bennée                      libncursesw5-dev:ppc64el \
1174ec740e1SAlex Bennée                      libnfs-dev:ppc64el \
1184ec740e1SAlex Bennée                      libnuma-dev:ppc64el \
1194ec740e1SAlex Bennée                      libpam0g-dev:ppc64el \
12062259d81SMarc-André Lureau                      libpipewire-0.3-dev:ppc64el \
1214ec740e1SAlex Bennée                      libpixman-1-dev:ppc64el \
1224ec740e1SAlex Bennée                      libpng-dev:ppc64el \
1234ec740e1SAlex Bennée                      libpulse-dev:ppc64el \
1244ec740e1SAlex Bennée                      librbd-dev:ppc64el \
1254ec740e1SAlex Bennée                      librdmacm-dev:ppc64el \
1264ec740e1SAlex Bennée                      libsasl2-dev:ppc64el \
1274ec740e1SAlex Bennée                      libsdl2-dev:ppc64el \
1284ec740e1SAlex Bennée                      libsdl2-image-dev:ppc64el \
1294ec740e1SAlex Bennée                      libseccomp-dev:ppc64el \
1304ec740e1SAlex Bennée                      libselinux1-dev:ppc64el \
1314ec740e1SAlex Bennée                      libslirp-dev:ppc64el \
1324ec740e1SAlex Bennée                      libsnappy-dev:ppc64el \
1334ec740e1SAlex Bennée                      libspice-server-dev:ppc64el \
1344ec740e1SAlex Bennée                      libssh-gcrypt-dev:ppc64el \
1354ec740e1SAlex Bennée                      libsystemd-dev:ppc64el \
1364ec740e1SAlex Bennée                      libtasn1-6-dev:ppc64el \
1374ec740e1SAlex Bennée                      libubsan1:ppc64el \
1384ec740e1SAlex Bennée                      libudev-dev:ppc64el \
1394ec740e1SAlex Bennée                      liburing-dev:ppc64el \
1404ec740e1SAlex Bennée                      libusb-1.0-0-dev:ppc64el \
1414ec740e1SAlex Bennée                      libusbredirhost-dev:ppc64el \
1424ec740e1SAlex Bennée                      libvdeplug-dev:ppc64el \
1434ec740e1SAlex Bennée                      libvirglrenderer-dev:ppc64el \
1444ec740e1SAlex Bennée                      libvte-2.91-dev:ppc64el \
145ca9cde57SAlex Bennée                      libxdp-dev:ppc64el \
1464ec740e1SAlex Bennée                      libzstd-dev:ppc64el \
1474ec740e1SAlex Bennée                      nettle-dev:ppc64el \
1484ec740e1SAlex Bennée                      systemtap-sdt-dev:ppc64el \
1494ec740e1SAlex Bennée                      zlib1g-dev:ppc64el && \
1504ec740e1SAlex Bennée    eatmydata apt-get autoremove -y && \
1514ec740e1SAlex Bennée    eatmydata apt-get autoclean -y && \
1524ec740e1SAlex Bennée    mkdir -p /usr/local/share/meson/cross && \
153dacc122eSPeter Krempa    printf "[binaries]\n\
1544ec740e1SAlex Bennéec = '/usr/bin/powerpc64le-linux-gnu-gcc'\n\
1554ec740e1SAlex Bennéear = '/usr/bin/powerpc64le-linux-gnu-gcc-ar'\n\
1564ec740e1SAlex Bennéestrip = '/usr/bin/powerpc64le-linux-gnu-strip'\n\
1574ec740e1SAlex Bennéepkgconfig = '/usr/bin/powerpc64le-linux-gnu-pkg-config'\n\
1584ec740e1SAlex Bennée\n\
1594ec740e1SAlex Bennée[host_machine]\n\
1604ec740e1SAlex Bennéesystem = 'linux'\n\
1614ec740e1SAlex Bennéecpu_family = 'ppc64'\n\
1624ec740e1SAlex Bennéecpu = 'powerpc64le'\n\
163dacc122eSPeter Krempaendian = 'little'\n" > /usr/local/share/meson/cross/powerpc64le-linux-gnu && \
1644ec740e1SAlex Bennée    dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /packages.txt && \
1654ec740e1SAlex Bennée    mkdir -p /usr/libexec/ccache-wrappers && \
1664ec740e1SAlex Bennée    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/powerpc64le-linux-gnu-cc && \
1674ec740e1SAlex Bennée    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/powerpc64le-linux-gnu-gcc
1684ec740e1SAlex Bennée
1694ec740e1SAlex BennéeENV ABI "powerpc64le-linux-gnu"
1704ec740e1SAlex BennéeENV MESON_OPTS "--cross-file=powerpc64le-linux-gnu"
1712b1c10bdSPhilippe Mathieu-DaudéENV QEMU_CONFIGURE_OPTS --cross-prefix=powerpc64le-linux-gnu-
17274154d7eSThomas HuthENV DEF_TARGET_LIST ppc64-softmmu,ppc64-linux-user
1735b8bcf6bSAlex Bennée# As a final step configure the user (if env is defined)
1745b8bcf6bSAlex BennéeARG USER
1755b8bcf6bSAlex BennéeARG UID
1765b8bcf6bSAlex BennéeRUN if [ "${USER}" ]; then \
1775b8bcf6bSAlex Bennée  id ${USER} 2>/dev/null || useradd -u ${UID} -U ${USER}; fi
178