Appimage Animation Audio Support
This is a work in progress to get Krita's audio system working within an AppImage context. The proof is in the pudding though, so here's a link to a working appimage with animation audio.
As described in our Phabrictator post, Emmet and I did the following major steps to get this functional:
QtMultimedia needs to be added to the cmake arguments inside of the 3rdparty/ext_qt (iirc), building them on the build factory so we can wget during docker setup. (Currently, I'm building krita from source in the docker environment.)
linuxdeployqt cannot automatically/bundle GStreamer or any of our GStreamer plugin dependencies. We need to install those via dockerfile, and then (inside the docker) install them into our AppDir/ manually. Also, we need to add a couple of AppDir-relative GStreamer path environment variables inside Krita's main.cc.
For whatever reason, we're having difficulty getting linuxdeployqt to automatically bundle the required mediaservice qt plugin even when it's manually added to the AppDir. To workaround this, we've removed linuxdeployqt's -appimage argument, which causes it to simply wrangle our deps into the AppDir, and then we're building the appimage as a separate step using the appimagetool program. We're not exactly sure why this is the case, it may just be a bug with linuxdeployqt but the workaround isn't so bad. (It's also not as complicated as I'm making it sound.)
We might want to filter out some GStreamer plugins to get a cleaner, leaner AppImage. That's not majorly urgent, though.
Remaining Tasks
-
Cleanup build_image.sh
script to have minimal-necessary changes. Some elements are still there from when I was struggling with linuxdeployqt to include some libraries.