Skip to content

flathub: build from source instead of the prebuilt release zip #1578

Open

Description

@ZhuchkaTriplesix

Part of #1060. Reviewer feedback on the submission (flathub/flathub#10606): "Any particular reason this is not being built from source?"

Problem

The manifest downloads Querya-Desktop-<version>-linux.zip from the GitHub release and installs the binaries from it. Flathub rules (requirements):

  • "All source available submissions must be built entirely from source code."
  • "Binary or precompiled files must not be present in the submission pull request."
  • exceptions are case by case and for well-known vendors, so we should not count on one

Work

  • Build the app with flatpak-builder from the tagged source (Flutter SDK, Dart packages and the Rust/native parts offline, as Flathub builds have no network)
  • Look at how other Flutter apps on Flathub do it (the community flatpak-flutter generator is the usual starting point; verify that it fits our Flutter version)
  • Decide what to do with the vsync-patched engine (QueryaHub/flutter-engine-linux-120hz): it is a prebuilt .so today; either build it from source in the manifest or ship the stock engine for Flathub and document the 60 fps cap (perf(linux): app is capped at 60 fps because the GTK embedder has no vsync #980)
  • Pin every source (git tag + commit, checksums for archives)
  • Verify with flatpak-builder --install and run the app

Notes

The manifest must be written by hand: Flathub's policy forbids AI-generated or AI-assisted manifests (see the policy issue linked from the epic).

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestflathubFlathub submission and Flatpak packaging

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions