File appimage.yml of Package subtitlecomposer

app: subtitlecomposer

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 >= 4.4
    - 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
openSUSE Build Service is sponsored by