| # THIS FILE WAS AUTO-GENERATED |
| # |
| # $ lcitool dockerfile --layers all --cross ppc64le debian-11 qemu |
| # |
| # https://gitlab.com/libvirt/libvirt-ci |
| |
| FROM docker.io/library/debian:11-slim |
| |
| RUN export DEBIAN_FRONTEND=noninteractive && \ |
| apt-get update && \ |
| apt-get install -y eatmydata && \ |
| eatmydata apt-get dist-upgrade -y && \ |
| eatmydata apt-get install --no-install-recommends -y \ |
| bash \ |
| bc \ |
| bison \ |
| bsdextrautils \ |
| bzip2 \ |
| ca-certificates \ |
| ccache \ |
| dbus \ |
| debianutils \ |
| diffutils \ |
| exuberant-ctags \ |
| findutils \ |
| flex \ |
| gcovr \ |
| genisoimage \ |
| gettext \ |
| git \ |
| hostname \ |
| libglib2.0-dev \ |
| libpcre2-dev \ |
| libsndio-dev \ |
| libspice-protocol-dev \ |
| llvm \ |
| locales \ |
| make \ |
| meson \ |
| ncat \ |
| ninja-build \ |
| openssh-client \ |
| pkgconf \ |
| python3 \ |
| python3-numpy \ |
| python3-opencv \ |
| python3-pillow \ |
| python3-pip \ |
| python3-sphinx \ |
| python3-sphinx-rtd-theme \ |
| python3-venv \ |
| python3-yaml \ |
| rpm2cpio \ |
| sed \ |
| socat \ |
| sparse \ |
| tar \ |
| tesseract-ocr \ |
| tesseract-ocr-eng \ |
| zstd && \ |
| eatmydata apt-get autoremove -y && \ |
| eatmydata apt-get autoclean -y && \ |
| sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen && \ |
| dpkg-reconfigure locales |
| |
| 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 export DEBIAN_FRONTEND=noninteractive && \ |
| dpkg --add-architecture ppc64el && \ |
| eatmydata apt-get update && \ |
| eatmydata apt-get dist-upgrade -y && \ |
| eatmydata apt-get install --no-install-recommends -y dpkg-dev && \ |
| eatmydata apt-get install --no-install-recommends -y \ |
| g++-powerpc64le-linux-gnu \ |
| gcc-powerpc64le-linux-gnu \ |
| libaio-dev:ppc64el \ |
| libasan5:ppc64el \ |
| libasound2-dev:ppc64el \ |
| libattr1-dev:ppc64el \ |
| libbpf-dev:ppc64el \ |
| libbrlapi-dev:ppc64el \ |
| libbz2-dev:ppc64el \ |
| libc6-dev:ppc64el \ |
| libcacard-dev:ppc64el \ |
| libcap-ng-dev:ppc64el \ |
| libcapstone-dev:ppc64el \ |
| libcmocka-dev:ppc64el \ |
| libcurl4-gnutls-dev:ppc64el \ |
| libdaxctl-dev:ppc64el \ |
| libdrm-dev:ppc64el \ |
| libepoxy-dev:ppc64el \ |
| libfdt-dev:ppc64el \ |
| libffi-dev:ppc64el \ |
| libfuse3-dev:ppc64el \ |
| libgbm-dev:ppc64el \ |
| libgcrypt20-dev:ppc64el \ |
| libglib2.0-dev:ppc64el \ |
| libglusterfs-dev:ppc64el \ |
| libgnutls28-dev:ppc64el \ |
| libgtk-3-dev:ppc64el \ |
| libibumad-dev:ppc64el \ |
| libibverbs-dev:ppc64el \ |
| libiscsi-dev:ppc64el \ |
| libjemalloc-dev:ppc64el \ |
| libjpeg62-turbo-dev:ppc64el \ |
| libjson-c-dev:ppc64el \ |
| liblttng-ust-dev:ppc64el \ |
| liblzo2-dev:ppc64el \ |
| libncursesw5-dev:ppc64el \ |
| libnfs-dev:ppc64el \ |
| libnuma-dev:ppc64el \ |
| libpam0g-dev:ppc64el \ |
| libpixman-1-dev:ppc64el \ |
| libpng-dev:ppc64el \ |
| libpulse-dev:ppc64el \ |
| librbd-dev:ppc64el \ |
| librdmacm-dev:ppc64el \ |
| libsasl2-dev:ppc64el \ |
| libsdl2-dev:ppc64el \ |
| libsdl2-image-dev:ppc64el \ |
| libseccomp-dev:ppc64el \ |
| libselinux1-dev:ppc64el \ |
| libslirp-dev:ppc64el \ |
| libsnappy-dev:ppc64el \ |
| libspice-server-dev:ppc64el \ |
| libssh-gcrypt-dev:ppc64el \ |
| libsystemd-dev:ppc64el \ |
| libtasn1-6-dev:ppc64el \ |
| libubsan1:ppc64el \ |
| libudev-dev:ppc64el \ |
| liburing-dev:ppc64el \ |
| libusb-1.0-0-dev:ppc64el \ |
| libusbredirhost-dev:ppc64el \ |
| libvdeplug-dev:ppc64el \ |
| libvirglrenderer-dev:ppc64el \ |
| libvte-2.91-dev:ppc64el \ |
| libzstd-dev:ppc64el \ |
| nettle-dev:ppc64el \ |
| systemtap-sdt-dev:ppc64el \ |
| xfslibs-dev:ppc64el \ |
| zlib1g-dev:ppc64el && \ |
| eatmydata apt-get autoremove -y && \ |
| eatmydata apt-get autoclean -y && \ |
| mkdir -p /usr/local/share/meson/cross && \ |
| printf "[binaries]\n\ |
| c = '/usr/bin/powerpc64le-linux-gnu-gcc'\n\ |
| ar = '/usr/bin/powerpc64le-linux-gnu-gcc-ar'\n\ |
| strip = '/usr/bin/powerpc64le-linux-gnu-strip'\n\ |
| pkgconfig = '/usr/bin/powerpc64le-linux-gnu-pkg-config'\n\ |
| \n\ |
| [host_machine]\n\ |
| system = 'linux'\n\ |
| cpu_family = 'ppc64'\n\ |
| cpu = 'powerpc64le'\n\ |
| endian = 'little'\n" > /usr/local/share/meson/cross/powerpc64le-linux-gnu && \ |
| dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /packages.txt && \ |
| mkdir -p /usr/libexec/ccache-wrappers && \ |
| ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/powerpc64le-linux-gnu-c++ && \ |
| ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/powerpc64le-linux-gnu-cc && \ |
| ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/powerpc64le-linux-gnu-g++ && \ |
| ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/powerpc64le-linux-gnu-gcc |
| |
| ENV ABI "powerpc64le-linux-gnu" |
| ENV MESON_OPTS "--cross-file=powerpc64le-linux-gnu" |
| ENV QEMU_CONFIGURE_OPTS --cross-prefix=powerpc64le-linux-gnu- |
| ENV DEF_TARGET_LIST ppc64-softmmu,ppc64-linux-user |
| # 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 |