flutpak 0.2.3 copy "flutpak: ^0.2.3" to clipboard
flutpak: ^0.2.3 copied to clipboard

CLI tool that generates Flatpak manifests and offline source bundles for Flutter applications. One command prepares everything needed for a Flathub-compatible offline build: generated-sources.json, ma [...]

Changelog #

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

Unreleased #

0.2.3 - 2026-05-20 #

Fixed #

  • lint command: pass --filesystem=host to flatpak run so the sandboxed flatpak-builder-lint process can read flathub.json from the host filesystem (without this the exceptions list in flathub.json was silently ignored)

0.2.2 - 2026-05-20 #

Fixed #

  • validate command: switched from appstream-util to appstreamcli (the modern AppStream CLI available as appstream package on Debian/Ubuntu 22.04+). Added --explain (always on) and --no-net (on by default) flags.

0.2.1 - 2026-05-19 #

Added #

  • DeveloperConfig — new developer: field in MetainfoConfig; generates <developer [id="..."]><name>...</name></developer> in metainfo XML (AppStream 1.0 / Flathub requirement)

Changed #

  • Screenshot URL pinning is now config-driven: replaceMetainfoScreenshots() rebuilds the entire <screenshots> block from metainfo.screenshots: config
    • repo_slug + ref, instead of regex-replacing /main/ in the existing file. Works correctly regardless of what ref the file currently contains.
  • MetainfoGenerator.generate({ref}) bakes the correct ref into screenshot URLs at generation time; main is used as a fallback when no ref is provided.

0.2.0 - 2026-05-19 #

Added #

  • lint command — flatpak-builder-lint wrapper (requires org.flatpak.Builder)
  • export command — collects manifest, generated-sources.json, metainfo, and patches into a ready-to-submit directory
  • validate command — appstream-util validate wrapper for AppStream metainfo
  • Metainfo XML generation from manifest.metainfo: config (name, summary, description, categories, keywords, URLs, screenshots, OARS content rating)
  • .desktop file generation from manifest.desktop: config
  • prepare --dry-run / -n — prints what would be written without touching any files
  • pin-manifest composite action: flutter_version / flutter_version_file inputs (one required), config, validate, flutpak_binary
  • test-action.yml — CI workflow that builds the binary from source and smoke-tests the action

Changed #

  • output: config field is now a directory (default: flatpak); generated-sources.json is always written as <output>/generated-sources.json
  • --output CLI flag is now a directory in all sub-commands (sources, pub, flutter, manifest)
  • All commands resolve paths relative to the config file directory, not CWD
  • pin-manifest action: replaced flatpak_dir input with config + flutter_version/flutter_version_file

Fixed #

  • Screenshot URL pinning uses git tag date for deterministic release dates
  • ScreenshotConfig.fromYaml handles non-Map input safely

0.1.1 - 2026-05-19 #

Fixed #

  • Fix/re pin manifest placeholders

0.1.0 - 2026-05-19 #

Added #

  • prepare command — one-shot: generates sources, resolves patches, creates/updates manifest, pins metainfo screenshot URLs to tag/commit
  • Config in pubspec.yaml (flutpak: section) or standalone flutpak.yaml (error if both exist)
  • Manifest generation with __FLATPAK_TAG__ / __FLATPAK_COMMIT__ placeholders that CI replaces on each release
  • extra_modules — include verbatim YAML module files into the manifest
  • extra_sources — arch-specific verbatim flatpak sources (e.g. prebuilt C libraries)
  • env at manifest level merged with build_options.env
  • flutter_version_file — writes the Flutter SDK version string to a file for CI
  • .desktop file generation from desktop: config (name, categories)
  • sdk-extensions auto-wires LLVM bin/lib paths into append-path / prepend-ld-library-path
  • Flutter SDK bin/ always appended to append-path automatically
  • Patches registry — objectbox_flutter_libs and sqflite_common_ffi resolved automatically when found in pubspec.lock
  • Project-level patches: config with version auto-resolved from lock file
  • Patch paths made relative to the manifest directory for correct flatpak-builder resolution
  • Retry with exponential back-off (2 s → 4 s → 8 s) on HTTP 429 / 5xx for pub.dev API and Flutter SDK artifact downloads
  • Warning when --commit is not available and __FLATPAK_COMMIT__ would remain in the manifest
  • Warning when extra_modules file is not found
  • Validation of required manifest.app_id and manifest.command fields with clear error messages
  • SHA-256 download cache at ~/.cache/flutpak/ to avoid redundant Flutter artifact downloads across runs
  • # Generated by flutpak header in manifest, .desktop, and flutter.version output files
  • MIT License
0
likes
0
points
1.26k
downloads

Publisher

unverified uploader

Weekly Downloads

CLI tool that generates Flatpak manifests and offline source bundles for Flutter applications. One command prepares everything needed for a Flathub-compatible offline build: generated-sources.json, manifest with placeholders, patches, and Flutter SDK sources.

Repository (GitHub)
View/report issues

Topics

#flatpak #flathub #flutter #build-tool #linux

License

unknown (license)

Dependencies

args, crypto, glob, http, path, yaml

More

Packages that depend on flutpak