-
Notifications
You must be signed in to change notification settings - Fork 8
/
Copy pathDockerfile
125 lines (95 loc) · 6.17 KB
/
Dockerfile
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
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
FROM gentoo/stage3:latest
ARG LLVM_MAJOR_VERSION=17
ARG LLVM_FULL_VERSION=$LLVM_MAJOR_VERSION.0.6
#ARG BOOST_VERSION=1.82.0-r1
ARG BOOST_VERSION=1.83.0-r2
RUN emerge --sync
RUN echo 'CFLAGS="-march=native -mtune=native -O3 -pipe"' >> /etc/portage/make.conf
RUN echo 'CXXFLAGS="${CFLAGS}"' >> /etc/portage/make.conf
RUN echo 'USE="${USE} -examples -udev"' >> /etc/portage/make.conf
RUN echo 'USE="${USE} lto static-libs"' >> /etc/portage/make.conf
RUN echo 'USE="${USE} system system-bootstrap system-llvm"' >> /etc/portage/make.conf
RUN echo "dev-libs/boost **" > /etc/portage/package.accept_keywords/boost
RUN echo "dev-util/b2 **" >> /etc/portage/package.accept_keywords/boost
RUN echo "dev-util/boost-build **" >> /etc/portage/package.accept_keywords/boost
RUN echo "dev-libs/boost icu lzma python test tools" > /etc/portage/package.use/boost
#RUN echo "dev-util/cmake **" > /etc/portage/package.accept_keywords/cmake
RUN echo "sys-devel/gcc **" > /etc/portage/package.accept_keywords/gcc
#RUN echo "dev-libs/icu " > /etc/portage/package.use/icu
RUN echo "dev-libs/icu **" > /etc/portage/package.accept_keywords/icu
RUN echo "dev-lang/mono minimal" > /etc/portage/package.use/mono
RUN echo "sys-devel/llvm **" > /etc/portage/package.accept_keywords/llvm
RUN echo "sys-devel/llvm-common **" >> /etc/portage/package.accept_keywords/llvm
RUN echo "sys-devel/llvm-toolchain-symlinks **" >> /etc/portage/package.accept_keywords/llvm
RUN echo "sys-devel/llvmgold **" >> /etc/portage/package.accept_keywords/llvm
RUN echo "sys-devel/lld **" > /etc/portage/package.accept_keywords/lld
RUN echo "sys-devel/lld-toolchain-symlinks **" >> /etc/portage/package.accept_keywords/lld
RUN echo "dev-util/lldb **" > /etc/portage/package.accept_keywords/lldb
RUN echo "sys-devel/clang **" > /etc/portage/package.accept_keywords/clang
RUN echo "sys-devel/clang-common **" >> /etc/portage/package.accept_keywords/clang
RUN echo "sys-devel/clang-runtime **" >> /etc/portage/package.accept_keywords/clang
RUN echo "sys-devel/clang-toolchain-symlinks **" >> /etc/portage/package.accept_keywords/clang
RUN echo "sys-libs/compiler-rt **" >> /etc/portage/package.accept_keywords/clang
RUN echo "sys-libs/compiler-rt-sanitizers **" >> /etc/portage/package.accept_keywords/clang
RUN echo "sys-libs/libomp **" >> /etc/portage/package.accept_keywords/clang
RUN echo 'ACCEPT_LICENSE="*"' >> /etc/make.conf
RUN echo "dev-util/intel-ocl-sdk **" > /etc/portage/package.accept_keywords/intel-ocl-sdk
RUN echo "dev-lang/julia **" > /etc/portage/package.accept_keywords/julia
RUN echo "sci-mathematics/dsfmt **" >> /etc/portage/package.accept_keywords/julia
RUN echo "sci-libs/openlibm **" >> /etc/portage/package.accept_keywords/julia
RUN echo "net-misc/curl ssh" > /etc/portage/package.use/julia
RUN echo "sci-libs/fftw threads" >> /etc/portage/package.use/julia
RUN echo "dev-cpp/tbb -udev" > /etc/portage/package.use/tbb
RUN emerge --update dev-cpp/tbb -j`nproc` && rm -rf /var/cache/distfiles/* && rm -rf /var/tmp/portage/*
RUN emerge --update dev-vcs/git -j`nproc` && rm -rf /var/cache/distfiles/* && rm -rf /var/tmp/portage/*
RUN emerge --update -1o dev-util/cmake -j`nproc` && rm -rf /var/cache/distfiles/* && rm -rf /var/tmp/portage/*
RUN emerge --update dev-util/cmake -j1 && rm -rf /var/cache/distfiles/* && rm -rf /var/tmp/portage/*
RUN emerge --update kde-frameworks/extra-cmake-modules -j`nproc` && rm -rf /var/cache/distfiles/* && rm -rf /var/tmp/portage/*
RUN emerge -j`nproc` leveldb && rm -rf /var/cache/distfiles/* && rm -rf /var/tmp/portage/*
RUN emerge --update \
app-arch/lz4 \
dev-libs/openssl \
sys-process/htop \
sys-libs/zlib \
x11-libs/libX11 \
x11-libs/libxcb \
x11-libs/libXScrnSaver \
-j`nproc` && rm -rf /var/cache/distfiles/* && rm -rf /var/tmp/portage/*
RUN emerge -j`nproc` sys-devel/gcc && rm -rf /var/cache/distfiles/* && rm -rf /var/tmp/portage/*
RUN emerge --update \
bash-completion \
eix \
-j`nproc` && rm -rf /var/cache/distfiles/* && rm -rf /var/tmp/portage/*
RUN eix-update
RUN emerge dev-python/sphinx -j`nproc` && rm -rf /var/cache/distfiles/* && rm -rf /var/tmp/portage/*
RUN emerge =sys-devel/llvm-common-$LLVM_FULL_VERSION -j`nproc` && rm -rf /var/cache/distfiles/* && rm -rf /var/tmp/portage/*
RUN emerge --update -j`nproc` \
sys-libs/binutils-libs \
dev-python/myst-parser \
&& rm -rf /var/cache/distfiles/* && rm -rf /var/tmp/portage/*
RUN emerge sys-devel/llvm:$LLVM_MAJOR_VERSION -j`nproc` && rm -rf /var/cache/distfiles/* && rm -rf /var/tmp/portage/*
RUN emerge --update =sys-libs/libomp-$LLVM_FULL_VERSION -j`nproc` && rm -rf /var/cache/distfiles/* && rm -rf /var/tmp/portage/*
RUN emerge --update =dev-libs/boost-$BOOST_VERSION -j`nproc` && rm -rf /var/cache/distfiles/* && rm -rf /var/tmp/portage/*
RUN emerge --update =sys-devel/clang-common-$LLVM_FULL_VERSION-r1 -j`nproc` && rm -rf /var/cache/distfiles/* && rm -rf /var/tmp/portage/*
RUN emerge --update =sys-devel/lld-$LLVM_FULL_VERSION -j`nproc` && rm -rf /var/cache/distfiles/* && rm -rf /var/tmp/portage/*
# FoundationDB deps
RUN emerge --update dev-cpp/benchmark dev-cpp/gtest -j`nproc` && rm -rf /var/cache/distfiles/* && rm -rf /var/tmp/portage/*
#RUN emerge --update dev-lang/mono -j`nproc` && rm -rf /var/cache/distfiles/* && rm -rf /var/tmp/portage/*
RUN emerge --update \
dev-util/intel-ocl-sdk \
-j`nproc` && rm -rf /var/cache/distfiles/* && rm -rf /var/tmp/portage/*
RUN emerge --update \
dev-util/vulkan-headers \
media-libs/vulkan-loader \
-j`nproc` && rm -rf /var/cache/distfiles/* && rm -rf /var/tmp/portage/*
RUN emerge --update gdb -j`nproc` && rm -rf /var/cache/distfiles/* && rm -rf /var/tmp/portage/*
RUN emerge --update =dev-util/lldb-$LLVM_FULL_VERSION -j`nproc` && rm -rf /var/cache/distfiles/* && rm -rf /var/tmp/portage/*
# RUN emerge --update =dev-lang/julia-1.8.3-r4 -j`nproc` && rm -rf /var/cache/distfiles/* && rm -rf /var/tmp/portage/*
#RUN emerge --update =dev-lang/julia-1.8.5-r1 -j`nproc` && rm -rf /var/cache/distfiles/* && rm -rf /var/tmp/portage/*
RUN emerge --update \
app-misc/mc \
sys-process/htop \
-j`nproc` && rm -rf /var/cache/distfiles/* && rm -rf /var/tmp/portage/*
RUN emerge --update \
sys-apps/ripgrep \
-j`nproc` && rm -rf /var/cache/distfiles/* && rm -rf /var/tmp/portage/*