FROM centos:7 as builder # https://www.softwarecollections.org/en/scls/rhscl/devtoolset-7/ RUN yum -y install centos-release-scl yum-utils \ && yum-config-manager --enable rhel-server-rhscl-7-rpms \ && yum install -y devtoolset-7-gcc devtoolset-7-gcc-c++ RUN yum install -y \ make \ git wget \ zlib-devel opus-devel openssl-devel gperf \ pkgconfig ccache gperf unzip \ libpng-devel libjpeg-devel \ epel-release \ && yum install -y patchelf RUN wget https://cmake.org/files/v3.18/cmake-3.18.0-Linux-x86_64.sh \ && sh cmake-3.18.0-Linux-x86_64.sh --prefix=/usr --exclude-subdir COPY tdlib_header.patch / COPY tdlib_threadname.patch / # TDLib 1.7.10 RUN source /opt/rh/devtoolset-7/enable \ && git clone https://github.com/tdlib/td.git \ && cd td \ && git reset --hard a53cb30e99f937cfd64e0266fa558785a184a553 \ && git apply /tdlib_header.patch \ && git apply /tdlib_threadname.patch \ && mkdir build \ && cd build \ && cmake -DCMAKE_BUILD_TYPE=Release .. \ && cmake --build . --target install -j $(grep -c ^processor /proc/cpuinfo) \ && cd / \ && rm -rf td COPY config_site.h / RUN source /opt/rh/devtoolset-7/enable \ && git clone https://github.com/pjsip/pjproject.git \ && cd pjproject \ && git reset --hard 2.9 \ && cp /config_site.h pjlib/include/pj \ && ./configure --disable-sound CFLAGS="-O3 -DNDEBUG" \ && make dep && make -j $(grep -c ^processor /proc/cpuinfo) && make install \ && cd / \ && rm -rf pjproject RUN source /opt/rh/devtoolset-7/enable \ && git clone -n https://github.com/gabime/spdlog.git \ && cd spdlog \ && git checkout tags/v0.17.0 \ && mkdir build \ && cd build \ && cmake -DCMAKE_BUILD_TYPE=Release -DSPDLOG_BUILD_EXAMPLES=OFF -DSPDLOG_BUILD_TESTING=OFF .. \ && cmake --build . --target install -j $(grep -c ^processor /proc/cpuinfo) \ && cd / \ && rm -rf spdlog RUN source /opt/rh/devtoolset-7/enable \ && git clone https://github.com/linuxdeploy/linuxdeploy.git \ && cd linuxdeploy \ && git checkout 557bad2241df2c33972c7e6bdbf0c528cee27cc8 \ && git submodule update --init --recursive \ && mkdir build \ && cd build \ && export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig && cmake -DCMAKE_BUILD_TYPE=Release -DUSE_SYSTEM_CIMG=0 .. \ && cmake --build . -j $(grep -c ^processor /proc/cpuinfo) \ && cp bin/linuxdeploy /usr/local/bin \ && cd / \ && rm -rf linuxdeploy COPY centos_entrypoint.sh / ENTRYPOINT ["/centos_entrypoint.sh"]