Skip to content

fix: Linux .run installer with proper install script, desktop entry, and bundled icon#48

Merged
JohnVictorCrown merged 1 commit into
masterfrom
fix/linux-run-installer
Feb 12, 2026
Merged

fix: Linux .run installer with proper install script, desktop entry, and bundled icon#48
JohnVictorCrown merged 1 commit into
masterfrom
fix/linux-run-installer

Conversation

@kilo-code-bot

@kilo-code-bot kilo-code-bot Bot commented Feb 12, 2026

Copy link
Copy Markdown
Contributor

Summary

Fixes the Linux .run self-extracting installer to produce a complete, polished installation experience instead of just extracting and running in-place.

Changes

New files

  • scripts/water-install.sh — Install script executed by the .run installer that:

    • Copies the Water binary to ~/.local/bin/Water.bin
    • Generates an installed launcher script at ~/.local/bin/Water (with Mesa fallback)
    • Copies Mesa fallback libraries to ~/.local/lib/water/
    • Copies the app icon to ~/.local/share/icons/water.png
    • Installs the .desktop file to ~/.local/share/applications/water.desktop
    • Makes the binary executable
    • Prints a success message with usage instructions
  • scripts/water.desktop — XDG desktop entry template with @BIN_DIR@ and @ICON_DIR@ placeholders that are substituted at install time with the actual paths

Modified files

  • Makefile — Updated _bundle-linux-mesa target to:
    • Bundle the .desktop file and install script in the .run payload
    • Use install.sh as the makeself startup script (instead of the launcher)
    • The icon (logo-only.png) continues to be bundled as icon.png in the payload

.run payload structure

Water-linux-amd64/
├── bin/Water          # actual binary
├── lib/               # Mesa fallback libraries
│   ├── dri/
│   ├── libGL.so.1
│   └── ...
├── icon.png           # app icon (bundled from resources/logo-only.png)
├── water.desktop      # desktop entry template
└── install.sh         # install script (makeself startup)

Install locations

Asset Path
Binary ~/.local/bin/Water.bin
Launcher ~/.local/bin/Water
Mesa libs ~/.local/lib/water/
Icon ~/.local/share/icons/water.png
Desktop entry ~/.local/share/applications/water.desktop

Built for stellar.foundation.us by Kilo for Slack

…and bundled icon

- Add scripts/water-install.sh: install script that copies binary to
  ~/.local/bin/, icon to ~/.local/share/icons/, desktop entry to
  ~/.local/share/applications/, and Mesa libs to ~/.local/lib/water/
- Add scripts/water.desktop: XDG desktop entry template with placeholder
  paths substituted at install time
- Update Makefile _bundle-linux-mesa target to include the desktop file
  and install script in the .run payload, and use install.sh as the
  makeself startup script instead of the launcher
- Icon (logo-only.png) is bundled as icon.png in the .run payload
@JohnVictorCrown
JohnVictorCrown merged commit 8835094 into master Feb 12, 2026
4 checks passed
@JohnVictorCrown
JohnVictorCrown deleted the fix/linux-run-installer branch February 12, 2026 18:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant