-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDockerfile
More file actions
103 lines (93 loc) · 3.24 KB
/
Dockerfile
File metadata and controls
103 lines (93 loc) · 3.24 KB
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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
FROM ubuntu:22.04
ENV DEBIAN_FRONTEND=noninteractive \
PIP_INDEX_URL=https://pypi.tuna.tsinghua.edu.cn/simple \
PIP_TRUSTED_HOST=pypi.tuna.tsinghua.edu.cn \
PIP_DEFAULT_TIMEOUT=120 \
RUSTUP_DIST_SERVER=https://mirrors.aliyun.com/rustup \
RUSTUP_UPDATE_ROOT=https://mirrors.aliyun.com/rustup/rustup \
PATH=/root/.cargo/bin:${PATH}
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN sed -i 's|http://archive.ubuntu.com/ubuntu|http://mirrors.aliyun.com/ubuntu|g; s|http://security.ubuntu.com/ubuntu|http://mirrors.aliyun.com/ubuntu|g' /etc/apt/sources.list && \
printf 'Acquire::Retries "5";\nAcquire::ForceIPv4 "true";\n' > /etc/apt/apt.conf.d/99speed && \
apt-get update && apt-get install -y --no-install-recommends \
ca-certificates \
curl \
gnupg \
lsb-release \
software-properties-common \
wget && \
rm -rf /var/lib/apt/lists/*
RUN mkdir -p /etc/apt/keyrings && \
curl -fsSL 'https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x6A755776' | gpg --dearmor -o /etc/apt/keyrings/deadsnakes.gpg && \
echo 'deb [signed-by=/etc/apt/keyrings/deadsnakes.gpg] http://ppa.launchpadcontent.net/deadsnakes/ppa/ubuntu jammy main' > /etc/apt/sources.list.d/deadsnakes-ppa.list && \
apt-get update && apt-get install -y --no-install-recommends \
autoconf \
automake \
autotools-dev \
babeltrace \
binutils-arm-none-eabi \
build-essential \
clang \
clang-format \
clang-tidy \
cmake \
device-tree-compiler \
gcc-aarch64-linux-gnu \
gcc-arm-none-eabi \
gcc-riscv64-unknown-elf \
gdb-multiarch \
git \
libboost-all-dev \
libtool \
libxml2-dev \
libxml2-utils \
libxslt1-dev \
lld \
llvm \
meson \
net-tools \
ninja-build \
pandoc \
pkg-config \
python3 \
python3-pip \
python3.9 \
python3.9-distutils \
python3.9-venv \
qemu-system-arm \
qemu-system-misc \
texlive-fonts-extra \
texlive-fonts-recommended \
texlive-latex-base \
texlive-latex-recommended \
zlib1g-dev && \
rm -rf /var/lib/apt/lists/*
RUN set -eux; \
curl --proto '=https' --tlsv1.2 --retry 5 --retry-delay 2 --connect-timeout 20 -fL \
https://mirrors.aliyun.com/rustup/rustup/dist/x86_64-unknown-linux-gnu/rustup-init \
-o /tmp/rustup-init; \
chmod +x /tmp/rustup-init; \
/tmp/rustup-init -y --profile minimal --default-toolchain stable; \
rustup target add x86_64-unknown-linux-musl; \
rm -f /tmp/rustup-init
RUN python3.9 -m ensurepip --upgrade && \
python3.9 -m pip install --no-cache-dir --retries 5 --upgrade pip setuptools wheel && \
mkdir -p /root/.config/pip && \
printf '[global]\nindex-url = %s\ntrusted-host = %s\ndefault-timeout = %s\n' "$PIP_INDEX_URL" "$PIP_TRUSTED_HOST" "$PIP_DEFAULT_TIMEOUT" > /root/.config/pip/pip.conf && \
printf '#!/usr/bin/env bash\nexec python3.9 -m pip "$@"\n' > /usr/local/bin/pip && \
chmod +x /usr/local/bin/pip && \
ln -sf /usr/local/bin/pip /usr/local/bin/pip3 && \
ln -sf /usr/bin/python3.9 /usr/local/bin/python
RUN pip install --no-cache-dir --retries 5 \
barectf \
chardet \
lxml \
nltk \
ply \
pyfdt \
requests \
strictdoc \
urllib3
WORKDIR /workspace
EXPOSE 5111
CMD ["/bin/bash"]