-
Notifications
You must be signed in to change notification settings - Fork 31
/
Dockerfile.misc
78 lines (68 loc) · 1.77 KB
/
Dockerfile.misc
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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
FROM ubuntu:20.04
ARG DEBIAN_FRONTEND=noninteractive
RUN dpkg --add-architecture i386
RUN apt update -y -q && apt upgrade -y -q && apt update -y -q && \
apt install -y -q \
bmake \
build-essential \
curl \
g++ \
gcc \
gcc-multilib \
git \
flex \
libc6-dev-i386 \
libc6-dev:i386 \
linux-libc-dev \
make \
python3.9 \
python3.9-venv \
python3-pip \
s3cmd \
xz-utils \
unzip \
subversion \
texinfo \
zlib1g-dev \
ninja-build \
file \
xxd \
mesa-common-dev \
autotools-dev \
autoconf \
ragel \
wget \
dos2unix \
pkg-config \
libglib2.0-dev \
libpixman-1-dev \
libsdl-dev \
patchelf \
libxml2-dev \
bison \
re2c \
perl \
cpanminus \
openssh-client \
libgmp-dev
RUN cd /tmp && \
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" && \
unzip awscliv2.zip && \
./aws/install && \
rm -rf aws*
RUN mkdir -p /opt/compiler-explorer
# Add github public key to known_hosts, to enable interaction-less clone
RUN mkdir /root/.ssh \
&& touch /root/.ssh/known_hosts \
&& ssh-keyscan github.com >> /root/.ssh/known_hosts
RUN git clone https://github.com/compiler-explorer/infra /opt/compiler-explorer/infra
RUN cd /opt/compiler-explorer/infra && make ce
RUN /opt/compiler-explorer/infra/bin/ce_install install 'x86/gcc 12.1.0'
RUN cpanm Modern::Perl
RUN cpanm App::Prove CPU::Z80::Assembler Data::Dump File::Path List::Uniq Object::Tiny::RW Regexp::Common Text::Diff YAML::Tiny
RUN curl -sL https://github.com/Kitware/CMake/releases/download/v3.26.3/cmake-3.26.3-linux-x86_64.tar.gz \
| tar zx -C /usr --strip-components=1
RUN mkdir -p /root
COPY misc /root/
COPY common.sh /root/
WORKDIR /root