Gnome: regenerate Flathub assets from gjsify.flatpak config (Phase F.9.4)#96
Merged
Merged
Conversation
…gjsify.flatpak config Phase F.9.4 — completes the easy6502 → gjsify-flatpak-helpers migration. With gjsify 0.4.13's `flatpak init` covering the full AppStream surface, the hand-written manifest + MetaInfo + .desktop files are now generated from a single `package.json#gjsify.flatpak` config block. What's in the config now: - `kind: "app"` — desktop-application MetaInfo + .desktop scaffolding - `name: "Learn 6502 Assembly"` — display name override (npm pkg name is `learn6502`, doesn't match display name; needs the F.9.7 `gjsify.flatpak.name` override from gjsify#199) - `developer` with id, name, email, `nameTranslatable: false` → emits `<name translate="no">Pascal Garber</name>` like before - `summary` + `summaryTranslatorHint` - `description` as DescriptionBlock[] — 4 blocks (3 paragraphs + 1 bullet list with 5 items), each with translator hints carrying the same context strings the hand-written XML had - license (CC0-1.0 metadata, GPL-3.0-or-later project) - homepage / bugtracker / vcs-browser / translate URLs - iconRemote (Flathub thumbnail URL) - 9 keywords (TRANSLATORS comments dropped — these are technical terms: "6502", "Assembly", "IDE", "GNOME", etc. don't need per-keyword translator context) - branding accent colours (light + dark) - contentRating with 2 OARS attributes (social-info: mild, language-humor: mild) - 4 kudos (ModernToolkit, HiDpiIcon, TouchscreenSupport, UserDocs) - provides binary - supports: keyboard + pointing + touch - requires display_length ≥ 360 px (phone-portrait minimum) - recommends display_length ≥ 480 px (tablet recommendation) - 4 screenshots with captions + captionTranslatorHints - 12 releases (0.1.0 → 0.6.5) with rich per-release `<description>` blocks carrying their translator hints — exact 1:1 with the hand-written history Verification: - `appstreamcli validate --strict` on the regenerated metainfo returns the same baseline result as the original (1 Info-level `nonstandard-gnome-extension kudos` message — expected, since AppStream kudos are a GNOME extension; identical to pre-migration) - Generated manifest is semantically identical to the hand-written `eu.jumplink.Learn6502.json` (only whitespace/indentation differs; `jq -S` diff is empty) - New `.desktop.in` is a superset of the hand-written one — adds Comment (from summary), Keywords (from gjsify config), and StartupWMClass (Flathub recommendation). All existing keys preserved byte-for-byte. - Compiled `.metainfo.xml` regenerated via `gjsify gettext` from the new `.xml.in` + existing `packages/translations/*.po` — picks up recent translations that hadn't made it into the previous compiled output (Indonesian, Hebrew) Re-running `yarn flatpak:regen` (new script) refreshes all four files from the config. The skip-if-exists semantics of init mean user edits to one file don't block regenerating the others; pass `--force` (already in the script) to overwrite. Devdep bumped: `@gjsify/cli` `^0.3.16` → `^0.4.13`. Drops: - The hand-written 230-line `eu.jumplink.Learn6502.metainfo.xml.in` (now generated) - The hand-written `.desktop.in` (now generated, with extra keys) - The hand-written manifest `eu.jumplink.Learn6502.json` (now generated)
Yarn 4 install with the bumped pin pulls 92 new dependencies (the 0.4.x @girs-* type packages + @gjsify infra). yarn install also re-formatted package.json with multi-line array entries (cosmetic only — content unchanged).
`gjsify flatpak init` writes JSON with 4-space indentation; the repo's prettier config wants 2 spaces. Format the manifest in-place so `yarn check:format` passes. Filed as gjsify follow-up: `flatpak init` should consult prettier (or expose an --indent flag) so this step is unnecessary going forward.
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.
Summary
Closes the easy6502 → gjsify-flatpak-helpers migration. With gjsify 0.4.12's Phase F.9 + F.9.6 toolchain,
gjsify flatpak initcovers the full Flathub AppStream surface incl. translator hints. This PR replaces the hand-written manifest + MetaInfo + .desktop files with a singlepackage.json#gjsify.flatpakconfig block that regenerates all four files viagjsify flatpak init --force.Config content
appId,kind: "app",name: "Learn 6502 Assembly"(display-name override — see gjsify#199 for the newnamefield this depends on)nameTranslatable: false(→<name translate="no">)summary+summaryTranslatorHintdescriptionasDescriptionBlock[]— 4 blocks (3 paragraphs + 1 bullet list of 5 items) with translator hints preserved 1:1 from hand-written XMLbranding(light + dark accents),contentRatingw/ 2 OARS attributes<description>blocks — every translator hint preservedVerification
jq -Sdiff regenerated vs hand-written manifestappstreamcli validate --stricton regenerated metainfononstandard-gnome-extension kudos).metainfo.xmlviagjsify gettext.desktop.inyarn flatpak:regenDrops + Adds
Drops (now generated):
packages/app-gnome/data/metainfo/eu.jumplink.Learn6502.metainfo.xml.inpackages/app-gnome/data/eu.jumplink.Learn6502.desktop.ineu.jumplink.Learn6502.jsonAdds:
flathub.json(empty{}— Flathub policy stub)Dependencies
@gjsify/clibumped^0.3.16→^0.4.13(waiting on gjsify#199 → v0.4.13 release for thegjsify.flatpak.namedisplay-name override surfaced during this migration).Test plan
appstreamcli validate --stricton regenerated metainfo (same baseline as hand-written)jq -Ssemantic diff manifest = empty.desktop.inkeys preserved + extended.metainfo.xmlmatches new.xml.in+ current.pofiles.github/workflows/flatpak.ymlFlatpak build (same manifest path)appstreamcli validatetestRe-running the scaffold
# Edit `package.json#gjsify.flatpak` then: yarn flatpak:regen