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