Warning, /sdk/heaptrack/tools/Dockerfile is written in an unsupported language. File is not indexed.
0001 # trusty
0002 FROM ubuntu:14.04 as heaptrack_appimage_intermediate
0003
0004 # install dependencies
0005 ARG DEBIAN_FRONTEND=noninteractive
0006
0007 RUN apt-get update && \
0008 apt-get -y upgrade && \
0009 apt-get install -y software-properties-common build-essential curl git wget \
0010 autotools-dev autoconf libtool liblzma-dev libz-dev gettext && \
0011 add-apt-repository ppa:beineri/opt-qt-5.10.1-trusty -y && \
0012 add-apt-repository ppa:ubuntu-toolchain-r/test -y && \
0013 apt-get update && \
0014 apt-get install -y qt510base qt510svg qt510x11extras cmake3 mesa-common-dev \
0015 libboost-iostreams-dev libboost-program-options-dev libboost-system-dev libboost-filesystem-dev \
0016 gcc-4.9 g++-4.9 && \
0017 apt-get -y upgrade && \
0018 update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.9 60 --slave /usr/bin/g++ g++ /usr/bin/g++-4.9
0019
0020 WORKDIR /opt
0021
0022 # download prebuild KF5 libraries and ECM
0023
0024 RUN wget -c "https://github.com/chigraph/precompiled-kf5-linux/releases/download/precompiled/kf5-gcc6-linux64-release.tar.xz" && \
0025 tar --strip-components=2 -xf kf5-gcc6-linux64-release.tar.xz
0026
0027 # download AppImage tools and extract them, to remove fuse dependency
0028
0029 RUN wget -c "https://github.com/probonopd/linuxdeployqt/releases/download/continuous/linuxdeployqt-continuous-x86_64.AppImage" -O /tmp/linuxdeployqt && \
0030 wget -c "https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage" -O /tmp/appimagetool && \
0031 chmod a+x /tmp/linuxdeployqt /tmp/appimagetool && \
0032 /tmp/linuxdeployqt --appimage-extract && mv squashfs-root linuxdeployqt && \
0033 ln -s /opt/linuxdeployqt/AppRun /opt/bin/linuxdeployqt && \
0034 /tmp/appimagetool --appimage-extract && mv squashfs-root appimagetool && \
0035 ln -s /opt/appimagetool/AppRun /opt/bin/appimagetool
0036
0037 # setup env
0038
0039 ENV PATH="/opt/bin:/opt/qt510/bin:${PATH}" \
0040 PKG_CONFIG_PATH="/opt/qt510/lib/pkgconfig:${PKG_CONFIG_PATH}" \
0041 LD_LIBRARY_PATH="/opt/qt510/lib:/opt/lib/x86_64-linux-gnu"
0042
0043 # grab sources
0044
0045 RUN git clone git://git.sv.gnu.org/libunwind.git && \
0046 git clone https://github.com/facebook/zstd.git && \
0047 wget -c "https://invent.kde.org/graphics/kdiagram/-/archive/2.6/kdiagram-2.6.tar.bz2" && \
0048 tar -xf kdiagram-2.6.tar.bz2 && mv kdiagram-2.6 kdiagram
0049
0050 # build libunwind
0051
0052 WORKDIR /opt/libunwind
0053
0054 COPY tools/elf.h /usr/include/
0055 RUN autoreconf -vfi && \
0056 ./configure --prefix /usr/local --enable-debug-frame --enable-minidebuginfo --disable-coredump && \
0057 make -j$(nproc) && make install
0058
0059 # build zstd
0060
0061 WORKDIR /opt/zstd
0062
0063 RUN make -j$(nproc) && make install
0064
0065 # build kdiagram
0066
0067 WORKDIR /opt/kdiagram
0068
0069 RUN cmake -DBUILD_TESTING=OFF -DCMAKE_INSTALL_PREFIX=/opt -DCMAKE_BUILD_TYPE=Release && \
0070 make -j$(nproc) && make install
0071
0072 # setup heaptrack build environment
0073
0074 FROM heaptrack_appimage_intermediate
0075
0076 ADD . /opt/heaptrack
0077 WORKDIR /opt/heaptrack
0078
0079 CMD ./tools/build_appimage.sh /opt /artifacts