-
Notifications
You must be signed in to change notification settings - Fork 293
Description
In making the linux legacy release for the latest version of Pencil2D, I was reminded of some changes I made for the build process of the 0.6.5 linux legacy build. Most importantly, I stopped using linuxdeployqt because it was becoming increasingly difficult to get it working with 32-bit architectures. After looking at a couple alternatives I settled on linuxdeploy for that release, and I have used it again for the 0.6.6 release. Based on my experiences with it, I believe that we should consider migrating all of our linux deployments (64-bit releases, and nightlies) to linuxdeploy.
The main reason to migrate is that it it is very easy to call, and handles gstreamer plugins properly without the workarounds we currently have to employ for linuxdeployqt (although I have not tested this with the 64-bit version). The usage for linuxdeploy would look like this (after make install + ffmpeg install + dependency install):
linuxdeploy --appdir Pencil2D --plugin qt
appimagetool Pencil2D pencil2d-linux-arch-version.AppImage
For context, that would replace all of this in after-build.sh:
install -Dm755 "/usr/lib/x86_64-linux-gnu/gstreamer1.0/gstreamer-1.0/gst-plugin-scanner" \
"Pencil2D/usr/lib/gstreamer1.0/gstreamer-1.0/gst-plugin-scanner"
local gst_executables="-executable=Pencil2D/usr/lib/gstreamer1.0/gstreamer-1.0/gst-plugin-scanner"
for plugin in adpcmdec alsa app audioconvert audioparsers audioresample \
autodetect coreelements gsm id3demux jack mpg123 mulaw playback \
pulse typefindfunctions wavparse apetag; do
install -Dm755 "/usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgst${plugin}.so" \
"Pencil2D/usr/lib/gstreamer-1.0/libgst${plugin}.so"
gst_executables="${gst_executables} -executable=Pencil2D/usr/lib/gstreamer-1.0/libgst${plugin}.so"
done
LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:/usr/lib/x86_64-linux-gnu/pulseaudio" \
./linuxdeployqt-continuous-x86_64.AppImage \
Pencil2D/usr/share/applications/org.pencil2d.Pencil2D.desktop \
-executable=Pencil2D/usr/plugins/ffmpeg \
${gst_executables} \
-appimage
Metadata
Metadata
Assignees
Type
Projects
Status