| # THIS FILE WAS AUTO-GENERATED |
| # |
| # $ lcitool dockerfile --layers all fedora-40 qemu |
| # |
| # https://gitlab.com/libvirt/libvirt-ci |
| |
| FROM registry.fedoraproject.org/fedora:40 |
| |
| RUN dnf install -y nosync && \ |
| printf '#!/bin/sh\n\ |
| if test -d /usr/lib64\n\ |
| then\n\ |
| export LD_PRELOAD=/usr/lib64/nosync/nosync.so\n\ |
| else\n\ |
| export LD_PRELOAD=/usr/lib/nosync/nosync.so\n\ |
| fi\n\ |
| exec "$@"\n' > /usr/bin/nosync && \ |
| chmod +x /usr/bin/nosync && \ |
| nosync dnf update -y && \ |
| nosync dnf install -y \ |
| SDL2-devel \ |
| SDL2_image-devel \ |
| alsa-lib-devel \ |
| bash \ |
| bc \ |
| bindgen-cli \ |
| 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 \ |
| gcovr \ |
| gettext \ |
| git \ |
| glib2-devel \ |
| glib2-static \ |
| glibc-langpack-en \ |
| glibc-static \ |
| glusterfs-api-devel \ |
| gnutls-devel \ |
| gtk-vnc2-devel \ |
| gtk3-devel \ |
| hostname \ |
| jemalloc-devel \ |
| json-c-devel \ |
| libaio-devel \ |
| libasan \ |
| libattr-devel \ |
| libbpf-devel \ |
| libcacard-devel \ |
| libcap-ng-devel \ |
| libcbor-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 \ |
| meson \ |
| 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 \ |
| python3 \ |
| python3-PyYAML \ |
| python3-numpy \ |
| python3-opencv \ |
| python3-pillow \ |
| python3-pip \ |
| python3-sphinx \ |
| python3-sphinx_rtd_theme \ |
| python3-zombie-imp \ |
| rdma-core-devel \ |
| rust \ |
| sed \ |
| snappy-devel \ |
| socat \ |
| sparse \ |
| spice-protocol \ |
| spice-server-devel \ |
| swtpm \ |
| systemd-devel \ |
| systemtap-sdt-devel \ |
| tar \ |
| tesseract \ |
| tesseract-langpack-eng \ |
| usbredir-devel \ |
| util-linux \ |
| virglrenderer-devel \ |
| vte291-devel \ |
| which \ |
| xen-devel \ |
| xorriso \ |
| zlib-devel \ |
| zlib-static \ |
| zstd && \ |
| nosync dnf autoremove -y && \ |
| nosync dnf clean all -y && \ |
| 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" |
| RUN dnf install -y wget |
| ENV RUSTUP_HOME=/usr/local/rustup CARGO_HOME=/usr/local/cargo |
| ENV RUSTC=/usr/local/rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/rustc |
| RUN set -eux && \ |
| rustArch='x86_64-unknown-linux-gnu' && \ |
| rustupSha256='6aeece6993e902708983b209d04c0d1dbb14ebb405ddb87def578d41f920f56d' && \ |
| url="https://static.rust-lang.org/rustup/archive/1.27.1/${rustArch}/rustup-init" && \ |
| wget "$url" && \ |
| echo "${rustupSha256} *rustup-init" | sha256sum -c - && \ |
| chmod +x rustup-init && \ |
| ./rustup-init -y --no-modify-path --profile default --default-toolchain nightly --default-host ${rustArch} && \ |
| chmod -R a+w $RUSTUP_HOME $CARGO_HOME && \ |
| /usr/local/cargo/bin/rustup --version && \ |
| /usr/local/cargo/bin/rustup run nightly rustc --version && \ |
| test "$RUSTC" = "$(/usr/local/cargo/bin/rustup +nightly which rustc)" |
| ENV PATH=$CARGO_HOME/bin:$PATH |
| RUN /usr/local/cargo/bin/rustup run nightly cargo install bindgen-cli |
| # 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 |