#
# Docker multiarch cross-compiler target
#
# This docker target is builds on Debian Ports cross compiler targets
# to build distro with a selection of cross compilers for building test binaries.
#
# On its own you can't build much but the docker-foo-cross targets
# build on top of the base debian image.
#
FROM debian:unstable

MAINTAINER Philippe Mathieu-Daudé <f4bug@amsat.org>

RUN echo "deb [arch=amd64] http://deb.debian.org/debian unstable main" > /etc/apt/sources.list

# Duplicate deb line as deb-src
RUN cat /etc/apt/sources.list | sed -ne "s/^deb\ \(\[.*\]\ \)\?\(.*\)/deb-src \2/p" >> /etc/apt/sources.list

# Setup some basic tools we need
RUN apt-get update && \
    DEBIAN_FRONTEND=noninteractive apt install -yy eatmydata && \
    DEBIAN_FRONTEND=noninteractive eatmydata \
    apt-get install -y --no-install-recommends \
        bison \
        build-essential \
        ca-certificates \
        clang \
        debian-ports-archive-keyring \
        flex \
        gettext \
        git \
        pkg-config \
        psmisc \
        python \
        texinfo \
        $(apt-get -s build-dep qemu | egrep ^Inst | fgrep '[all]' | cut -d\  -f2)
