]> Nutra Git (v2) - gamesguru/feather.git/commitdiff
AppImage: fix build
authortobtoht <thotbot@protonmail.com>
Fri, 9 Jul 2021 16:39:47 +0000 (18:39 +0200)
committertobtoht <thotbot@protonmail.com>
Fri, 9 Jul 2021 16:39:47 +0000 (18:39 +0200)
contrib/build-appimage.sh

index 6c7ff9ccd64e5abe8e10df72b4c5a46b911a1722..3692c4389b5a4e84d56b2562f2f51a4618c89bb8 100755 (executable)
@@ -17,15 +17,29 @@ cp "$PWD/bin/feather" "$APPDIR/usr/bin/feather"
 chmod +x "$APPDIR/usr/bin/feather"
 
 export LD_LIBRARY_PATH=/usr/local/lib/x86_64-linux-gnu/:/usr/local/lib/$LD_LIBRARY_PATH
-linuxdeployqt feather.AppDir/usr/share/applications/feather.desktop -bundle-non-qt-libs
+linuxdeployqt feather.AppDir/usr/share/applications/feather.desktop -verbose=2 -bundle-non-qt-libs
 
 pushd feather.AppDir/usr/plugins
 ln -s ../lib/ gstreamer
 popd
 
-cp -r /usr/lib/x86_64-linux-gnu/gstreamer-1.0/* feather.AppDir/usr/plugins/gstreamer/
+GST_PLUGINS=("libgstcamerabin.so libgstcoreelements.so libgstvolume.so libgstapp.so libgstvideoconvert.so
+              libgstvideoscale.so libgstvideo4linux2.so libgstencoding.so libgstmultifile.so libgstmatroska.so
+              libgstvpx.so libgstjpegformat.so libgstjpeg.so libgstautodetect.so libgstaudiotestsrc.so
+              libgstvorbis.so libgstaudiorate.so libgstaudioconvert.so libgstaudioresample.so libgstvideocrop.so")
+
+for plugin in ${GST_PLUGINS[*]}; do
+  cp /usr/lib/x86_64-linux-gnu/gstreamer-1.0/$plugin feather.AppDir/usr/plugins/gstreamer/
+
+  # linuxdeployqt doesn't set RUNPATH on libs that are only loaded at runtime
+  patchelf --set-rpath "\$ORIGIN" feather.AppDir/usr/plugins/gstreamer/$plugin
+done
+
 cp /usr/lib/x86_64-linux-gnu/gstreamer1.0/gstreamer-1.0/gst-plugin-scanner feather.AppDir/usr/plugins/gstreamer/
 
+# Need second deploy for gstreamer dependencies
+linuxdeployqt feather.AppDir/usr/share/applications/feather.desktop -verbose=2 -bundle-non-qt-libs
+
 rm "$APPDIR/AppRun"
 cp "$PWD/../contrib/AppImage/AppRun" "$APPDIR/"
 chmod +x "$APPDIR/AppRun"