-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDockerfile
More file actions
60 lines (51 loc) · 2.05 KB
/
Dockerfile
File metadata and controls
60 lines (51 loc) · 2.05 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
FROM ubuntu:24.04
ARG LLVM_VERSION=18
ARG NINJA_VERSION=1.12.0
ARG NINJA_FILENAME=ninja-linux.zip
RUN apt update && \
apt upgrade -y && \
apt install -y wget \
curl \
sudo \
lsb-release \
software-properties-common \
gnupg \
unzip \
git \
build-essential
RUN apt install -y libboost-all-dev
RUN curl -sL https://deb.nodesource.com/setup_18.x -o nodesource_setup.sh && \
bash nodesource_setup.sh && \
apt install -y nodejs
RUN apt install -y libx11-dev zlib1g-dev
RUN apt install -y libxext-dev
RUN wget https://apt.llvm.org/llvm.sh && \
chmod +x llvm.sh && \
./llvm.sh $LLVM_VERSION all && \
ln -s $(which clang-${LLVM_VERSION}) /usr/bin/clang && \
ln -s $(which clang++-${LLVM_VERSION}) /usr/bin/clang++ && \
ln -s $(which clang-tidy-${LLVM_VERSION}) /usr/bin/clang-tidy && \
ln -s $(which clang-format-${LLVM_VERSION}) /usr/bin/clang-format && \
rm llvm.sh
RUN apt clean all &&\
apt remove --purge --auto-remove cmake && \
wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | \
gpg --dearmor - | tee /usr/share/keyrings/kitware-archive-keyring.gpg >/dev/null && \
wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | \
gpg --dearmor - | \
tee /etc/apt/trusted.gpg.d/kitware.gpg >/dev/null && \
apt-add-repository "deb https://apt.kitware.com/ubuntu/ $(lsb_release -cs) main" && \
apt update && \
apt install kitware-archive-keyring && \
rm /etc/apt/trusted.gpg.d/kitware.gpg && \
apt update && \
apt install -y cmake cmake-data cmake-extras extra-cmake-modules
RUN wget https://github.com/ninja-build/ninja/releases/download/v${NINJA_VERSION}/${NINJA_FILENAME} && \
unzip ${NINJA_FILENAME} && \
mv ninja /usr/bin/ninja && \
chmod +x /usr/bin/ninja
RUN wget -qO- https://packages.lunarg.com/lunarg-signing-key-pub.asc | \
tee /etc/apt/trusted.gpg.d/lunarg.asc && \
wget -qO /etc/apt/sources.list.d/lunarg-vulkan-1.3.280-jammy.list https://packages.lunarg.com/vulkan/1.3.280/lunarg-vulkan-1.3.280-jammy.list && \
sudo apt update && \
sudo apt install -y vulkan-sdk xorg-dev libglew-dev freeglut3-dev