File: Dockerfile.staticbuild

package info (click to toggle)
tarantool 2.6.0-1
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 85,364 kB
  • sloc: ansic: 513,760; cpp: 69,489; sh: 25,650; python: 19,190; perl: 14,973; makefile: 4,173; yacc: 1,329; sql: 1,074; pascal: 620; ruby: 190; awk: 18; lisp: 7
file content (98 lines) | stat: -rw-r--r-- 2,525 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
FROM centos:7

RUN yum install -y epel-release
RUN yum install -y yum install https://centos7.iuscommunity.org/ius-release.rpm

RUN set -x \
    && yum -y install \
        libstdc++ \
        libstdc++-static \
        readline \
        openssl \
        lz4 \
        binutils \
        ncurses \
        libgomp \
        lua \
        curl \
        tar \
        zip \
        unzip \
        libunwind \
        zlib \
    && yum -y install \
        perl \
        gcc-c++ \
        cmake \
        lz4-devel \
        binutils-devel \
        lua-devel \
        make \
        git \
        autoconf \
        automake \
        libtool \
        wget

RUN yum -y install ncurses-static readline-static zlib-static pcre-static glibc-static

RUN yum -y install python-devel python-pip

RUN set -x && \
    cd / && \
    curl -O -L https://www.openssl.org/source/openssl-1.1.1f.tar.gz && \
    tar -xvf openssl-1.1.1f.tar.gz && \
    cd openssl-1.1.1f && \
    ./config --libdir=lib && \
    make -j && make install

RUN set -x && \
    cd / && \
    curl -O -L https://github.com/unicode-org/icu/releases/download/release-62-1/icu4c-62_1-src.tgz && \
    tar -xvf icu4c-62_1-src.tgz && \
    cd icu/source && \
    ./configure --with-data-packaging=static --enable-static --enable-shared && \
    make -j && make install

RUN set -x && \
    cd / && \
    curl -O -L http://download.savannah.nongnu.org/releases/libunwind/libunwind-1.3-rc1.tar.gz && \
    tar -xvf libunwind-1.3-rc1.tar.gz && \
    cd libunwind-1.3-rc1 && \
    ./configure --enable-static --enable-shared && \
    make -j && make install

COPY . /tarantool

WORKDIR /tarantool

RUN set -x && \
    git submodule init && \
    git submodule update

# Cleanup for 'build' directory added, because it purges all artefacts
# produced for curl build, including the old configuration in build/curl
RUN set -x && \
    find . -name 'CMakeFiles' -type d -exec rm -rf {} + && \
    find . -name 'CMakeCache.txt' -type f -delete && \
    rm -rf build test/small test/luajit-tap

RUN pip install -r /tarantool/test-run/requirements.txt

RUN set -x && \
    cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo \
         -DENABLE_DIST:BOOL=ON \
         -DBUILD_STATIC=ON \
         -DOPENSSL_USE_STATIC_LIBS=ON \
         -DOPENSSL_ROOT_DIR=/usr/local \
         . && \
    make -j && make install

ARG RUN_TESTS
RUN if [ -n "${RUN_TESTS}" ]; then \
        set -x && \
        cd test && \
        /usr/bin/python test-run.py --force; \
    fi

ENTRYPOINT ["/bin/bash"]