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

Attachment: GSApp2AppImage.sh
Description: Bourne shell script

Attachment: Make_GMines-AppImage.sh
Description: Bourne shell script

Attachment: Make_AddressManager-AppImage.sh
Description: Bourne shell script

Reply via email to