summaryrefslogtreecommitdiffstats
path: root/docker/Dockerfile
diff options
context:
space:
mode:
Diffstat (limited to 'docker/Dockerfile')
-rw-r--r--docker/Dockerfile39
1 files changed, 23 insertions, 16 deletions
diff --git a/docker/Dockerfile b/docker/Dockerfile
index 25a7261..8426024 100644
--- a/docker/Dockerfile
+++ b/docker/Dockerfile
@@ -1,22 +1,25 @@
FROM debian:12 as build
+ARG NGHTTP2_BRANCH=master
+
RUN apt-get update && \
DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
git clang make binutils autoconf automake autotools-dev libtool \
- pkg-config \
+ pkg-config cmake cmake-data \
zlib1g-dev libev-dev libjemalloc-dev ruby-dev libc-ares-dev bison \
- libelf-dev
+ libelf-dev libbrotli-dev
-RUN git clone --depth 1 -b OpenSSL_1_1_1w+quic https://github.com/quictls/openssl && \
- cd openssl && \
- ./config --openssldir=/etc/ssl && \
- make -j$(nproc) && \
- make install_sw && \
+RUN git clone --depth 1 -b v1.21.0 https://github.com/aws/aws-lc && \
+ cd aws-lc && \
+ cmake -B build -DDISABLE_GO=ON && \
+ make -j$(nproc) -C build && \
+ cmake --install build && \
cd .. && \
- rm -rf openssl
+ rm -rf aws-lc
-RUN git clone --depth 1 -b v1.1.0 https://github.com/ngtcp2/nghttp3 && \
+RUN git clone --depth 1 -b v1.2.0 https://github.com/ngtcp2/nghttp3 && \
cd nghttp3 && \
+ git submodule update --init --depth 1 && \
autoreconf -i && \
./configure --enable-lib-only && \
make -j$(nproc) && \
@@ -24,12 +27,13 @@ RUN git clone --depth 1 -b v1.1.0 https://github.com/ngtcp2/nghttp3 && \
cd .. && \
rm -rf nghttp3
-RUN git clone --depth 1 -b v1.2.0 https://github.com/ngtcp2/ngtcp2 && \
+RUN git clone --depth 1 -b v1.3.0 https://github.com/ngtcp2/ngtcp2 && \
cd ngtcp2 && \
+ git submodule update --init --depth 1 && \
autoreconf -i && \
- ./configure --enable-lib-only \
+ ./configure --enable-lib-only --with-boringssl \
LIBTOOL_LDFLAGS="-static-libtool-libs" \
- OPENSSL_LIBS="-l:libssl.a -l:libcrypto.a -ldl -lpthread" \
+ BORINGSSL_LIBS="-l:libssl.a -l:libcrypto.a" \
PKG_CONFIG_PATH="/usr/local/lib64/pkgconfig" && \
make -j$(nproc) && \
make install-strip && \
@@ -42,21 +46,24 @@ RUN git clone --depth 1 -b v1.3.0 https://github.com/libbpf/libbpf && \
cd .. && \
rm -rf libbpf
-RUN git clone --depth 1 https://github.com/nghttp2/nghttp2.git && \
+RUN git clone --depth 1 -b $NGHTTP2_BRANCH https://github.com/nghttp2/nghttp2 && \
cd nghttp2 && \
- git submodule update --init && \
+ git submodule update --init --depth 1 && \
autoreconf -i && \
./configure --disable-examples --disable-hpack-tools \
- --with-mruby --with-neverbleed \
+ --with-mruby \
--enable-http3 --with-libbpf \
+ --with-libbrotlienc --with-libbrotlidec \
CC=clang CXX=clang++ \
LIBTOOL_LDFLAGS="-static-libtool-libs" \
- OPENSSL_LIBS="-l:libssl.a -l:libcrypto.a -ldl -pthread" \
+ OPENSSL_LIBS="-l:libssl.a -l:libcrypto.a" \
LIBEV_LIBS="-l:libev.a" \
JEMALLOC_LIBS="-l:libjemalloc.a" \
LIBCARES_LIBS="-l:libcares.a" \
ZLIB_LIBS="-l:libz.a" \
LIBBPF_LIBS="-L/usr/local/lib64 -l:libbpf.a -l:libelf.a" \
+ LIBBROTLIENC_LIBS="-l:libbrotlienc.a -l:libbrotlicommon.a" \
+ LIBBROTLIDEC_LIBS="-l:libbrotlidec.a -l:libbrotlicommon.a" \
LDFLAGS="-static-libgcc -static-libstdc++" \
PKG_CONFIG_PATH="/usr/local/lib64/pkgconfig" && \
make -j$(nproc) install-strip && \