1717# under the License.
1818#
1919
20- FROM alpine:3.12
20+ FROM alpine:3.19
2121
2222ARG PLATFORM
2323
@@ -31,91 +31,10 @@ RUN apk add \
3131 g++ \
3232 make \
3333 cmake \
34- python3 \
35- py3-pip \
3634 perl \
3735 git \
36+ ninja \
37+ zip \
38+ unzip \
39+ openssl-dev \
3840 sudo
39-
40- RUN pip3 install pyyaml
41-
42- ADD .build/dependencies.yaml /
43- ADD .build/dep-version.py /usr/local/bin
44-
45- # Download and compile boost
46- RUN BOOST_VERSION=$(dep-version.py boost) && \
47- curl -O -L https://github.com/boostorg/boost/releases/download/boost-${BOOST_VERSION}/boost-${BOOST_VERSION}.tar.gz && \
48- tar zxf boost-${BOOST_VERSION}.tar.gz && \
49- cd boost-${BOOST_VERSION} && \
50- ./bootstrap.sh --with-libraries=regex && \
51- ./b2 -d0 address-model=64 cxxflags=-fPIC link=static threading=multi variant=release install && \
52- rm -rf /boost-${BOOST_VERSION}.tar.gz /boost-${BOOST_VERSION}
53-
54- # Download and compile protobuf
55- RUN PROTOBUF_VERSION=$(dep-version.py protobuf) && \
56- curl -O -L https://github.com/google/protobuf/releases/download/v${PROTOBUF_VERSION}/protobuf-cpp-${PROTOBUF_VERSION}.tar.gz && \
57- tar xfz protobuf-cpp-${PROTOBUF_VERSION}.tar.gz && \
58- cd protobuf-${PROTOBUF_VERSION}/ && \
59- CXXFLAGS=-fPIC ./configure && \
60- make -j8 && make install && \
61- rm -rf /protobuf-cpp-${PROTOBUF_VERSION}.tar.gz /protobuf-${PROTOBUF_VERSION}
62-
63- # ZLib
64- RUN ZLIB_VERSION=$(dep-version.py zlib) && \
65- curl -O -L https://github.com/madler/zlib/archive/v${ZLIB_VERSION}.tar.gz && \
66- tar xfz v${ZLIB_VERSION}.tar.gz && \
67- cd zlib-${ZLIB_VERSION} && \
68- CFLAGS="-fPIC -O3" ./configure && \
69- make -j8 && make install && \
70- rm -rf /v${ZLIB_VERSION}.tar.gz /zlib-${ZLIB_VERSION}
71-
72- # Zstandard
73- RUN ZSTD_VERSION=$(dep-version.py zstd) && \
74- curl -O -L https://github.com/facebook/zstd/releases/download/v${ZSTD_VERSION}/zstd-${ZSTD_VERSION}.tar.gz && \
75- tar xfz zstd-${ZSTD_VERSION}.tar.gz && \
76- cd zstd-${ZSTD_VERSION} && \
77- CFLAGS="-fPIC -O3" make -j8 && \
78- make install && \
79- rm -rf /zstd-${ZSTD_VERSION} /zstd-${ZSTD_VERSION}.tar.gz
80-
81- # Snappy
82- RUN SNAPPY_VERSION=$(dep-version.py snappy) && \
83- curl -O -L https://github.com/google/snappy/archive/refs/tags/${SNAPPY_VERSION}.tar.gz && \
84- tar xfz ${SNAPPY_VERSION}.tar.gz && \
85- cd snappy-${SNAPPY_VERSION} && \
86- CXXFLAGS="-fPIC -O3" cmake . -DSNAPPY_BUILD_TESTS=OFF -DSNAPPY_BUILD_BENCHMARKS=OFF && \
87- make -j8 && make install && \
88- rm -rf /snappy-${SNAPPY_VERSION} /${SNAPPY_VERSION}.tar.gz
89-
90- # Roaring
91- RUN ROARING_VERSION=$(dep-version.py roaring) && \
92- curl -O -L https://github.com/RoaringBitmap/CRoaring/archive/refs/tags/v${ROARING_VERSION}.tar.gz && \
93- tar xfz v${ROARING_VERSION}.tar.gz && \
94- cd CRoaring-${ROARING_VERSION} && \
95- mkdir build && cd build && CXXFLAGS="-fPIC -O3" cmake .. && \
96- make -j8 && make install && \
97- rm -rf /v${ROARING_VERSION}.tar.gz /CRoaring-${ROARING_VERSION}
98-
99- RUN OPENSSL_VERSION=$(dep-version.py openssl) && \
100- OPENSSL_VERSION_UNDERSCORE=$(echo $OPENSSL_VERSION | sed 's/\. /_/g' ) && \
101- curl -O -L https://github.com/openssl/openssl/archive/OpenSSL_${OPENSSL_VERSION_UNDERSCORE}.tar.gz && \
102- tar xfz OpenSSL_${OPENSSL_VERSION_UNDERSCORE}.tar.gz && \
103- cd openssl-OpenSSL_${OPENSSL_VERSION_UNDERSCORE}/ && \
104- ./Configure -fPIC --prefix=/usr/local/ssl/ linux-${PLATFORM} && \
105- make -j8 && make install && \
106- rm -rf /OpenSSL_${OPENSSL_VERSION_UNDERSCORE}.tar.gz /openssl-OpenSSL_${OPENSSL_VERSION_UNDERSCORE}
107-
108- ENV LD_LIBRARY_PATH /usr/local/ssl/lib/:
109- ENV OPENSSL_ROOT_DIR /usr/local/ssl/
110-
111- # LibCurl
112- RUN CURL_VERSION=$(dep-version.py curl) && \
113- CURL_VERSION_UNDERSCORE=$(echo $CURL_VERSION | sed 's/\. /_/g' ) && \
114- curl -O -L https://github.com/curl/curl/releases/download/curl-${CURL_VERSION_UNDERSCORE}/curl-${CURL_VERSION}.tar.gz && \
115- tar xfz curl-${CURL_VERSION}.tar.gz && \
116- cd curl-${CURL_VERSION} && \
117- CFLAGS=-fPIC ./configure --with-ssl=/usr/local/ssl/ --without-zstd --without-libpsl && \
118- make -j8 && make install && \
119- rm -rf /curl-${CURL_VERSION}.tar.gz /curl-${CURL_VERSION}
120-
121-
0 commit comments