#!/bin/sh APP=handbrake mkdir tmp; cd tmp; # DOWNLOADING THE DEPENDENCIES wget https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-$(uname -m).AppImage -O appimagetool wget https://raw.githubusercontent.com/ivan-hc/AM-application-manager/main/tools/pkg2appimage chmod a+x ./appimagetool ./pkg2appimage # CREATING THE APPIMAGE: APPDIR FROM A RECIPE... echo "app: handbrake binpatch: true ingredients: dist: stable package: handbrake sources: - deb http://ftp.debian.org/debian/ stable main contrib non-free - deb http://security.debian.org/debian-security/ stable-security main contrib non-free - deb http://ftp.debian.org/debian/ stable-updates main contrib non-free packages: - handbrake - libvpl-dev - vapoursynth-dev script: - cp -Rf ./usr/share/applications/fr.handbrake.ghb.desktop . - cp -Rf ./usr/share/icons/hicolor/scalable/apps/fr.handbrake.ghb.svg ." >> recipe.yml; ./pkg2appimage ./recipe.yml; # ...DOWNLOADING LIBUNIONPRELOAD... wget https://github.com/project-portable/libunionpreload/releases/download/amd64/libunionpreload.so chmod a+x libunionpreload.so mv ./libunionpreload.so ./$APP/$APP.AppDir/ # ...REPLACING THE EXISTING APPRUN WITH A CUSTOM ONE... rm -R -f ./$APP/$APP.AppDir/AppRun function1="'^Exec=.*'" function2="'s|%.||g'" echo '#!/bin/sh HERE="$(dirname "$(readlink -f "${0}")")" export UNION_PRELOAD="${HERE}" export LD_PRELOAD="${HERE}/libunionpreload.so":"${HERE}/usr/lib/x86_64-linux-gnu/libturbojpeg.so.0" export PATH="${HERE}"/usr/bin/:"${HERE}"/usr/sbin/:"${HERE}"/usr/games/:"${HERE}"/bin/:"${HERE}"/opt/'$APP'/:"${HERE}"/sbin/:"${PATH}" export LD_LIBRARY_PATH=/lib/:/lib64/:/usr/lib/x86_64-linux-gnu/:/usr/lib/:/lib/x86_64-linux-gnu/:"${HERE}"/usr/lib/:"${HERE}"/usr/lib/x86_64-linux-gnu/lapack/:"${HERE}"/usr/lib64/'$APP'/:"${HERE}"/usr/lib32/'$APP'/:"${HERE}"/usr/lib/i386-linux-gnu/:"${HERE}"/usr/lib/x86_64-linux-gnu/:"${HERE}"/usr/lib32/:"${HERE}"/usr/lib64/:"${HERE}"/lib/:"${HERE}"/lib/i386-linux-gnu/:"${HERE}"/lib/x86_64-linux-gnu/:"${HERE}"/lib32/:"${HERE}"/lib64/:"${LD_LIBRARY_PATH}" export PYTHONPATH="${HERE}"/usr/share/pyshared/:"${HERE}"/usr/lib/python*/:"${PYTHONPATH}" export PYTHONHOME="${HERE}"/usr/:"${HERE}"/usr/lib/python*/ export XDG_DATA_DIRS="${HERE}"/usr/share/:"${HERE}"/usr/share/'$APP'/:"${XDG_DATA_DIRS}" export PERLLIB="${HERE}"/usr/share/perl5/:"${HERE}"/usr/lib/perl5/:"${PERLLIB}" export GSETTINGS_SCHEMA_DIR="${HERE}"/usr/share/glib-2.0/schemas/:"${GSETTINGS_SCHEMA_DIR}" export QT_PLUGIN_PATH="${HERE}"/usr/lib/qt4/plugins/:"${HERE}"/usr/lib/'$APP'/:"${HERE}"/usr/lib64/'$APP'/:"${HERE}"/usr/lib32/'$APP'/:"${HERE}"/usr/lib/i386-linux-gnu/qt4/plugins/:"${HERE}"/usr/lib/x86_64-linux-gnu/qt4/plugins/:"${HERE}"/usr/lib32/qt4/plugins/:"${HERE}"/usr/lib64/qt4/plugins/:"${HERE}"/usr/lib/qt5/plugins/:"${HERE}"/usr/lib/i386-linux-gnu/qt5/plugins/:"${HERE}"/usr/lib/x86_64-linux-gnu/qt5/plugins/:"${HERE}"/usr/lib32/qt5/plugins/:"${HERE}"/usr/lib64/qt5/plugins/:"${QT_PLUGIN_PATH}" EXEC=$(grep -e '$function1' "${HERE}"/*.desktop | head -n 1 | cut -d "=" -f 2- | sed -e '$function2') exec ${EXEC} "$@"' >> AppRun chmod a+x AppRun mv ./AppRun ./$APP/$APP.AppDir # ...EXPORT THE APPDIR TO AN APPIMAGE! ARCH=x86_64 ./appimagetool -n ./$APP/$APP.AppDir cd ..; mv ./tmp/*.AppImage .