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

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

RUN zypper update -y && \
    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 \
           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 \
           libxdp-devel \
           libzstd-devel \
           llvm \
           lttng-ust-devel \
           lzo-devel \
           make \
           meson \
           mtools \
           ncurses-devel \
           ninja \
           openssh \
           pam-devel \
           pcre2-devel-static \
           pipewire-devel \
           pkgconfig \
           python3-Sphinx \
           python3-base \
           python3-pip \
           python3-setuptools \
           python3-sphinx_rtd_theme \
           python3-tomli \
           python3-wheel \
           rdma-core-devel \
           rust \
           rust-bindgen \
           sed \
           snappy-devel \
           sndio-devel \
           socat \
           sparse \
           spice-protocol-devel \
           swtpm \
           systemd-devel \
           systemtap-dtrace \
           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

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