File appimage.yml of Package subtitlecomposer-git
app: subtitlecomposer-git
build:
packages:
- linuxdeployqt
- libudev-devel
- cmake >= 3.10
- extra-cmake-modules
- pkgconfig
- update-desktop-files
- cmake(KF5Auth)
- cmake(KF5Codecs)
- cmake(KF5Config)
- cmake(KF5ConfigWidgets)
- cmake(KF5CoreAddons)
- cmake(KF5I18n)
- cmake(KF5KIO)
- cmake(KF5Sonnet)
- cmake(KF5TextWidgets)
- cmake(KF5WidgetsAddons)
- cmake(KF5XmlGui)
- cmake(Qt5Core) >= 5.6
- cmake(Qt5Gui)
- cmake(Qt5Qml)
- cmake(Qt5Widgets)
- libqt5-qtbase-private-headers-devel
- pkgconfig(icu-i18n)
- pkgconfig(icu-uc)
- pkgconfig(openal)
- openssl-devel
- breeze5-icons
- pocketsphinx-devel
- ffmpeg-devel >= 5.1
- sonnet-voikko
- plasma5-integration-plugin # plasma theme support
- breeze # plasma theme support
- oxygen5 # plasma theme support
- adwaita-icon-theme # gnome theme support
- gdk-pixbuf-loader-rsvg # gnome theme support
- libqt5-qtstyleplugins-platformtheme-gtk2 # gnome theme support
- libqt5-qtbase-platformtheme-gtk3 # gnome theme support
- adwaita-qt5 # qt5 theme/style plugin
- qt5ct # qt5 theme/style plugin
- qtcurve-qt5 # qt5 theme/style plugin
script:
- ### common vars
- BUILD_SOURCE_DIR="${BUILD_SOURCE_DIR%%/}"
- BUILD_APPDIR="${BUILD_APPDIR%%/}"
- tar_file="$(ls "$BUILD_SOURCE_DIR"/subtitlecomposer-*.tar.xz)"
- src_dir="${tar_file%%.tar.xz}"
- build_dir="$BUILD_SOURCE_DIR/build"
- tar_file="${tar_file##$BUILD_SOURCE_DIR/}"
- app_version="${src_dir##$BUILD_SOURCE_DIR/subtitlecomposer-}"
-
- ### linuxdeployqt
- linuxdeployqt=/usr/bin/linuxdeployqt
-
- ### prepare sources
- sed -i '/content_rating/d' "$src_dir/src/org.kde.subtitlecomposer.appdata.xml" # otherwise appstreamcli's validation fails
-
- ### build
- cmake \
- -DAPPIMAGE=1 \
- -DCMAKE_BUILD_TYPE=Release \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DKDE_INSTALL_LIBDIR=lib \
- -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \
- -DBUILD_TESTING=OFF \
- -S "$src_dir" \
- -B "$build_dir"
- cmake --build "$build_dir" -j$(nproc)
-
- ### install AppDir
- DESTDIR="$BUILD_APPDIR" cmake --install "$build_dir"
- ldqtpars=(
- "$BUILD_APPDIR/usr/share/applications/org.kde.subtitlecomposer.desktop"
- -bundle-non-qt-libs
- -verbose=2
- )
- # --- subtitle composer plugins
- plugin_path="$BUILD_APPDIR/usr/lib/subtitlecomposer"
- ldqtpars+=(`[ ! -d "$plugin_path" ] || find "$plugin_path" -name \*.so -printf '-executable=%p'`)
- # --- qt5 plugins
- ldqtplugins=(
- platformthemes/libqgtk2.so
- platformthemes/libqgtk3.so
- platformthemes/KDEPlasmaPlatformTheme.so
- platformthemes/libqt5ct.so
- styles
- kf5/kwindowsystem
- kf5/sonnet
- kf5/kio
- )
- #install -m 0755 /usr/bin/kdeinit5 -D -T "$BUILD_APPDIR/usr/bin"
- install -m 0755 /usr/lib*/kf5/kioslave5 -D -T "$BUILD_APPDIR/usr/libexec/kf5/kioslave5"
- install -m 0755 /usr/lib*/libsndfile.so.1 -D -T "$BUILD_APPDIR/usr/lib/libsndfile.so.1"
- ldqtpars+=("-executable=$BUILD_APPDIR/usr/libexec/kf5/kioslave5")
- # --- process AppDir
- unset QTDIR; unset QT_PLUGIN_PATH ; unset LD_LIBRARY_PATH
- $linuxdeployqt "${ldqtpars[@]}" -extra-plugins="$(IFS=, ; echo "${ldqtplugins[*]}")"
- # --- cleanup AppDir
- rm -fv $BUILD_APPDIR/usr/lib/libxcb-dri[23].so*
- install -m 0755 "$src_dir/pkg/misc/subtitlecomposer.sh" -T "$BUILD_APPDIR/AppRun"
- # --- debug info
- #echo "*** AppImage plugins:" && find "$BUILD_APPDIR/usr/plugins"
- #echo "*** System plugins:" && find /usr/lib*/qt5/plugins