diff --git a/AppDir/usr/share/applications/msupcm.desktop b/AppDir/usr/share/applications/msupcm.desktop new file mode 100644 index 0000000..7782bbd --- /dev/null +++ b/AppDir/usr/share/applications/msupcm.desktop @@ -0,0 +1,6 @@ +[Desktop Entry] +Type=Application +Name=MSUPCM +Exec=msupcm +Icon=msupcm +Categories=AudioVideo;Utility; diff --git a/AppDir/usr/share/icons/hicolor/256x256/apps/msupcm.png b/AppDir/usr/share/icons/hicolor/256x256/apps/msupcm.png new file mode 100644 index 0000000..1254404 Binary files /dev/null and b/AppDir/usr/share/icons/hicolor/256x256/apps/msupcm.png differ diff --git a/README.md b/README.md index 9b6b49a..6497712 100644 --- a/README.md +++ b/README.md @@ -49,4 +49,30 @@ then simply run make ``` -from the top-level repo directory. \ No newline at end of file +from the top-level repo directory. + +### AppImage + +It is also possible to build a portable **AppImage** of `msupcm++`. +This bundles the binary together with its dependencies into a single executable file +that can be run on most modern Linux distributions without installing libraries manually. + +From the top-level repo directory, run: + +``` +chmod +x make-appimage.sh +./make-appimage.sh +``` + +After the build finishes, an AppImage will be created in the same directory, +for example: + +``` +MSUPCMPLUSPLUS-x86_64.AppImage +``` + +You can run it directly: + +``` +./MSUPCMPLUSPLUS-x86_64.AppImage tracks.json +``` diff --git a/make-appimage.sh b/make-appimage.sh new file mode 100755 index 0000000..3651a08 --- /dev/null +++ b/make-appimage.sh @@ -0,0 +1,64 @@ +#!/bin/bash +set -e + +APP=msupcm +VERSION=v1.0RC3 + +# 1. Compile normally with your main Makefile +make -C msupcm++ clean || true +make + +# 2. Prepare AppDir +rm -rf AppDir +mkdir -p AppDir/usr/bin +mkdir -p AppDir/usr/share/applications +mkdir -p AppDir/usr/share/icons/hicolor + +# Copy binary +cp msupcm++/msupcm AppDir/usr/bin/ + +# Create .desktop file +cat > AppDir/usr/share/applications/$APP.desktop <