#
# Docker cross-compiler target for riscv64
#
# Currently the only distro that gets close to cross compiling riscv64
# images is Debian Sid (with unofficial ports). As this is a moving
# target we keep the library list minimal and are aiming to migrate
# from this hack as soon as we are able.
#
FROM docker.io/library/debian:sid-slim

# Add ports
RUN apt update && \
    DEBIAN_FRONTEND=noninteractive apt install -yy eatmydata && \
    DEBIAN_FRONTEND=noninteractive eatmydata apt update -yy && \
    DEBIAN_FRONTEND=noninteractive eatmydata apt upgrade -yy

# Install common build utilities
RUN DEBIAN_FRONTEND=noninteractive eatmydata apt install -yy \
    bison \
    bc \
    build-essential \
    ca-certificates \
    debian-ports-archive-keyring \
    dpkg-dev \
    flex \
    gettext \
    git \
    libglib2.0-dev \
    ninja-build \
    pkg-config \
    python3

# Add ports and riscv64 architecture
RUN echo "deb http://ftp.ports.debian.org/debian-ports/ sid main" >> /etc/apt/sources.list
RUN dpkg --add-architecture riscv64

# Duplicate deb line as deb-src
RUN cat /etc/apt/sources.list | sed "s/^deb\ /deb-src /" >> /etc/apt/sources.list

RUN apt update && \
    DEBIAN_FRONTEND=noninteractive eatmydata \
    apt install -y --no-install-recommends \
         gcc-riscv64-linux-gnu \
         libc6-dev-riscv64-cross \
         libfdt-dev:riscv64 \
         libffi-dev:riscv64 \
         libglib2.0-dev:riscv64 \
         libpixman-1-dev:riscv64

# Specify the cross prefix for this image (see tests/docker/common.rc)
ENV QEMU_CONFIGURE_OPTS --cross-prefix=riscv64-linux-gnu-
ENV DEF_TARGET_LIST riscv64-softmmu,riscv64-linux-user
