Chris@1883: #!/bin/bash Chris@1883: Chris@1883: set -eu Chris@1883: Chris@1883: program=sonic-visualiser Chris@1883: checker=vamp-plugin-load-checker Chris@1883: piper=piper-vamp-simple-server Chris@1883: Chris@1883: targetdir="${program}.AppDir" Chris@1883: Chris@1883: echo "Target dir is $targetdir" Chris@1883: Chris@1883: if [ -d "$targetdir" ]; then Chris@1883: echo "Target directory exists, not overwriting" Chris@1883: exit Chris@1883: fi Chris@1883: Chris@1883: mkdir "$targetdir" Chris@1883: Chris@1883: mkdir -p "$targetdir"/usr/bin Chris@1883: mkdir -p "$targetdir"/usr/lib Chris@1883: Chris@1883: cp "$program" "$checker" "$piper" "$targetdir"/usr/bin/ Chris@1883: Chris@1888: add_dependencies() { Chris@1888: local binary="$1" Chris@1888: for lib in $(ldd "$binary" | grep '=> /usr/lib/' | sed 's/^.*=> //' | sed 's/ .*$//' | grep -v 'libc.so' | grep -v 'libm.so'); do Chris@1888: mkdir -p "$targetdir/$(dirname $lib)" Chris@1888: if [ ! -f "$targetdir/$lib" ]; then Chris@1888: cp -Lv "$lib" "$targetdir/$lib" Chris@1888: chmod +x "$targetdir/$lib" Chris@1888: add_dependencies "$lib" Chris@1888: fi Chris@1888: done Chris@1888: } Chris@1888: Chris@1888: add_dependencies "$program" Chris@1883: Chris@1883: cp "$program.desktop" "$targetdir/" Chris@1883: Chris@1883: cp "icons/sv-icon.svg" "$targetdir/" Chris@1883: Chris@1883: cp sv-dependency-builds/linux/appimage/AppRun-x86_64 "$targetdir/AppRun" Chris@1883: chmod +x "$targetdir/AppRun" Chris@1883: Chris@1883: ARCH=x86_64 sv-dependency-builds/linux/appimage/appimagetool-x86_64.AppImage "$targetdir" Chris@1883: