1# THIS FILE WAS AUTO-GENERATED
2#
3#  $ lcitool dockerfile --layers all centos-stream-8 qemu
4#
5# https://gitlab.com/libvirt/libvirt-ci
6
7FROM quay.io/centos/centos:stream8
8
9RUN dnf distro-sync -y && \
10    dnf install 'dnf-command(config-manager)' -y && \
11    dnf config-manager --set-enabled -y powertools && \
12    dnf install -y centos-release-advanced-virtualization && \
13    dnf install -y epel-release && \
14    dnf install -y epel-next-release && \
15    dnf install -y \
16        SDL2-devel \
17        alsa-lib-devel \
18        bash \
19        bc \
20        bison \
21        brlapi-devel \
22        bzip2 \
23        bzip2-devel \
24        ca-certificates \
25        capstone-devel \
26        ccache \
27        clang \
28        ctags \
29        cyrus-sasl-devel \
30        daxctl-devel \
31        dbus-daemon \
32        device-mapper-multipath-devel \
33        diffutils \
34        findutils \
35        flex \
36        fuse3-devel \
37        gcc \
38        gcc-c++ \
39        gettext \
40        git \
41        glib2-devel \
42        glib2-static \
43        glibc-langpack-en \
44        glibc-static \
45        glusterfs-api-devel \
46        gnutls-devel \
47        gtk3-devel \
48        hostname \
49        jemalloc-devel \
50        json-c-devel \
51        libaio-devel \
52        libasan \
53        libattr-devel \
54        libbpf-devel \
55        libcacard-devel \
56        libcap-ng-devel \
57        libcmocka-devel \
58        libcurl-devel \
59        libdrm-devel \
60        libepoxy-devel \
61        libfdt-devel \
62        libffi-devel \
63        libgcrypt-devel \
64        libiscsi-devel \
65        libjpeg-devel \
66        libnfs-devel \
67        libpmem-devel \
68        libpng-devel \
69        librbd-devel \
70        libseccomp-devel \
71        libselinux-devel \
72        libslirp-devel \
73        libssh-devel \
74        libtasn1-devel \
75        libubsan \
76        liburing-devel \
77        libusbx-devel \
78        libxdp-devel \
79        libzstd-devel \
80        llvm \
81        lttng-ust-devel \
82        lzo-devel \
83        make \
84        mesa-libgbm-devel \
85        mtools \
86        ncurses-devel \
87        nettle-devel \
88        ninja-build \
89        nmap-ncat \
90        numactl-devel \
91        openssh-clients \
92        pam-devel \
93        pcre-static \
94        pipewire-devel \
95        pixman-devel \
96        pkgconfig \
97        pulseaudio-libs-devel \
98        python38 \
99        python38-PyYAML \
100        python38-numpy \
101        python38-pip \
102        python38-setuptools \
103        python38-wheel \
104        rdma-core-devel \
105        sed \
106        snappy-devel \
107        socat \
108        spice-protocol \
109        spice-server-devel \
110        swtpm \
111        systemd-devel \
112        systemtap-sdt-devel \
113        tar \
114        usbredir-devel \
115        util-linux \
116        virglrenderer-devel \
117        vte291-devel \
118        which \
119        xfsprogs-devel \
120        xorriso \
121        zlib-devel \
122        zlib-static \
123        zstd && \
124    dnf autoremove -y && \
125    dnf clean all -y && \
126    rpm -qa | sort > /packages.txt && \
127    mkdir -p /usr/libexec/ccache-wrappers && \
128    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/c++ && \
129    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/cc && \
130    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/clang && \
131    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/g++ && \
132    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/gcc
133
134RUN /usr/bin/pip3.8 install \
135                    meson==0.63.2 \
136                    pillow \
137                    sphinx \
138                    sphinx-rtd-theme \
139                    tomli
140
141ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
142ENV LANG "en_US.UTF-8"
143ENV MAKE "/usr/bin/make"
144ENV NINJA "/usr/bin/ninja"
145ENV PYTHON "/usr/bin/python3.8"
146# As a final step configure the user (if env is defined)
147ARG USER
148ARG UID
149RUN if [ "${USER}" ]; then \
150  id ${USER} 2>/dev/null || useradd -u ${UID} -U ${USER}; fi
151