{"slug": "gsapp2appimage-bundle-a-gnustep-app-as-a-standalone-appimage", "title": "GSApp2AppImage: Bundle a GNUStep app as a standalone AppImage", "summary": "Josh Freeman released GSApp2AppImage, a Debian script that packages GNUstep GUI applications as standalone AppImages for easy distribution. The script, used to build AppImages for PikoPixel, bundles dependencies and supports customization via environment variables. Freeman also provided helper scripts for building AppImages from scratch.", "body_md": "|\n\nFrom: |\nJosh Freeman |\nSubject: |\nGSApp2AppImage: Debian script for packaging a GNUstep GUI app as an AppImage |\nDate: |\nWed, 3 Jun 2026 17:25:44 -0400 |\nUser-agent: |\nMozilla Thunderbird |\n\n```\nHi all,\n\n   Attached is a script, GSApp2AppImage.sh, for Debian-based Linux distros that \npackages a locally-built GNUstep-GUI app as an AppImage. (AppImage is a format for \nbundling a Linux application & its dependencies into a single executable file that \ncan be easily distributed & run [1]).\n\n   GSApp2AppImage was used to build the AppImages for the latest release of \nPikoPixel. It's based on a script by Simon Peter, the creator of AppImage, and \nuses his AppImage build tool, Go AppImage [2].\n\n   GSApp2AppImage's been tested on a variety of GS environments, with both \ncompilers & runtimes, and most GS file-system layouts.\n\n   Also attached are two helper/example scripts that each build-from-scratch a \nGAP-app AppImage (with or without GS preinstalled):\n- Make_GMines-AppImage.sh (simple app - no extra build dependencies)\n- Make_AddressManager-AppImage.sh (builds additional frameworks)\n\n   The helper scripts can be modified to build most other simple GNUstep apps \njust by changing the values in the first 22 lines. However, they aren't needed \nif you've already built the target app, as you can just use GSApp2AppImage \ndirectly.\n\nNOTE: By default, GSApp2AppImage copies the contents of the following GNUstep \nLibrary directories to the AppImage (from both the System & Local domains):\n- Bundles\n- ColorPickers\n- Fonts\n- Frameworks\n- Images\n- KeyBindings\n- Libraries\n- PostScript\nIf you've installed additional files in those directories (such as frameworks \nfor an unrelated app), they'll be included in the AppImage. To avoid bundling \nthose extraneous files, I suggest running the scripts on a separate (or \nvirtual) machine that has a clean install.\n\n   The default list of Library dirs to bundle can also be overridden via \nenvironment vars - see Make_GMines-AppImage.sh for an example.\n\nCheers,\n\nJosh\n\n[1] https://appimage.org/\n    \nhttps://docs.appimage.org/introduction/quickstart.html#how-to-run-an-appimage\n\n[2] https://github.com/probonopd/go-appimage\n```\n\n[\n](sh6fwm0dI4x0.sh)`GSApp2AppImage.sh`\n\n*Description:* Bourne shell script\n\n[\n](shz9Wpw7rqXf.sh)`Make_GMines-AppImage.sh`\n\n*Description:* Bourne shell script\n\n[\n](shOziUiPopXF.sh)`Make_AddressManager-AppImage.sh`\n\n*Description:* Bourne shell script\n\n| [Prev in Thread] | Current Thread |\n[Next in Thread] |", "url": "https://wpnews.pro/news/gsapp2appimage-bundle-a-gnustep-app-as-a-standalone-appimage", "canonical_source": "https://lists.gnu.org/archive/html/discuss-gnustep/2026-06/msg00000.html", "published_at": "2026-07-01 04:53:00+00:00", "updated_at": "2026-07-01 05:20:03.930394+00:00", "lang": "en", "topics": ["developer-tools"], "entities": ["Josh Freeman", "GSApp2AppImage", "GNUstep", "AppImage", "PikoPixel", "Simon Peter", "Go AppImage", "Debian"], "alternates": {"html": "https://wpnews.pro/news/gsapp2appimage-bundle-a-gnustep-app-as-a-standalone-appimage", "markdown": "https://wpnews.pro/news/gsapp2appimage-bundle-a-gnustep-app-as-a-standalone-appimage.md", "text": "https://wpnews.pro/news/gsapp2appimage-bundle-a-gnustep-app-as-a-standalone-appimage.txt", "jsonld": "https://wpnews.pro/news/gsapp2appimage-bundle-a-gnustep-app-as-a-standalone-appimage.jsonld"}}