Dockerfiles/ubuntu2004.dockerfile

65 lines
3.1 KiB
Docker

FROM ubuntu:20.04
LABEL maintainer 168062547@qq.com
ENV DEBIAN_FRONTEND=noninteractive
RUN sed -i 's/archive.ubuntu.com/mirrors.ustc.edu.cn/g' /etc/apt/sources.list && \
apt-get update && \
apt-get install -y software-properties-common curl wget jq gettext git ninja-build pkg-config \
libssl-dev libcurl4-openssl-dev libffmpeg-ocaml-dev libfreetype-dev libalsa-ocaml-dev \
liblzma-dev libx264-dev
RUN add-apt-repository -y ppa:ubuntu-toolchain-r/test && \
apt-get install -y locate gcc-11 g++-11 && \
updatedb && ldconfig && \
update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 110 && \
update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-11 110
WORKDIR /home/temp
RUN wget https://github.com/Kitware/CMake/releases/download/v3.25.0/cmake-3.25.0-linux-x86_64.tar.gz && \
wget https://boostorg.jfrog.io/artifactory/main/release/1.81.0/source/boost_1_81_0.tar.gz && \
wget https://github.com/zeromq/libzmq/releases/download/v4.3.4/zeromq-4.3.4.tar.gz && \
wget https://github.com/tfussell/xlnt/archive/refs/tags/v1.5.0.tar.gz -O xlnt-1.5.0.tar.gz
RUN tar xvf cmake-3.25.0-linux-x86_64.tar.gz -C /opt && \
tar xvf boost_1_81_0.tar.gz && \
tar xvf zeromq-4.3.4.tar.gz && \
tar xvf xlnt-1.5.0.tar.gz
ENV PATH="${PATH}:/opt/cmake-3.25.0-linux-x86_64/bin"
WORKDIR /home/temp/boost_1_81_0
RUN ./bootstrap.sh --prefix=/opt/Libraries/boost_1_81_0
RUN ./b2 install -q --prefix=/opt/Libraries/boost_1_81_0 threading=multi link=shared runtime-link=shared variant=release cxxstd=17 cxxflags=-fPIC cflags=-fPIC
ENV LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:/opt/Libraries/boost_1_81_0/lib"
WORKDIR /home/temp/zeromq-4.3.4/build
RUN cmake \
-G Ninja \
-DCMAKE_BUILD_TYPE=Debug \
-DCMAKE_INSTALL_PREFIX=/opt/Libraries/zeromq-4.3.4_debug \
..
RUN ninja install
RUN rm -fr ./*
RUN cmake \
-G Ninja \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/opt/Libraries/zeromq-4.3.4_release \
..
RUN ninja install
WORKDIR /home/temp/xlnt-1.5.0/build
RUN sed -i '1s/^/#include <limits>\n/' ../source/detail/number_format/number_formatter.cpp && \
cmake -G Ninja -DCMAKE_BUILD_TYPE=Debug \
-DCMAKE_INSTALL_PREFIX=/opt/Libraries/xlnt-1.5.0_debug .. && \
ninja install && rm -fr ./* && \
cmake -G Ninja -DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/opt/Libraries/xlnt-1.5.0_release .. && \
ninja install && \
bash -c "sed -i -e 's/set_and_check(XLNT_INCLUDE_DIR \"include\")/# set_and_check(XLNT_INCLUDE_DIR \"include\")/g' /opt/Libraries/xlnt-1.5.0_debug/lib/cmake/xlnt/XlntConfig.cmake &&\
sed -i -e 's/set_and_check(XLNT_INCLUDE_DIR \"include\")/# set_and_check(XLNT_INCLUDE_DIR \"include\")/g' /opt/Libraries/xlnt-1.5.0_release/lib/cmake/xlnt/XlntConfig.cmake"
WORKDIR /
RUN rm -fr /home/temp
ENV LANG C.UTF-8
# docker build -f ubuntu2004.dockerfile -t develop:20.04 .
# docker login --username=168062547@qq.com registry.cn-shenzhen.aliyuncs.com
# docker tag develop:20.04 registry.cn-shenzhen.aliyuncs.com/amass_toolset/develop:20.04
# docker push registry.cn-shenzhen.aliyuncs.com/amass_toolset/develop:20.04