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

FROM docker.io/library/debian:11-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 \
                      bison \
                      bsdextrautils \
                      bzip2 \
                      ca-certificates \
                      ccache \
                      dbus \
                      debianutils \
                      diffutils \
                      exuberant-ctags \
                      findutils \
                      flex \
                      gcc \
                      gcovr \
                      gettext \
                      git \
                      hostname \
                      libglib2.0-dev \
                      libpcre2-dev \
                      libsndio-dev \
                      libspice-protocol-dev \
                      llvm \
                      locales \
                      make \
                      meson \
                      mtools \
                      ncat \
                      ninja-build \
                      openssh-client \
                      pkgconf \
                      python3 \
                      python3-numpy \
                      python3-opencv \
                      python3-pillow \
                      python3-pip \
                      python3-setuptools \
                      python3-sphinx \
                      python3-sphinx-rtd-theme \
                      python3-venv \
                      python3-wheel \
                      python3-yaml \
                      rpm2cpio \
                      sed \
                      socat \
                      sparse \
                      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

RUN /usr/bin/pip3 install tomli

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 mips64el && \
    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 \
                      g++-mips64el-linux-gnuabi64 \
                      gcc-mips64el-linux-gnuabi64 \
                      libaio-dev:mips64el \
                      libasound2-dev:mips64el \
                      libattr1-dev:mips64el \
                      libbpf-dev:mips64el \
                      libbrlapi-dev:mips64el \
                      libbz2-dev:mips64el \
                      libc6-dev:mips64el \
                      libcacard-dev:mips64el \
                      libcap-ng-dev:mips64el \
                      libcapstone-dev:mips64el \
                      libcmocka-dev:mips64el \
                      libcurl4-gnutls-dev:mips64el \
                      libdaxctl-dev:mips64el \
                      libdrm-dev:mips64el \
                      libepoxy-dev:mips64el \
                      libfdt-dev:mips64el \
                      libffi-dev:mips64el \
                      libfuse3-dev:mips64el \
                      libgbm-dev:mips64el \
                      libgcrypt20-dev:mips64el \
                      libglib2.0-dev:mips64el \
                      libglusterfs-dev:mips64el \
                      libgnutls28-dev:mips64el \
                      libgtk-3-dev:mips64el \
                      libibumad-dev:mips64el \
                      libibverbs-dev:mips64el \
                      libiscsi-dev:mips64el \
                      libjemalloc-dev:mips64el \
                      libjpeg62-turbo-dev:mips64el \
                      libjson-c-dev:mips64el \
                      liblttng-ust-dev:mips64el \
                      liblzo2-dev:mips64el \
                      libncursesw5-dev:mips64el \
                      libnfs-dev:mips64el \
                      libnuma-dev:mips64el \
                      libpam0g-dev:mips64el \
                      libpipewire-0.3-dev:mips64el \
                      libpixman-1-dev:mips64el \
                      libpng-dev:mips64el \
                      libpulse-dev:mips64el \
                      librbd-dev:mips64el \
                      librdmacm-dev:mips64el \
                      libsasl2-dev:mips64el \
                      libsdl2-dev:mips64el \
                      libsdl2-image-dev:mips64el \
                      libseccomp-dev:mips64el \
                      libselinux1-dev:mips64el \
                      libslirp-dev:mips64el \
                      libsnappy-dev:mips64el \
                      libspice-server-dev:mips64el \
                      libssh-gcrypt-dev:mips64el \
                      libsystemd-dev:mips64el \
                      libtasn1-6-dev:mips64el \
                      libudev-dev:mips64el \
                      liburing-dev:mips64el \
                      libusb-1.0-0-dev:mips64el \
                      libusbredirhost-dev:mips64el \
                      libvdeplug-dev:mips64el \
                      libvirglrenderer-dev:mips64el \
                      libvte-2.91-dev:mips64el \
                      libzstd-dev:mips64el \
                      nettle-dev:mips64el \
                      systemtap-sdt-dev:mips64el \
                      xfslibs-dev:mips64el \
                      zlib1g-dev:mips64el && \
    eatmydata apt-get autoremove -y && \
    eatmydata apt-get autoclean -y && \
    mkdir -p /usr/local/share/meson/cross && \
    printf "[binaries]\n\
c = '/usr/bin/mips64el-linux-gnuabi64-gcc'\n\
ar = '/usr/bin/mips64el-linux-gnuabi64-gcc-ar'\n\
strip = '/usr/bin/mips64el-linux-gnuabi64-strip'\n\
pkgconfig = '/usr/bin/mips64el-linux-gnuabi64-pkg-config'\n\
\n\
[host_machine]\n\
system = 'linux'\n\
cpu_family = 'mips64'\n\
cpu = 'mips64el'\n\
endian = 'little'\n" > /usr/local/share/meson/cross/mips64el-linux-gnuabi64 && \
    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/mips64el-linux-gnuabi64-c++ && \
    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/mips64el-linux-gnuabi64-cc && \
    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/mips64el-linux-gnuabi64-g++ && \
    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/mips64el-linux-gnuabi64-gcc

ENV ABI "mips64el-linux-gnuabi64"
ENV MESON_OPTS "--cross-file=mips64el-linux-gnuabi64"
ENV QEMU_CONFIGURE_OPTS --cross-prefix=mips64el-linux-gnuabi64-
ENV DEF_TARGET_LIST mips64el-softmmu,mips64el-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
