@@ -23,104 +23,15 @@ FROM debian:11
2323
2424ARG PLATFORM
2525
26- # perl is required to install OpenSSL
2726RUN apt-get update -y && \
2827 apt-get install -y \
2928 curl \
3029 g++ \
3130 make \
32- perl \
3331 dpkg-dev \
34- python3 \
35- python3-pip \
36- git
37-
38- RUN pip3 install pyyaml
39-
40- ADD .build/dependencies.yaml /
41- ADD .build/dep-version.py /usr/local/bin
42-
43- # Download and compile boost
44- RUN BOOST_VERSION=$(dep-version.py boost) && \
45- curl -O -L https://github.com/boostorg/boost/releases/download/boost-${BOOST_VERSION}/boost-${BOOST_VERSION}.tar.gz && \
46- tar zxf boost-${BOOST_VERSION}.tar.gz && \
47- cd boost-${BOOST_VERSION} && \
48- ./bootstrap.sh --with-libraries=regex && \
49- ./b2 -d0 address-model=64 cxxflags=-fPIC link=static threading=multi variant=release install && \
50- rm -rf /boost-${BOOST_VERSION}.tar.gz /boost-${BOOST_VERSION}
51-
52- RUN CMAKE_VERSION=$(dep-version.py cmake) && \
53- curl -O -L https://github.com/Kitware/CMake/releases/download/v${CMAKE_VERSION}/cmake-${CMAKE_VERSION}-linux-${PLATFORM}.tar.gz && \
54- tar xfz cmake-${CMAKE_VERSION}-linux-${PLATFORM}.tar.gz && \
55- cp cmake-${CMAKE_VERSION}-linux-${PLATFORM}/bin/* /usr/bin/ && \
56- cp -r cmake-${CMAKE_VERSION}-linux-${PLATFORM}/share/cmake-* /usr/share/ && \
57- rm -rf cmake-${CMAKE_VERSION}-linux-${PLATFORM} cmake-${CMAKE_VERSION}-linux-${PLATFORM}.tar.gz
58-
59- # Download and compile protobuf
60- RUN PROTOBUF_VERSION=$(dep-version.py protobuf) && \
61- curl -O -L https://github.com/google/protobuf/releases/download/v${PROTOBUF_VERSION}/protobuf-cpp-${PROTOBUF_VERSION}.tar.gz && \
62- tar xfz protobuf-cpp-${PROTOBUF_VERSION}.tar.gz && \
63- cd protobuf-${PROTOBUF_VERSION}/ && \
64- CXXFLAGS=-fPIC ./configure && \
65- make -j8 && make install && ldconfig && \
66- rm -rf /protobuf-cpp-${PROTOBUF_VERSION}.tar.gz /protobuf-${PROTOBUF_VERSION}
67-
68- # ZLib
69- RUN ZLIB_VERSION=$(dep-version.py zlib) && \
70- curl -O -L https://github.com/madler/zlib/archive/v${ZLIB_VERSION}.tar.gz && \
71- tar xfz v${ZLIB_VERSION}.tar.gz && \
72- cd zlib-${ZLIB_VERSION} && \
73- CFLAGS="-fPIC -O3" ./configure && \
74- make -j8 && make install && \
75- rm -rf /v${ZLIB_VERSION}.tar.gz /zlib-${ZLIB_VERSION}
76-
77- # Zstandard
78- RUN ZSTD_VERSION=$(dep-version.py zstd) && \
79- curl -O -L https://github.com/facebook/zstd/releases/download/v${ZSTD_VERSION}/zstd-${ZSTD_VERSION}.tar.gz && \
80- tar xfz zstd-${ZSTD_VERSION}.tar.gz && \
81- cd zstd-${ZSTD_VERSION} && \
82- CFLAGS="-fPIC -O3" make -j8 && \
83- make install && \
84- rm -rf /zstd-${ZSTD_VERSION} /zstd-${ZSTD_VERSION}.tar.gz
85-
86- # Snappy
87- RUN SNAPPY_VERSION=$(dep-version.py snappy) && \
88- curl -O -L https://github.com/google/snappy/archive/refs/tags/${SNAPPY_VERSION}.tar.gz && \
89- tar xfz ${SNAPPY_VERSION}.tar.gz && \
90- cd snappy-${SNAPPY_VERSION} && \
91- CXXFLAGS="-fPIC -O3" cmake . -DSNAPPY_BUILD_TESTS=OFF -DSNAPPY_BUILD_BENCHMARKS=OFF && \
92- make -j8 && make install && \
93- rm -rf /snappy-${SNAPPY_VERSION} /${SNAPPY_VERSION}.tar.gz
94-
95- # Roaring
96- RUN ROARING_VERSION=$(dep-version.py roaring) && \
97- curl -O -L https://github.com/RoaringBitmap/CRoaring/archive/refs/tags/v${ROARING_VERSION}.tar.gz && \
98- tar xfz v${ROARING_VERSION}.tar.gz && \
99- cd CRoaring-${ROARING_VERSION} && \
100- mkdir build && cd build && CXXFLAGS="-fPIC -O3" cmake .. && \
101- make -j8 && make install && \
102- rm -rf /v${ROARING_VERSION}.tar.gz /CRoaring-${ROARING_VERSION}
103-
104- RUN OPENSSL_VERSION=$(dep-version.py openssl) && \
105- OPENSSL_VERSION_UNDERSCORE=$(echo $OPENSSL_VERSION | sed 's/\. /_/g' ) && \
106- curl -O -L https://github.com/openssl/openssl/archive/OpenSSL_${OPENSSL_VERSION_UNDERSCORE}.tar.gz && \
107- tar xfz OpenSSL_${OPENSSL_VERSION_UNDERSCORE}.tar.gz && \
108- cd openssl-OpenSSL_${OPENSSL_VERSION_UNDERSCORE}/ && \
109- ./Configure -fPIC --prefix=/usr/local/ssl/ linux-${PLATFORM} && \
110- make -j8 && make install && \
111- rm -rf /OpenSSL_${OPENSSL_VERSION_UNDERSCORE}.tar.gz /openssl-OpenSSL_${OPENSSL_VERSION_UNDERSCORE}
112-
113- ENV LD_LIBRARY_PATH /usr/local/ssl/lib/:
114- ENV OPENSSL_ROOT_DIR /usr/local/ssl/
115-
116- # LibCurl
117- RUN CURL_VERSION=$(dep-version.py curl) && \
118- CURL_VERSION_UNDERSCORE=$(echo $CURL_VERSION | sed 's/\. /_/g' ) && \
119- curl -O -L https://github.com/curl/curl/releases/download/curl-${CURL_VERSION_UNDERSCORE}/curl-${CURL_VERSION}.tar.gz && \
120- tar xfz curl-${CURL_VERSION}.tar.gz && \
121- cd curl-${CURL_VERSION} && \
122- CFLAGS=-fPIC ./configure --with-ssl=/usr/local/ssl/ --without-zstd --without-libpsl && \
123- make -j8 && make install && \
124- rm -rf /curl-${CURL_VERSION}.tar.gz /curl-${CURL_VERSION}
125-
126-
32+ git \
33+ zip \
34+ unzip \
35+ tar \
36+ pkg-config \
37+ ninja-build
0 commit comments