# THIS FILE WAS AUTO-GENERATED
#
#  $ lcitool dockerfile --layers all opensuse-leap-15 qemu
#
# https://gitlab.com/libvirt/libvirt-ci

FROM registry.opensuse.org/opensuse/leap:15.6

RUN zypper update -y && \
    zypper addrepo -fc https://download.opensuse.org/update/leap/15.6/backports/openSUSE:Backports:SLE-15-SP6:Update.repo && \
    zypper install -y \
           Mesa-devel \
           alsa-lib-devel \
           bash \
           bc \
           bison \
           brlapi-devel \
           bzip2 \
           ca-certificates \
           ccache \
           clang \
           clang-devel \
           coreutils \
           ctags \
           cyrus-sasl-devel \
           dbus-1 \
           diffutils \
           findutils \
           flex \
           fuse3-devel \
           gcc \
           gcovr \
           gettext-runtime \
           git \
           glib2-devel \
           glibc-locale \
           glibc-static \
           glusterfs-devel \
           gtk-vnc-devel \
           gtk3-devel \
           hostname \
           jemalloc-devel \
           libSDL2-devel \
           libSDL2_image-devel \
           libaio-devel \
           libasan8 \
           libattr-devel \
           libbpf-devel \
           libbz2-devel \
           libcacard-devel \
           libcap-ng-devel \
           libcbor-devel \
           libcmocka-devel \
           libcurl-devel \
           libdrm-devel \
           libepoxy-devel \
           libfdt-devel \
           libffi-devel \
           libgcrypt-devel \
           libgnutls-devel \
           libiscsi-devel \
           libjpeg8-devel \
           libjson-c-devel \
           libndctl-devel \
           libnettle-devel \
           libnfs-devel \
           libnuma-devel \
           libpixman-1-0-devel \
           libpmem-devel \
           libpng16-devel \
           libpulse-devel \
           librbd-devel \
           libseccomp-devel \
           libselinux-devel \
           libslirp-devel \
           libspice-server-devel \
           libssh-devel \
           libtasn1-devel \
           libubsan1 \
           libudev-devel \
           liburing-devel \
           libusb-1_0-devel \
           libzstd-devel \
           llvm \
           lttng-ust-devel \
           lzo-devel \
           make \
           mtools \
           ncat \
           ncurses-devel \
           ninja \
           openssh \
           pam-devel \
           pcre2-devel-static \
           pipewire-devel \
           pkgconfig \
           python311 \
           python311-base \
           python311-pip \
           python311-setuptools \
           rdma-core-devel \
           rust \
           rust-bindgen \
           sed \
           snappy-devel \
           sndio-devel \
           socat \
           sparse \
           spice-protocol-devel \
           swtpm \
           systemd-devel \
           systemtap-sdt-devel \
           tar \
           tesseract-ocr \
           tesseract-ocr-traineddata-english \
           usbredir-devel \
           util-linux \
           virglrenderer-devel \
           vte-devel \
           vulkan-tools \
           which \
           xen-devel \
           xorriso \
           zlib-devel \
           zlib-devel-static \
           zstd && \
    zypper clean --all && \
    rm -f /usr/lib*/python3*/EXTERNALLY-MANAGED && \
    rpm -qa | sort > /packages.txt && \
    mkdir -p /usr/libexec/ccache-wrappers && \
    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/cc && \
    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/clang && \
    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/gcc

RUN /usr/bin/pip3.11 install \
                     PyYAML \
                     meson==1.8.1 \
                     pillow \
                     sphinx \
                     sphinx-rtd-theme

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.11"
# 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

ENV ENABLE_RUST 1
