@@ -33,32 +33,26 @@ RUN git clone -b v3.9.1 https://github.com/protocolbuffers/protobuf \
33
33
ARG MODSEC_SHA=a3454df9b09a8de16d41be10cdea4fc46ef08e91
34
34
35
35
WORKDIR /root/
36
- RUN git clone https://github.com/emscripten-core/emsdk.git -b 3.1.15 \
37
- && git clone https://github.com/maxfierke /libpcre.git -b mf-wasm32-wasi-cross-compile \
36
+ RUN git clone https://github.com/emscripten-core/emsdk.git -b 3.1.16 \
37
+ && git clone https://github.com/M4tteoP /libpcre.git -b wasm-emscripten \
38
38
&& git clone https://github.com/SpiderLabs/ModSecurity.git \
39
39
&& git -C ModSecurity checkout $MODSEC_SHA \
40
40
&& git clone https://github.com/abseil/abseil-cpp -b 20211102.0 \
41
41
&& git clone https://github.com/proxy-wasm/proxy-wasm-cpp-sdk \
42
42
&& git clone https://github.com/istio/proxy.git -b 1.13.3
43
43
44
44
WORKDIR /root/emsdk
45
- RUN ./emsdk install 2.0.7 \
46
- && ./emsdk activate 2.0.7 \
45
+ RUN ./emsdk install 3.1.16 \
46
+ && ./emsdk activate 3.1.16 \
47
47
&& echo "source /root/emsdk/emsdk_env.sh" >> ~/.bashrc \
48
48
&& cd ..
49
49
50
- RUN wget https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-12/wasi-sdk-12.0-linux.tar.gz \
51
- && tar xvf wasi-sdk-12.0-linux.tar.gz -C /opt/ \
52
- && mv /opt/wasi-sdk-12.0/ /opt/wasi-sdk \
53
- && rm wasi-sdk-12.0-linux.tar.gz
54
-
55
- ENV WASI_SDK_PATH="/opt/wasi-sdk"
56
-
57
50
WORKDIR /root/libpcre
58
51
RUN autoreconf -ivf \
59
- && ./build_for_crystal.sh wasm32-wasi \
52
+ && source "/root/emsdk/emsdk_env.sh" \
53
+ && ./build_for_wasm.sh wasm32-emscripten \
60
54
&& mkdir /usr/local/pcre \
61
- && cp targets/wasm32-wasi /*.a /usr/local/pcre \
55
+ && cp targets/wasm32-emscripten /*.a /usr/local/pcre \
62
56
&& cd ..
63
57
64
58
WORKDIR /root/ModSecurity
@@ -80,6 +74,22 @@ WORKDIR /root/proxy-wasm-cpp-sdk
80
74
RUN mkdir /build /sdk \
81
75
&& cp *.cc *.h *.js *.proto Makefile* *.a /sdk/
82
76
77
+ WORKDIR /root
78
+ RUN source "/root/emsdk/emsdk_env.sh" \
79
+ && git clone https://github.com/protocolbuffers/protobuf -b v3.9.1 protobuf-wasm \
80
+ && cd protobuf-wasm \
81
+ && git clone https://github.com/kwonoj/protobuf-wasm wasm-patches \
82
+ && cd wasm-patches \
83
+ && git checkout 4bba8b2f38b5004f87489642b6ca4525ae72fe7f \
84
+ && cd .. \
85
+ && git apply wasm-patches/*.patch \
86
+ && ./autogen.sh \
87
+ && emconfigure ./configure --disable-shared CXXFLAGS="-O3 -flto" \
88
+ && emmake make \
89
+ && cd .. \
90
+ && cp protobuf-wasm/src/.libs/libprotobuf-lite.a /sdk/libprotobuf-lite.a \
91
+ && cp protobuf-wasm/src/.libs/libprotobuf.a /sdk/libprotobuf.a
92
+
83
93
WORKDIR /root
84
94
RUN wget -O /usr/local/bin/bazel https://github.com/bazelbuild/bazelisk/releases/latest/download/bazelisk-linux-amd64 \
85
95
&& chmod +x /usr/local/bin/bazel
0 commit comments