10101dd71SAlex Bennée# THIS FILE WAS AUTO-GENERATED 2e100a967SAlex Bennée# 3dcb8541bSPaolo Bonzini# $ lcitool dockerfile --layers all --cross-arch riscv64 debian-sid qemu-minimal 4e100a967SAlex Bennée# 50101dd71SAlex Bennée# https://gitlab.com/libvirt/libvirt-ci 60101dd71SAlex Bennée 75c24acf3SAlex BennéeFROM docker.io/library/debian:sid-slim 85c24acf3SAlex Bennée 90101dd71SAlex BennéeRUN export DEBIAN_FRONTEND=noninteractive && \ 100101dd71SAlex Bennée apt-get update && \ 110101dd71SAlex Bennée apt-get install -y eatmydata && \ 120101dd71SAlex Bennée eatmydata apt-get dist-upgrade -y && \ 130101dd71SAlex Bennée eatmydata apt-get install --no-install-recommends -y \ 140101dd71SAlex Bennée bash \ 155c24acf3SAlex Bennée bc \ 160101dd71SAlex Bennée bison \ 175c24acf3SAlex Bennée ca-certificates \ 180101dd71SAlex Bennée ccache \ 190101dd71SAlex Bennée findutils \ 203de61b98SAnton Johansson flex \ 210101dd71SAlex Bennée gcc \ 225c24acf3SAlex Bennée git \ 233de61b98SAnton Johansson libglib2.0-dev \ 240101dd71SAlex Bennée locales \ 250101dd71SAlex Bennée make \ 260101dd71SAlex Bennée meson \ 275c24acf3SAlex Bennée ninja-build \ 280101dd71SAlex Bennée pkgconf \ 29a22a4b29SJohn Snow python3 \ 300101dd71SAlex Bennée python3-venv \ 310101dd71SAlex Bennée sed \ 320101dd71SAlex Bennée tar && \ 330101dd71SAlex Bennée eatmydata apt-get autoremove -y && \ 340101dd71SAlex Bennée eatmydata apt-get autoclean -y && \ 350101dd71SAlex Bennée sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen && \ 36*2355d18cSThomas Huth dpkg-reconfigure locales && \ 37*2355d18cSThomas Huth rm -f /usr/lib*/python3*/EXTERNALLY-MANAGED 385c24acf3SAlex Bennée 390101dd71SAlex BennéeENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers" 400101dd71SAlex BennéeENV LANG "en_US.UTF-8" 410101dd71SAlex BennéeENV MAKE "/usr/bin/make" 420101dd71SAlex BennéeENV NINJA "/usr/bin/ninja" 430101dd71SAlex BennéeENV PYTHON "/usr/bin/python3" 445c24acf3SAlex Bennée 450101dd71SAlex BennéeRUN export DEBIAN_FRONTEND=noninteractive && \ 460101dd71SAlex Bennée dpkg --add-architecture riscv64 && \ 470101dd71SAlex Bennée eatmydata apt-get install debian-ports-archive-keyring && \ 480101dd71SAlex Bennée eatmydata echo 'deb http://ftp.ports.debian.org/debian-ports/ sid main' > /etc/apt/sources.list.d/ports.list && \ 490101dd71SAlex Bennée eatmydata echo 'deb http://ftp.ports.debian.org/debian-ports/ unreleased main' >> /etc/apt/sources.list.d/ports.list && \ 500101dd71SAlex Bennée eatmydata apt-get update && \ 510101dd71SAlex Bennée eatmydata apt-get dist-upgrade -y && \ 520101dd71SAlex Bennée eatmydata apt-get install --no-install-recommends -y dpkg-dev && \ 530101dd71SAlex Bennée eatmydata apt-get install --no-install-recommends -y \ 54e100a967SAlex Bennée gcc-riscv64-linux-gnu \ 550101dd71SAlex Bennée libc6-dev:riscv64 \ 562b5e0c9fSThomas Huth libfdt-dev:riscv64 \ 575c24acf3SAlex Bennée libffi-dev:riscv64 \ 585c24acf3SAlex Bennée libglib2.0-dev:riscv64 \ 590101dd71SAlex Bennée libpixman-1-dev:riscv64 && \ 600101dd71SAlex Bennée eatmydata apt-get autoremove -y && \ 610101dd71SAlex Bennée eatmydata apt-get autoclean -y && \ 620101dd71SAlex Bennée mkdir -p /usr/local/share/meson/cross && \ 630101dd71SAlex Bennée printf "[binaries]\n\ 640101dd71SAlex Bennéec = '/usr/bin/riscv64-linux-gnu-gcc'\n\ 650101dd71SAlex Bennéear = '/usr/bin/riscv64-linux-gnu-gcc-ar'\n\ 660101dd71SAlex Bennéestrip = '/usr/bin/riscv64-linux-gnu-strip'\n\ 670101dd71SAlex Bennéepkgconfig = '/usr/bin/riscv64-linux-gnu-pkg-config'\n\ 680101dd71SAlex Bennée\n\ 690101dd71SAlex Bennée[host_machine]\n\ 700101dd71SAlex Bennéesystem = 'linux'\n\ 710101dd71SAlex Bennéecpu_family = 'riscv64'\n\ 720101dd71SAlex Bennéecpu = 'riscv64'\n\ 730101dd71SAlex Bennéeendian = 'little'\n" > /usr/local/share/meson/cross/riscv64-linux-gnu && \ 740101dd71SAlex Bennée dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /packages.txt && \ 750101dd71SAlex Bennée mkdir -p /usr/libexec/ccache-wrappers && \ 760101dd71SAlex Bennée ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/riscv64-linux-gnu-cc && \ 770101dd71SAlex Bennée ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/riscv64-linux-gnu-gcc 785c24acf3SAlex Bennée 790101dd71SAlex BennéeENV ABI "riscv64-linux-gnu" 800101dd71SAlex BennéeENV MESON_OPTS "--cross-file=riscv64-linux-gnu" 815c24acf3SAlex BennéeENV QEMU_CONFIGURE_OPTS --cross-prefix=riscv64-linux-gnu- 825c24acf3SAlex BennéeENV DEF_TARGET_LIST riscv64-softmmu,riscv64-linux-user 8393bd2954SAlex Bennée# As a final step configure the user (if env is defined) 8493bd2954SAlex BennéeARG USER 8593bd2954SAlex BennéeARG UID 8693bd2954SAlex BennéeRUN if [ "${USER}" ]; then \ 8793bd2954SAlex Bennée id ${USER} 2>/dev/null || useradd -u ${UID} -U ${USER}; fi 88