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
|
# Build an environment for creating an AppImage.
# Use a distro with an old libc to maximize support on as many linux distros
# and architectures as possible.
FROM ubuntu:14.04
ARG ARCH
RUN apt-get -qq -y update && \
apt-get -qq -y dist-upgrade && \
apt-get -qq -y install bison \
bzip2 \
curl \
file \
flex \
gcc \
libc6-dev \
libncurses5-dev \
make \
wget \
xz-utils && \
apt-get -qq -y clean && \
apt-get -qq -y autoclean
WORKDIR /usr/local
ARG APPIMAGEPATH="AppImage/AppImageKit/releases/download/13"
ARG APPIMAGEFILENAME="appimagetool-${ARCH}.AppImage"
ARG APPIMAGEURL="https://github.com/${APPIMAGEPATH}/${APPIMAGEFILENAME}"
RUN curl -OL ${APPIMAGEURL} && \
chmod +x appimagetool-${ARCH}.AppImage && \
./appimagetool-${ARCH}.AppImage --appimage-extract && \
chmod 0755 squashfs-root && \
chmod 0755 squashfs-root/usr && \
chmod 0755 squashfs-root/usr/bin && \
chmod 0755 squashfs-root/usr/lib && \
chmod 0755 squashfs-root/usr/lib/appimagekit && \
chmod 0755 squashfs-root/usr/share
ARG OPENSSLVER="1.1.1s"
RUN wget -O /tmp/openssl-${OPENSSLVER}.tar.gz -q --no-check-certificate \
https://www.openssl.org/source/openssl-${OPENSSLVER}.tar.gz && \
tar -C /usr/local/src -xf /tmp/openssl-${OPENSSLVER}.tar.gz
WORKDIR /usr/local/src/openssl-${OPENSSLVER}
RUN ./config -fPIC shared && \
make -s -j$(nproc) && \
make -s install
# PostgreSQL 10 is the first release supporting multiple hosts in the
# connection string.
ARG PGVER="10.23"
ARG PGFILENAME="postgresql-${PGVER}.tar.bz2"
ARG PGURL="https://ftp.postgresql.org/pub/source/v${PGVER}/${PGFILENAME}"
RUN wget -O /tmp/postgresql-${PGVER}.tar.bz2 -q --no-check-certificate \
${PGURL}
RUN tar -C /usr/local/src -xf /tmp/postgresql-${PGVER}.tar.bz2
WORKDIR /usr/local/src/postgresql-${PGVER}
RUN ./configure --silent --without-ldap --without-readline --without-zlib \
--without-gssapi --with-openssl --prefix=/usr && \
make -s -j $(nproc) install && \
ldconfig
ARG CMAKEVER="3.1.3"
RUN curl -o /tmp/cmake-${CMAKEVER}-linux-${ARCH}.tar.gz -SsOL \
https://github.com/Kitware/CMake/releases/download/v${CMAKEVER}/cmake-${CMAKEVER}-linux-${ARCH}.tar.gz && \
tar -C /usr --strip-components=1 \
-xf /tmp/cmake-${CMAKEVER}-linux-${ARCH}.tar.gz
|