ubuntu build

This commit is contained in:
Martin Rotter 2025-04-17 09:52:12 +02:00
parent fe47c65da4
commit 7ab5ab7fc2
2 changed files with 11 additions and 32 deletions

View file

@ -46,6 +46,8 @@ jobs:
exclude: exclude:
- os: ubuntu-24.04 - os: ubuntu-24.04
use_qt5: "ON" use_qt5: "ON"
- os: ubuntu-24.04
no_lite: "ON"
- os: macos-13 - os: macos-13
use_qt5: "ON" use_qt5: "ON"
steps: steps:

View file

@ -39,7 +39,8 @@ if [ $is_linux = true ]; then
sudo apt-get update sudo apt-get update
sudo apt-get -qy install appstream cmake ninja-build openssl libssl-dev sudo apt-get -qy install appstream cmake ninja-build openssl libssl-dev
sudo apt-get -qy install qt6-5compat-dev qt6-base-dev-tools sudo apt-get -qy install qt6-5compat-dev qt6-base-dev-tools qt6-image-formats-plugins qt6-multimedia-dev qt6-positioning-dev qt6-webengine-dev linguist-qt6 qt6-tools-dev
sudo apt-get -qy install libmpv-dev libssl-dev libsqlite3-dev
else else
@ -84,36 +85,12 @@ if [ $is_linux = true ]; then
# Validate AppStream metadata. # Validate AppStream metadata.
echo 'Validating AppStream metadata...' echo 'Validating AppStream metadata...'
appstreamcli validate "$prefix/share/metainfo/$app_id.metainfo.xml" appstreamcli validate "$prefix/share/metainfo/$app_id.metainfo.xml"
# Obtain linuxdeployqt. # Obtain appimagetool.
wget -qc https://github.com/probonopd/linuxdeployqt/releases/download/continuous/linuxdeployqt-continuous-x86_64.AppImage wget -c https://github.com/$(wget -q https://github.com/probonopd/go-appimage/releases/expanded_assets/continuous -O - | grep "appimagetool-.*-x86_64.AppImage" | head -n 1 | cut -d '"' -f 2)
chmod a+x linuxdeployqt-continuous-x86_64.AppImage chmod +x appimagetool-*.AppImage
# Copy GStreamer libs. ./appimagetool-*.AppImage -s deploy AppDir/usr/share/applications/*.desktop
install -v -Dm755 "/usr/lib/x86_64-linux-gnu/gstreamer1.0/gstreamer-1.0/gst-plugin-scanner" "$prefix/lib/gstreamer1.0/gstreamer-1.0/gst-plugin-scanner" VERSION=1.0 ./appimagetool-*.AppImage ./AppDir
gst_executables=("-executable=$prefix/lib/gstreamer1.0/gstreamer-1.0/gst-plugin-scanner")
for plugin in /usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgst*.so; do
basen=$(basename "$plugin")
install -v -Dm755 "$plugin" "$prefix/lib/gstreamer-1.0/$basen"
gst_executables+=("-executable=$prefix/lib/gstreamer-1.0/$basen")
done
echo "GStreamer command line for AppImage is: ${gst_executables[*]}"
# Create AppImage.
unset QTDIR; unset QT_PLUGIN_PATH ; unset LD_LIBRARY_PATH
# Run the Apppmage tool twice to include missing dependencies for GStreamer.
# See: https://github.com/probonopd/linuxdeployqt/issues/123#issuecomment-346934117
./linuxdeployqt-continuous-x86_64.AppImage "$prefix/share/applications/$app_id.desktop" -bundle-non-qt-libs -no-translations "${gst_executables[@]}"
./linuxdeployqt-continuous-x86_64.AppImage "$prefix/share/applications/$app_id.desktop" -bundle-non-qt-libs -no-translations "${gst_executables[@]}"
if [[ "$webengine" == "ON" ]]; then
# Copy some NSS3 files to prevent WebEngine crashes.
cp /usr/lib/x86_64-linux-gnu/nss/* "$prefix/lib/" -v
fi
./linuxdeployqt-continuous-x86_64.AppImage "$prefix/share/applications/$app_id.desktop" -appimage -no-translations "${gst_executables[@]}"
# Rename AppImaage. # Rename AppImaage.
set -- R*.AppImage set -- R*.AppImage