mirror of
https://gitlab.com/mbunkus/mkvtoolnix.git
synced 2025-02-26 08:22:31 +00:00
AppImage: use custom entry point for binary selection
This commit is contained in:
parent
b2e5c4bc8f
commit
e72e12e25f
@ -47,12 +47,37 @@ cd "${TOP_DIR}"
|
||||
TOP_DIR="${PWD}"
|
||||
RELEASE_VERSION=0
|
||||
QTVERSION="5.11.1"
|
||||
APP="mkvtoolnix-gui"
|
||||
APP_DIR="${TOP_DIR}/appimage/${APP}.AppDir"
|
||||
|
||||
function display_help {
|
||||
cat <<EOF
|
||||
MKVToolNix AppImage build script
|
||||
|
||||
Syntax:
|
||||
|
||||
build.sh [-B|--no-build] [-q|--qt <Qt version>] [-r|--release-version]
|
||||
[-h|--help]
|
||||
|
||||
Parameters:
|
||||
|
||||
--no-build don't run 'configure' and 'drake clean'; only
|
||||
possible if 'build-run' exists
|
||||
--qt <Qt version> build against this Qt version (default: $QTVERSION)
|
||||
--release-version don't built the version number via 'git describe'
|
||||
even if '.git' directory is present
|
||||
--help display help
|
||||
EOF
|
||||
|
||||
exit 0
|
||||
}
|
||||
|
||||
while [[ -n $1 ]]; do
|
||||
case $1 in
|
||||
-B|--no-build) NO_BUILD=1 ;;
|
||||
-q|--qt) QTVERSION=$2 ; shift ;;
|
||||
-r|--release-version) RELEASE_VERSION=1 ;;
|
||||
-h|--help) display_help ;;
|
||||
esac
|
||||
|
||||
shift
|
||||
@ -61,7 +86,6 @@ done
|
||||
QTDIR="${HOME}/opt/qt/${QTVERSION}/gcc_64"
|
||||
NO_GLIBC_VERSION=1
|
||||
|
||||
APP="mkvtoolnix-gui"
|
||||
if [[ ( -d .git ) && ( $RELEASE_VERSION == 0 ) ]]; then
|
||||
VERSION="$(git describe | sed -e 's/release-//')"
|
||||
else
|
||||
@ -98,11 +122,11 @@ if [[ ( ! -f build-config ) && ( "$NO_BUILD" != 1 ) ]]; then
|
||||
drake clean
|
||||
fi
|
||||
|
||||
rm -rf appimage out
|
||||
rm -rf "${APP_DIR}" out
|
||||
|
||||
drake -j${JOBS} apps:mkvtoolnix-gui
|
||||
drake -j${JOBS}
|
||||
drake install DESTDIR="${TOP_DIR}/appimage/${APP}.AppDir"
|
||||
drake install DESTDIR="${APP_DIR}"
|
||||
|
||||
cd appimage/${APP}.AppDir/usr
|
||||
|
||||
@ -114,6 +138,9 @@ cp ${QTDIR}/plugins/platforms/libq{minimal,offscreen,wayland,xcb}*.so bin/platfo
|
||||
|
||||
find bin -type f -exec strip {} \+
|
||||
|
||||
cp "${TOP_DIR}/packaging/appimage/select-binary.sh" bin/
|
||||
chmod 0755 bin/select-binary.sh
|
||||
|
||||
mkdir -p lib lib64
|
||||
chmod u+rwx lib lib64
|
||||
|
||||
@ -148,9 +175,12 @@ else
|
||||
fi
|
||||
|
||||
cd ..
|
||||
cp ./usr/share/applications/org.bunkus.mkvtoolnix-gui.desktop mkvtoolnix-gui.desktop
|
||||
fix_desktop mkvtoolnix-gui.desktop
|
||||
|
||||
cp ./usr/share/icons/hicolor/256x256/apps/mkvtoolnix-gui.png .
|
||||
cp ./usr/share/applications/org.bunkus.mkvtoolnix-gui.desktop mkvtoolnix-gui.desktop
|
||||
|
||||
fix_desktop mkvtoolnix-gui.desktop
|
||||
sed -i -e 's/^Exec=.*/Exec=select-binary.sh %F/' mkvtoolnix-gui.desktop
|
||||
|
||||
get_apprun
|
||||
cd ..
|
||||
|
12
packaging/appimage/select-binary.sh
Executable file
12
packaging/appimage/select-binary.sh
Executable file
@ -0,0 +1,12 @@
|
||||
#!/bin/bash
|
||||
|
||||
BIN_DIR="$(dirname "$(readlink -f "${0}")")"
|
||||
|
||||
if [ ! -z $APPIMAGE ] ; then
|
||||
BINARY_NAME="$(basename "$ARGV0")"
|
||||
if [ -e "$BIN_DIR/$BINARY_NAME" ] ; then
|
||||
exec "$BIN_DIR/$BINARY_NAME" "$@"
|
||||
fi
|
||||
fi
|
||||
|
||||
exec "$BIN_DIR/mkvtoolnix-gui" "$@"
|
Loading…
Reference in New Issue
Block a user