File: Dockerfile

package info (click to toggle)
hotspot 1.3.0-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, bullseye, sid
  • size: 12,084 kB
  • sloc: cpp: 17,854; ansic: 218; sh: 195; python: 40; xml: 40; makefile: 6
file content (55 lines) | stat: -rw-r--r-- 2,304 bytes parent folder | download
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
# trusty
FROM ubuntu:14.04 as hotspot_appimage_intermediate

# install dependencies
ARG DEBIAN_FRONTEND=noninteractive

RUN apt-get update && \
    apt-get -y upgrade && \
    apt-get install -y software-properties-common build-essential curl git wget \
        autotools-dev autoconf libtool liblzma-dev libz-dev gettext && \
    add-apt-repository ppa:beineri/opt-qt-5.10.1-trusty -y && \
    apt-get update && \
    apt-get install -y qt510base qt510svg qt510x11extras cmake3 libdwarf-dev mesa-common-dev \
        libboost-iostreams-dev libboost-program-options-dev libboost-system-dev libboost-filesystem-dev

WORKDIR /opt

# download and build zstd

RUN wget -nv -c "https://github.com/facebook/zstd/archive/v1.4.5.tar.gz" -O zstd.tar.gz && \
    tar xf zstd.tar.gz && cd zstd-1.4.5 && make -j$(nproc) && sudo make install && cd ..

# download prebuild KF5 libraries and ECM

RUN wget -c "https://github.com/chigraph/precompiled-kf5-linux/releases/download/precompiled/kf5-gcc6-linux64-release.tar.xz" && \
    tar --strip-components=2 -xf kf5-gcc6-linux64-release.tar.xz -C /opt/qt510/

# download AppImage tools and extract them, to remove fuse dependency

RUN wget -c "https://github.com/probonopd/linuxdeployqt/releases/download/continuous/linuxdeployqt-continuous-x86_64.AppImage" -O /tmp/linuxdeployqt && \
    wget -c "https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage" -O /tmp/appimagetool && \
    chmod a+x /tmp/linuxdeployqt /tmp/appimagetool && \
    /tmp/linuxdeployqt --appimage-extract && mv squashfs-root linuxdeployqt && \
    /tmp/appimagetool --appimage-extract && mv squashfs-root appimagetool && \
    mkdir /opt/bin && \
    ln -s /opt/linuxdeployqt/AppRun /opt/bin/linuxdeployqt && \
    ln -s /opt/appimagetool/AppRun /opt/bin/appimagetool

# setup env

ENV PATH="/opt/bin:/opt/qt510/bin:${PATH}" \
    PKG_CONFIG_PATH="/opt/qt510/lib/pkgconfig:${PKG_CONFIG_PATH}" \
    LD_LIBRARY_PATH="/opt/qt510/lib:/opt/qt510/lib/x86_64-linux-gnu"

# setup hotspot build environment

FROM hotspot_appimage_intermediate

ADD . /opt/hotspot
WORKDIR /opt/hotspot

RUN tar -C / -xvf scripts/elfutils/elfutils.build.tar.bz2
RUN tar -C / -xvf scripts/rustc-demangle/rustc_demangle.build.tar.bz2

CMD ./scripts/build_appimage.sh /opt /artifacts