Repository navigation
Conversation
zig build substitutes @GhostTy@ in dist/linux/app.desktop.in with the absolute build prefix, and bundle-appimage.sh copies zig-out/share/* into AppDir/share verbatim (quick-sharun copies the same file to the AppDir root), so the entries shipped inside the image point at /__w/ghostty-appimage/ghostty-appimage/ghostty-<ver>/zig-out/bin/ghostty. Integration tools rewrite Exec/TryExec when they install the entry, so this is not user-visible breakage for them; normalize it anyway so the entry that ships inside the image is portable on its own, using the binary name the README documents. This is what the repo's own assets/ghostty.desktop did before 98e5a30. Only the Exec/TryExec lines of the embedded entries are touched: DBusActivatable and share/dbus-1 are left as they are (quick-sharun handles the AppDir root entry, and the tools' rewriting behaviour means nothing depends on the rest). Verified against the files extracted from the current tip AppImage (Ghostty-1.3.2-main+a4aacd9, sha256 0ff324551791220ec4a5d41cb562e7f2b272559cfb2c4ff0288a81c911939a57): both entries become TryExec=ghostty / Exec=ghostty --gtk-single-instance=true (new-window action included), desktop-file-validate is clean, shellcheck --severity=warning --shell=sh and shfmt -s -d pass. Refs pkgforge-dev#168
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Follow-up to #168 — the DBus-related parts of my first attempt (#169, closed) were wrong, and Samueru-sama's reply was right: quick-sharun already strips
DBusActivatablefor the entry that matters, and every integration tool rewritesExec/TryExecwhen it installs the entry (AM, GearLever, Soar, AppImageLauncher). I am not claiming any user-visible breakage here.What this PR does (and nothing else): normalize the absolute build path that the entries shipped inside the image carry.
Upstream
dist/linux/app.desktop.inuses the@GHOSTTY@placeholder, andzig buildsubstitutes it with the absolute build prefix.bundle-appimage.shcopiesghostty-<ver>/zig-out/share/*intoAppDir/share/(quick-sharun copies the same file to the AppDir root), so both entries end up with:The change rewrites those two keys to the binary name the README documents (
install ./Ghostty-*.AppImage $HOME/.local/bin/ghostty), so the entry that ships inside the image is portable on its own. This is also what the repo's ownassets/ghostty.desktopdid before98e5a30("chore: restructure project") switched to consuming upstream's generated file.Deliberately not touched (the mistakes of #169):
DBusActivatable— quick-sharun handles the AppDir root entry.share/dbus-1/services/com.mitchellh.ghostty.service— left in place.Verification
Ran the new block against the files extracted from the current tip AppImage (
Ghostty-1.3.2-main+a4aacd9-x86_64, sha2560ff324551791220ec4a5d41cb562e7f2b272559cfb2c4ff0288a81c911939a57):The full CI build container was not run locally; the patch only edits files that already exist in
AppDirat that point.If you'd rather not carry this at all, say so and I'll close it — as established in #168, nothing depends on it.