29 lines
1.6 KiB
Bash
Executable File
29 lines
1.6 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# Builds omaphoto-x86_64.AppImage inside the AppImage image.
|
|
set -euo pipefail
|
|
id=io.github.ZacharyZhang_NY.OmaPhoto
|
|
cmake -S . -B build-appimage -G Ninja -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr \
|
|
-DOMAPHOTO_BUNDLE_ORT=ON -DOMAPHOTO_MODEL=/usr/local/share/omaphoto/u2net.onnx
|
|
cmake --build build-appimage --target omaphoto
|
|
rm -rf AppDir
|
|
DESTDIR="$PWD/AppDir" cmake --install build-appimage
|
|
# libheif loads its HEVC decoder as a plugin.
|
|
mkdir -p AppDir/usr/lib/libheif AppDir/apprun-hooks
|
|
cp /usr/lib/x86_64-linux-gnu/libheif/plugins/libheif-libde265.so AppDir/usr/lib/libheif/
|
|
cp packaging/appimage/omaphoto.sh AppDir/apprun-hooks/
|
|
# Qt's Wayland client needs its shell and decoration plugins.
|
|
qtplugins=/usr/lib/x86_64-linux-gnu/qt6/plugins
|
|
mkdir -p AppDir/usr/plugins
|
|
for dir in wayland-shell-integration wayland-decoration-client wayland-graphics-integration-client; do
|
|
cp -r "$qtplugins/$dir" AppDir/usr/plugins/
|
|
done
|
|
export QMAKE=/usr/lib/qt6/bin/qmake6 APPIMAGE_EXTRACT_AND_RUN=1 OUTPUT=omaphoto-x86_64.AppImage
|
|
export EXTRA_PLATFORM_PLUGINS="libqwayland-egl.so;libqwayland-generic.so" EXTRA_QT_MODULES=svg
|
|
linuxdeploy --appdir AppDir --plugin qt --output appimage \
|
|
--desktop-file "AppDir/usr/share/applications/$id.desktop" \
|
|
--icon-file "AppDir/usr/share/icons/hicolor/512x512/apps/$id.png" \
|
|
--deploy-deps-only AppDir/usr/lib/libheif \
|
|
--deploy-deps-only AppDir/usr/plugins/wayland-shell-integration \
|
|
--deploy-deps-only AppDir/usr/plugins/wayland-decoration-client \
|
|
--deploy-deps-only AppDir/usr/plugins/wayland-graphics-integration-client
|