Hi all, Attached is a script, GSApp2AppImage.sh, for Debian-based Linux distros that packages a locally-built GNUstep-GUI app as an AppImage. (AppImage is a format for bundling a Linux application & its dependencies into a single executable file that can be easily distributed & run [1]).
GSApp2AppImage was used to build the AppImages for the latest release of PikoPixel. It's based on a script by Simon Peter, the creator of AppImage, and uses his AppImage build tool, Go AppImage [2]. GSApp2AppImage's been tested on a variety of GS environments, with both compilers & runtimes, and most GS file-system layouts. Also attached are two helper/example scripts that each build-from-scratch a GAP-app AppImage (with or without GS preinstalled): - Make_GMines-AppImage.sh (simple app - no extra build dependencies) - Make_AddressManager-AppImage.sh (builds additional frameworks) The helper scripts can be modified to build most other simple GNUstep apps just by changing the values in the first 22 lines. However, they aren't needed if you've already built the target app, as you can just use GSApp2AppImage directly. NOTE: By default, GSApp2AppImage copies the contents of the following GNUstep Library directories to the AppImage (from both the System & Local domains): - Bundles - ColorPickers - Fonts - Frameworks - Images - KeyBindings - Libraries - PostScript If you've installed additional files in those directories (such as frameworks for an unrelated app), they'll be included in the AppImage. To avoid bundling those extraneous files, I suggest running the scripts on a separate (or virtual) machine that has a clean install. The default list of Library dirs to bundle can also be overridden via environment vars - see Make_GMines-AppImage.sh for an example. Cheers, Josh [1] https://appimage.org/ https://docs.appimage.org/introduction/quickstart.html#how-to-run-an-appimage [2] https://github.com/probonopd/go-appimage
GSApp2AppImage.sh
Description: Bourne shell script
Make_GMines-AppImage.sh
Description: Bourne shell script
Make_AddressManager-AppImage.sh
Description: Bourne shell script
