The Adw.AboutDialog rendered without a version line. Add a
SwiftPM build tool plugin (EmbedLumaVersion) that invokes a
small in-package writer to emit Sources/<…>/LumaVersion.swift
into the plugin work directory each build, reading LUMA_VERSION
from the environment (default "0.0.0-dev"). The LumaGtk target
picks the file up automatically as a normal source, and the
About dialog calls dialog.set(version: LumaVersion.string).
No Make/pwsh orchestration and no checked-in generated source —
plain swift build embeds the current version on every build,
and the command's arguments are part of SwiftPM's cache key so
it re-runs when LUMA_VERSION changes.