1+ # https://github.com/apple/swift-docker/blob/d3a19f47844d7d4d0dab0b59153da1f1596543b6/5.3/centos/7/Dockerfile
2+ FROM swift:5.3-centos7
3+
4+ # ##############################################################################
5+ # Install prereqs
6+ # any prereqs that appear to be missing are installed on base swift image i.e. tar, git
7+ # ##############################################################################
8+ RUN yum -y update \
9+ && yum -y install \
10+ sudo \
11+ # Python
12+ python3 \
13+ python3-devel \
14+ python3-pip \
15+ make \
16+ cmake \
17+ cmake3 \
18+ gcc-c++ \
19+ && yum clean all \
20+ && rm -rf /var/cache/yum
21+ # ##############################################################################
22+ # Handle cmake on centos properly
23+ # ##############################################################################
24+ RUN sudo alternatives --install /usr/local/bin/cmake cmake /usr/bin/cmake 10 \
25+ --slave /usr/local/bin/ctest ctest /usr/bin/ctest \
26+ --slave /usr/local/bin/cpack cpack /usr/bin/cpack \
27+ --slave /usr/local/bin/ccmake ccmake /usr/bin/ccmake \
28+ --family cmake
29+
30+ RUN sudo alternatives --install /usr/local/bin/cmake cmake /usr/bin/cmake3 20 \
31+ --slave /usr/local/bin/ctest ctest /usr/bin/ctest3 \
32+ --slave /usr/local/bin/cpack cpack /usr/bin/cpack3 \
33+ --slave /usr/local/bin/ccmake ccmake /usr/bin/ccmake3 \
34+ --family cmake
35+
36+ RUN ln -s /usr/bin/cmake3 /usr/bin/cmake \
37+ ln -s /usr/bin/ctest3 /usr/bin/ctest \
38+ cmake --version \
39+ && ctest --version
40+
41+ # ##############################################################################
42+ # Python/AWS CLI
43+ # ##############################################################################
44+ RUN python3 -m pip install --upgrade pip setuptools virtualenv \
45+ && python3 -m pip install --upgrade awscli \
46+ && aws --version
47+
48+ # ##############################################################################
49+ # Install pre-built OpenSSL
50+ # ##############################################################################
51+ WORKDIR /tmp
52+ RUN curl -sSL https://d19elf31gohf1l.cloudfront.net/_binaries/libcrypto/libcrypto-1.1.1-linux-x64.tar.gz -o libcrypto.tar.gz \
53+ && mkdir /opt/openssl \
54+ && tar xzf libcrypto.tar.gz -C /opt/openssl \
55+ && LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/openssl/lib /opt/openssl/bin/openssl version \
56+ && rm -f /tmp/libcrypto.tar.gz
57+
58+
59+ # ##############################################################################
60+ # Install entrypoint
61+ # ##############################################################################
62+ ADD entrypoint.sh /usr/local/bin/builder
63+ RUN chmod a+x /usr/local/bin/builder
64+ ENTRYPOINT ["/usr/local/bin/builder" ]
0 commit comments