# THIS FILE WAS AUTO-GENERATED
#
#  $ lcitool dockerfile --layers all --cross-arch i686 debian-12 qemu
#
# https://gitlab.com/libvirt/libvirt-ci

FROM docker.io/library/debian:12-slim

RUN export DEBIAN_FRONTEND=noninteractive && \
    apt-get update && \
    apt-get install -y eatmydata && \
    eatmydata apt-get dist-upgrade -y && \
    eatmydata apt-get install --no-install-recommends -y \
                      bash \
                      bc \
                      bindgen \
                      bison \
                      bsdextrautils \
                      bzip2 \
                      ca-certificates \
                      ccache \
                      dbus \
                      debianutils \
                      diffutils \
                      exuberant-ctags \
                      findutils \
                      flex \
                      gcc \
                      gcovr \
                      gettext \
                      git \
                      hostname \
                      libglib2.0-dev \
                      llvm \
                      locales \
                      make \
                      meson \
                      mtools \
                      ncat \
                      ninja-build \
                      openssh-client \
                      pkgconf \
                      python3 \
                      python3-numpy \
                      python3-opencv \
                      python3-pillow \
                      python3-pip \
                      python3-sphinx \
                      python3-sphinx-rtd-theme \
                      python3-venv \
                      python3-yaml \
                      rpm2cpio \
                      rustc \
                      sed \
                      socat \
                      sparse \
                      swtpm \
                      tar \
                      tesseract-ocr \
                      tesseract-ocr-eng \
                      xorriso \
                      zstd && \
    eatmydata apt-get autoremove -y && \
    eatmydata apt-get autoclean -y && \
    sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen && \
    dpkg-reconfigure locales && \
    rm -f /usr/lib*/python3*/EXTERNALLY-MANAGED

ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
ENV LANG "en_US.UTF-8"
ENV MAKE "/usr/bin/make"
ENV NINJA "/usr/bin/ninja"
ENV PYTHON "/usr/bin/python3"

RUN export DEBIAN_FRONTEND=noninteractive && \
    dpkg --add-architecture i386 && \
    eatmydata apt-get update && \
    eatmydata apt-get dist-upgrade -y && \
    eatmydata apt-get install --no-install-recommends -y dpkg-dev && \
    eatmydata apt-get install --no-install-recommends -y \
                      gcc-i686-linux-gnu \
                      libaio-dev:i386 \
                      libasan6:i386 \
                      libasound2-dev:i386 \
                      libattr1-dev:i386 \
                      libbpf-dev:i386 \
                      libbrlapi-dev:i386 \
                      libbz2-dev:i386 \
                      libc6-dev:i386 \
                      libcacard-dev:i386 \
                      libcap-ng-dev:i386 \
                      libcapstone-dev:i386 \
                      libcbor-dev:i386 \
                      libcmocka-dev:i386 \
                      libcurl4-gnutls-dev:i386 \
                      libdaxctl-dev:i386 \
                      libdrm-dev:i386 \
                      libepoxy-dev:i386 \
                      libfdt-dev:i386 \
                      libffi-dev:i386 \
                      libfuse3-dev:i386 \
                      libgbm-dev:i386 \
                      libgcrypt20-dev:i386 \
                      libglib2.0-dev:i386 \
                      libglusterfs-dev:i386 \
                      libgnutls28-dev:i386 \
                      libgtk-3-dev:i386 \
                      libgtk-vnc-2.0-dev:i386 \
                      libibverbs-dev:i386 \
                      libiscsi-dev:i386 \
                      libjemalloc-dev:i386 \
                      libjpeg62-turbo-dev:i386 \
                      libjson-c-dev:i386 \
                      liblttng-ust-dev:i386 \
                      liblzo2-dev:i386 \
                      libncursesw5-dev:i386 \
                      libnfs-dev:i386 \
                      libnuma-dev:i386 \
                      libpam0g-dev:i386 \
                      libpcre2-dev:i386 \
                      libpipewire-0.3-dev:i386 \
                      libpixman-1-dev:i386 \
                      libpng-dev:i386 \
                      libpulse-dev:i386 \
                      librbd-dev:i386 \
                      librdmacm-dev:i386 \
                      libsasl2-dev:i386 \
                      libsdl2-dev:i386 \
                      libsdl2-image-dev:i386 \
                      libseccomp-dev:i386 \
                      libselinux1-dev:i386 \
                      libslirp-dev:i386 \
                      libsnappy-dev:i386 \
                      libsndio-dev:i386 \
                      libspice-protocol-dev:i386 \
                      libspice-server-dev:i386 \
                      libssh-gcrypt-dev:i386 \
                      libsystemd-dev:i386 \
                      libtasn1-6-dev:i386 \
                      libubsan1:i386 \
                      libudev-dev:i386 \
                      liburing-dev:i386 \
                      libusb-1.0-0-dev:i386 \
                      libusbredirhost-dev:i386 \
                      libvdeplug-dev:i386 \
                      libvirglrenderer-dev:i386 \
                      libvte-2.91-dev:i386 \
                      libxdp-dev:i386 \
                      libzstd-dev:i386 \
                      nettle-dev:i386 \
                      systemtap-sdt-dev:i386 \
                      zlib1g-dev:i386 && \
    eatmydata apt-get autoremove -y && \
    eatmydata apt-get autoclean -y && \
    mkdir -p /usr/local/share/meson/cross && \
    printf "[binaries]\n\
c = '/usr/bin/i686-linux-gnu-gcc'\n\
ar = '/usr/bin/i686-linux-gnu-gcc-ar'\n\
strip = '/usr/bin/i686-linux-gnu-strip'\n\
pkgconfig = '/usr/bin/i686-linux-gnu-pkg-config'\n\
\n\
[host_machine]\n\
system = 'linux'\n\
cpu_family = 'x86'\n\
cpu = 'i686'\n\
endian = 'little'\n" > /usr/local/share/meson/cross/i686-linux-gnu && \
    dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /packages.txt && \
    mkdir -p /usr/libexec/ccache-wrappers && \
    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/i686-linux-gnu-cc && \
    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/i686-linux-gnu-gcc

ENV ABI "i686-linux-gnu"
ENV MESON_OPTS "--cross-file=i686-linux-gnu"
ENV RUST_TARGET "i686-unknown-linux-gnu"
ENV QEMU_CONFIGURE_OPTS --cross-prefix=i686-linux-gnu-
ENV DEF_TARGET_LIST x86_64-softmmu,x86_64-linux-user,i386-softmmu,i386-linux-user
# As a final step configure the user (if env is defined)
ARG USER
ARG UID
RUN if [ "${USER}" ]; then \
  id ${USER} 2>/dev/null || useradd -u ${UID} -U ${USER}; fi
