FROM almalinux:8 RUN dnf distro-sync -y && \ dnf install 'dnf-command(config-manager)' -y && \ dnf config-manager --set-enabled -y powertools && \ dnf install -y centos-release-advanced-virtualization && \ dnf install -y epel-release && \ dnf install -y epel-next-release && \ dnf install -y \ SDL2-devel \ alsa-lib-devel \ bash \ bc \ bison \ brlapi-devel \ bzip2 \ bzip2-devel \ ca-certificates \ capstone-devel \ ccache \ clang \ ctags \ cyrus-sasl-devel \ daxctl-devel \ dbus-daemon \ device-mapper-multipath-devel \ diffutils \ findutils \ flex \ fuse3-devel \ gcc \ gcc-c++ \ gettext \ git \ glib2-devel \ glib2-static \ glibc-langpack-en \ glibc-static \ glusterfs-api-devel \ gnutls-devel \ gtk3-devel \ hostname \ jemalloc-devel \ json-c-devel \ libaio-devel \ libasan \ libattr-devel \ libbpf-devel \ libcacard-devel \ libcap-ng-devel \ libcmocka-devel \ libcurl-devel \ libdrm-devel \ libepoxy-devel \ libfdt-devel \ libffi-devel \ libgcrypt-devel \ libiscsi-devel \ libjpeg-devel \ libnfs-devel \ libpmem-devel \ libpng-devel \ librbd-devel \ libseccomp-devel \ libselinux-devel \ libslirp-devel \ libssh-devel \ libtasn1-devel \ libubsan \ liburing-devel \ libusbx-devel \ libxdp-devel \ libzstd-devel \ llvm \ lttng-ust-devel \ lzo-devel \ make \ mesa-libgbm-devel \ mtools \ ncurses-devel \ nettle-devel \ ninja-build \ nmap-ncat \ numactl-devel \ openssh-clients \ pam-devel \ pcre-static \ pipewire-devel \ pixman-devel \ pkgconfig \ pulseaudio-libs-devel \ python38 \ python38-PyYAML \ python38-numpy \ python38-pip \ python38-setuptools \ python38-wheel \ rdma-core-devel \ sed \ snappy-devel \ socat \ spice-protocol \ spice-server-devel \ swtpm \ systemd-devel \ systemtap-sdt-devel \ tar \ usbredir-devel \ util-linux \ virglrenderer-devel \ vte291-devel \ which \ xfsprogs-devel \ xorriso \ zlib-devel \ zlib-static \ zstd && \ dnf autoremove -y && \ dnf clean all -y && \ rpm -qa | sort > /packages.txt && \ mkdir -p /usr/libexec/ccache-wrappers && \ ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/c++ && \ 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/g++ && \ ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/gcc RUN /usr/bin/pip3.8 install \ meson==0.63.2 \ pillow \ sphinx \ sphinx-rtd-theme \ 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.8" # 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