Page MenuHomePhorge

build.sh
No OneTemporary

Size
2 KB
Referenced Files
None
Subscribers
None

build.sh

#!/bin/bash
set -x
set -e
# Collect deps
wget https://raw.githubusercontent.com/KDE/docker-neon/Neon/stable/public.key && \
apt-key add public.key && \
rm public.key
cp -v packaging/GNU-Linux/appimage/kde-neon.list /etc/apt/sources.list.d/
apt-get update && \
apt-get -y upgrade && \
DEBIAN_FRONTEND="noninteractive" \
apt-get -y install aptitude && \
aptitude -y install extra-cmake-modules \
qtbase5-dev qtdeclarative5-dev qtmultimedia5-dev qml-module-qtmultimedia libqt5concurrent5 libqt5gui5 \
libqt5svg5-dev qtquickcontrols2-5-dev qml-module-qtquick-layouts qml-module-qtquick-controls2 \
qml-module-qtquick-controls qml-module-qt-labs-qmlmodels kirigami2-dev libkf5config-dev wget libqt5multimedia5-plugins \
qt5-gtk-platformtheme plasma-integration libkf5kio-dev g++-10 weston dbus-x11 qml-module-qttest qml-module-qt-labs-platform \
libkf5notifications-dev qml-module-qtquick-dialogs qml-module-org-kde-notification libcmark-dev
# Actual build
mkdir -pv /run/user/test
export XDG_RUNTIME_DIR=/run/user/test
thisDir="$(readlink -f "$(dirname "$(realpath "$0")")")"
BUILD_TYPE="$1"
if [[ ! "$BUILD_TYPE" ]]; then
export BUILD_TYPE=Debug
fi
export JOBS=${JOBS:-$(( $(nproc) / 2))} DEPS_INSTALL_DIR=/opt/libkazv-deps LIBKAZV_INSTALL_DIR=/opt/libkazv KAZV_INSTALL_DIR=/usr
export LD_LIBRARY_PATH="$LIBKAZV_INSTALL_DIR/lib:$DEPS_INSTALL_DIR/lib"
mkdir build && cd build && \
export CC=gcc-10 CXX=g++-10 && \
cmake .. -DCMAKE_INSTALL_PREFIX="$KAZV_INSTALL_DIR" \
-DCMAKE_PREFIX_PATH="$LIBKAZV_INSTALL_DIR;$DEPS_INSTALL_DIR" -DCMAKE_BUILD_TYPE=$BUILD_TYPE && \
make -j$JOBS && \
make -j$JOBS DESTDIR=AppDir install && \
dbus-launch --exit-with-session -- bash "$thisDir"/test.sh
wget https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-x86_64.AppImage
wget https://github.com/linuxdeploy/linuxdeploy-plugin-qt/releases/download/continuous/linuxdeploy-plugin-qt-x86_64.AppImage
chmod +x linuxdeploy*.AppImage
export QML_SOURCES_PATHS=../src
./linuxdeploy-plugin-qt-x86_64.AppImage --appimage-extract
./linuxdeploy-x86_64.AppImage --appimage-extract
# https://github.com/linuxdeploy/linuxdeploy/issues/154
mv -v ./linuxdeploy-plugin-qt-x86_64.AppImage ./linuxdeploy-notplugin-qt-x86_64.AppImage
# Enable the appimage to use Plasma themes, linuxdeploy-plugin-qt will only copy the gtk3 plugin -((
mkdir -pv AppDir/usr/plugins/platformthemes/
cp /usr/lib/x86_64-linux-gnu/qt5/plugins/platformthemes/KDEPlasmaPlatformTheme.so AppDir/usr/plugins/platformthemes/
# Workaround "cannot mix incompatible qt versions" problem
mkdir -pv AppDir/apprun-hooks/
cp -v "$thisDir"/hooks/patch-ld-library-path.sh AppDir/apprun-hooks/
./squashfs-root/AppRun --appdir AppDir -i ../icons/kazvlogo-256.png --plugin qt --output appimage # -l /lib/x86_64-linux-gnu/libstdc++.so.6
cp kazv*.AppImage ../kazv-"$BUILD_TYPE".AppImage

File Metadata

Mime Type
text/x-shellscript
Expires
Tue, Jun 24, 5:51 AM (3 h, 14 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
234711
Default Alt Text
build.sh (2 KB)

Event Timeline