aboutsummaryrefslogtreecommitdiff
path: root/tests/docker/dockerfiles/debian-legacy-test-cross.docker
blob: 8cc68bc9129d289ce7710c4b5ca1f0ced4e22336 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
# Docker legacy cross-compiler target (tests and minimal qemu)
#
# Compilers for some of our older targets which we cant currently
# upgrade. Currently:
#
#   libc6.1-dev-alpha-cross: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1054412
#   sh4-linux-user: binaries don't run with bookworm compiler
#
# As we are targeting check-tcg here we only need minimal qemu
# dependencies and the relevant cross compilers.

FROM docker.io/library/debian:11-slim

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

RUN export DEBIAN_FRONTEND=noninteractive && \
    apt-get update && \
    apt-get install -y eatmydata && \
    eatmydata apt-get dist-upgrade -y && \
    apt build-dep -yy qemu

# Add extra build tools and as many cross compilers as we can for testing
RUN DEBIAN_FRONTEND=noninteractive eatmydata \
        apt install -y --no-install-recommends \
        bison \
        ccache \
        clang  \
        flex \
        git \
        ninja-build \
        gcc-alpha-linux-gnu \
        libc6.1-dev-alpha-cross \
        gcc-sh4-linux-gnu \
        libc6-dev-sh4-cross \
        python3-pip \
        python3-setuptools \
        python3-venv \
        python3-wheel

RUN /usr/bin/pip3 install tomli

ENV QEMU_CONFIGURE_OPTS --disable-system --disable-docs --disable-tools
ENV DEF_TARGET_LIST alpha-linux-user,sh4-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