@@ -68,19 +68,19 @@ FROM base AS libraries
68
68
69
69
# Boost
70
70
RUN set -ex; \
71
- cd /usr/src; \
72
- wget -q 'https://archives.boost.io/release/1.83.0/source/boost_1_83_0.tar.bz2' -O boost.tar.bz2; \
73
- test "$(sha256sum boost.tar.bz2)" = "6478edfe2f3305127cffe8caf73ea0176c53769f4bf1585be237eb30798c3b8e boost.tar.bz2" && \
74
- tar -xf boost.tar.bz2; \
75
- rm boost.tar.bz2; \
76
- cd boost_1_83_0; \
77
- CXXFLAGS="-std=c++17 -stdlib=libc++ -pthread" LDFLAGS="-stdlib=libc++" ./bootstrap.sh --with-toolset=clang --prefix=/usr; \
78
- ./b2 toolset=clang cxxflags="-stdlib=libc++ -pthread" linkflags="-stdlib=libc++ -pthread" headers; \
79
- ./b2 toolset=clang cxxflags="-stdlib=libc++ -pthread" linkflags="-stdlib=libc++ -pthread" \
80
- link=static variant=release runtime-link=static \
81
- system filesystem unit_test_framework program_options \
82
- install -j $(($(nproc)/2)); \
83
- rm -rf /usr/src/boost_1_83_0
71
+ cd /usr/src; \
72
+ wget -q 'https://archives.boost.io/release/1.83.0/source/boost_1_83_0.tar.bz2' -O boost.tar.bz2; \
73
+ test "$(sha256sum boost.tar.bz2)" = "6478edfe2f3305127cffe8caf73ea0176c53769f4bf1585be237eb30798c3b8e boost.tar.bz2" && \
74
+ tar -xf boost.tar.bz2; \
75
+ rm boost.tar.bz2; \
76
+ cd boost_1_83_0; \
77
+ CXXFLAGS="-std=c++17 -stdlib=libc++ -pthread" LDFLAGS="-stdlib=libc++" ./bootstrap.sh --with-toolset=clang --prefix=/usr; \
78
+ ./b2 toolset=clang cxxflags="-stdlib=libc++ -pthread" linkflags="-stdlib=libc++ -pthread" headers; \
79
+ ./b2 toolset=clang cxxflags="-stdlib=libc++ -pthread" linkflags="-stdlib=libc++ -pthread" \
80
+ link=static variant=release runtime-link=static \
81
+ system filesystem unit_test_framework program_options \
82
+ install -j $(($(nproc)/2)); \
83
+ rm -rf /usr/src/boost_1_83_0
84
84
85
85
# Z3
86
86
RUN set -ex; \
@@ -112,15 +112,14 @@ RUN set -ex; \
112
112
113
113
# OSSFUZZ: libprotobuf-mutator
114
114
RUN set -ex; \
115
- git clone https://github.com/google/libprotobuf-mutator.git \
116
- /usr/src/libprotobuf-mutator; \
115
+ git clone https://github.com/google/libprotobuf-mutator.git /usr/src/libprotobuf-mutator; \
117
116
cd /usr/src/libprotobuf-mutator; \
118
117
git checkout 3521f47a2828da9ace403e4ecc4aece1a84feb36; \
119
118
mkdir build; \
120
119
cd build; \
121
120
cmake .. -GNinja -DLIB_PROTO_MUTATOR_DOWNLOAD_PROTOBUF=ON \
122
- -DLIB_PROTO_MUTATOR_TESTING=OFF -DCMAKE_BUILD_TYPE=Release \
123
- -DCMAKE_INSTALL_PREFIX="/usr" ; \
121
+ -DLIB_PROTO_MUTATOR_TESTING=OFF -DCMAKE_BUILD_TYPE=Release \
122
+ -DCMAKE_INSTALL_PREFIX="/usr" ; \
124
123
ninja; \
125
124
cp -vpr external.protobuf/bin/* /usr/bin/; \
126
125
cp -vpr external.protobuf/include/* /usr/include/; \
@@ -142,37 +141,37 @@ RUN set -ex; \
142
141
143
142
# gmp
144
143
RUN set -ex; \
145
- # Replace system installed libgmp static library
146
- # with sanitized version. Do not perform apt
147
- # remove because it removes mlton as well that
148
- # we need for building libabicoder
149
- cd /usr/src/; \
150
- git clone --depth 1 --branch gmp-6.2.1 https://github.com/gmp-mirror/gmp-6.2 gmp/; \
151
- rm -r gmp/.git/; \
152
- test \
153
- "$(tar --create gmp/ --sort=name --mtime=1970-01-01Z --owner=0 --group=0 --numeric-owner | sha256sum)" = \
154
- "d606ff6a4ce98692f9920031e85ea8fcf4a65ce1426f6f0048b8794aefed174b -" ; \
155
- # NOTE: This removes also libgmp.so, which git depends on
156
- rm -f /usr/lib/x86_64-linux-gnu/libgmp.*; \
157
- rm -f /usr/include/x86_64-linux-gnu/gmp.h; \
158
- cd gmp/; \
159
- autoreconf -i; \
160
- ./configure --prefix=/usr --enable-static=yes --enable-maintainer-mode; \
161
- make -j; \
162
- make check; \
163
- make install; \
164
- rm -rf /usr/src/gmp/
144
+ # Replace system installed libgmp static library
145
+ # with sanitized version. Do not perform apt
146
+ # remove because it removes mlton as well that
147
+ # we need for building libabicoder
148
+ cd /usr/src/; \
149
+ git clone --depth 1 --branch gmp-6.2.1 https://github.com/gmp-mirror/gmp-6.2 gmp/; \
150
+ rm -r gmp/.git/; \
151
+ test \
152
+ "$(tar --create gmp/ --sort=name --mtime=1970-01-01Z --owner=0 --group=0 --numeric-owner | sha256sum)" = \
153
+ "d606ff6a4ce98692f9920031e85ea8fcf4a65ce1426f6f0048b8794aefed174b -" ; \
154
+ # NOTE: This removes also libgmp.so, which git depends on
155
+ rm -f /usr/lib/x86_64-linux-gnu/libgmp.*; \
156
+ rm -f /usr/include/x86_64-linux-gnu/gmp.h; \
157
+ cd gmp/; \
158
+ autoreconf -i; \
159
+ ./configure --prefix=/usr --enable-static=yes --enable-maintainer-mode; \
160
+ make -j; \
161
+ make check; \
162
+ make install; \
163
+ rm -rf /usr/src/gmp/
165
164
166
165
# libabicoder
167
166
RUN set -ex; \
168
- cd /usr/src; \
169
- git clone https://github.com/ekpyron/Yul-Isabelle; \
170
- cd Yul-Isabelle; \
171
- cd libabicoder; \
172
- CXX=clang++ CXXFLAGS="-stdlib=libc++ -pthread" make; \
173
- cp libabicoder.a /usr/lib; \
174
- cp abicoder.hpp /usr/include; \
175
- rm -rf /usr/src/Yul-Isabelle
167
+ cd /usr/src; \
168
+ git clone https://github.com/ekpyron/Yul-Isabelle; \
169
+ cd Yul-Isabelle; \
170
+ cd libabicoder; \
171
+ CXX=clang++ CXXFLAGS="-stdlib=libc++ -pthread" make; \
172
+ cp libabicoder.a /usr/lib; \
173
+ cp abicoder.hpp /usr/include; \
174
+ rm -rf /usr/src/Yul-Isabelle
176
175
177
176
FROM base
178
177
COPY --from=libraries /usr/lib /usr/lib
0 commit comments