3333# Using $(em-config CACHE)/sysroot/usr seems to work, though, and still has cmake find the
3434# dependencies automatically.
3535FROM emscripten/emsdk:3.1.19 AS base
36- LABEL version="20 "
36+ LABEL version="21 "
3737
3838ADD emscripten.jam /usr/src
39- RUN set -ex && \
40- apt-get update && \
39+ RUN <<-EOF
40+ set -ex
41+ apt-get update
4142 apt-get install -qqy --no-install-recommends \
4243 lsof \
4344 lz4 \
4445 python3 \
4546 python3-pip \
4647 sudo && \
47- pip3 install requests;
48+ pip3 install requests
49+ EOF
4850
4951# Install Z3
50- RUN set -ex && \
51- cd /usr/src && \
52- git clone https://github.com/Z3Prover/z3.git -b z3-4.13.3 --depth 1 && \
53- cd z3 && \
54- mkdir build && \
55- cd build && \
52+ RUN <<-EOF
53+ set -ex
54+ cd /usr/src
55+ git clone https://github.com/Z3Prover/z3.git -b z3-4.13.3 --depth 1
56+ cd z3
57+ mkdir build
58+ cd build
5659 emcmake cmake \
5760 -DCMAKE_INSTALL_PREFIX=$(em-config CACHE)/sysroot/usr \
5861 -DCMAKE_BUILD_TYPE=MinSizeRel \
@@ -62,33 +65,38 @@ RUN set -ex && \
6265 -DZ3_BUILD_EXECUTABLE=OFF \
6366 -DZ3_SINGLE_THREADED=ON \
6467 -DCMAKE_CXX_FLAGS="-s DISABLE_EXCEPTION_CATCHING=0" \
65- .. && \
66- make && \
67- make install && \
68+ ..
69+ make
70+ make install
6871 rm -r /usr/src/z3
72+ EOF
6973
7074# Install Boost
71- RUN set -ex && \
72- cd /usr/src && \
73- wget -q 'https://archives.boost.io/release/1.75.0/source/boost_1_75_0.tar.bz2' -O boost.tar.bz2 && \
74- test "$(sha256sum boost.tar.bz2)" = "953db31e016db7bb207f11432bef7df100516eeb746843fa0486a222e3fd49cb boost.tar.bz2" && \
75- tar -xf boost.tar.bz2 && \
76- rm boost.tar.bz2 && \
77- cd boost_1_75_0 && \
78- mv ../emscripten.jam . && \
79- ./bootstrap.sh && \
80- echo "using emscripten : : em++ ;" >> project-config.jam && \
75+ RUN <<-EOF
76+ set -ex
77+ cd /usr/src
78+ wget -q 'https://archives.boost.io/release/1.83.0/source/boost_1_83_0.tar.bz2' -O boost.tar.bz2
79+ test "$(sha256sum boost.tar.bz2)" = "6478edfe2f3305127cffe8caf73ea0176c53769f4bf1585be237eb30798c3b8e boost.tar.bz2"
80+ tar -xf boost.tar.bz2
81+ rm boost.tar.bz2
82+ cd boost_1_83_0
83+ mv ../emscripten.jam .
84+ ./bootstrap.sh
85+ echo "using emscripten : : em++ ;" >> project-config.jam
8186 ./b2 toolset=emscripten link=static variant=release threading=single runtime-link=static \
8287 --with-system --with-filesystem --with-test --with-program_options \
8388 cxxflags="-s DISABLE_EXCEPTION_CATCHING=0 -Wno-unused-local-typedef -Wno-variadic-macros -Wno-c99-extensions -Wno-all" \
84- --prefix=$(em-config CACHE)/sysroot/usr install && \
85- rm -r /usr/src/boost_1_75_0
89+ --prefix=$(em-config CACHE)/sysroot/usr install
90+ rm -r /usr/src/boost_1_83_0
91+ EOF
8692
8793# CVC5
88- RUN set -ex; \
89- cvc5_version="1.2.0" ; \
90- cvc5_archive_name="cvc5-Linux-x86_64-static" ; \
91- wget "https://github.com/cvc5/cvc5/releases/download/cvc5-${cvc5_version}/${cvc5_archive_name}.zip" -O /opt/cvc5.zip; \
92- test "$(sha256sum /opt/cvc5.zip)" = "d18f174ff9a11923c32c3f871f844ed16bd77a28f51050b8e7c8d821c98a1c2e /opt/cvc5.zip" ; \
93- unzip -j /opt/cvc5.zip "${cvc5_archive_name}/bin/cvc5" -d /usr/bin; \
94- rm -f /opt/cvc5.zip;
94+ RUN <<-EOF
95+ set -ex
96+ cvc5_version="1.2.0"
97+ cvc5_archive_name="cvc5-Linux-x86_64-static"
98+ wget "https://github.com/cvc5/cvc5/releases/download/cvc5-${cvc5_version}/${cvc5_archive_name}.zip" -O /opt/cvc5.zip
99+ test "$(sha256sum /opt/cvc5.zip)" = "d18f174ff9a11923c32c3f871f844ed16bd77a28f51050b8e7c8d821c98a1c2e /opt/cvc5.zip"
100+ unzip -j /opt/cvc5.zip "${cvc5_archive_name}/bin/cvc5" -d /usr/bin
101+ rm -f /opt/cvc5.zip
102+ EOF
0 commit comments