How do I know which dependencies I need?

So if I want to create a Flatpak of someone else’s program, what’s the best way to figure out all the dependencies needed? And then, which ones are already covered by which Flatpak runtimes?

Let’s say I start with looking at the dependencies of a Debian/Fedora/openSUSE package or something in the AUR - how do I end up with a list of modules for the YAML manifest?

@Dust2692 “figure out all the dependencies” A crude but effective way would be to build a Flatpak and see what error messages you get.
“which ones…covered by Flatpak runtimes” Gnome runtime provides the Gnome Desktop Environment.

flatpak run org.freedesktop.Sdk//22.08 will give you a shell in the sdk sandbox. From there you can check what is available, calling pkg-config --list-all for example.

My approach is 1. read the build doc of the package. 2. add what I think is needed, 3 try to build and check the output of the configure step. 4. update the dependencies if needed, see, goto 2.

the choice of the Sdk is based in the toolkit the app uses. Gtk4 → GNOME. PyGtk → GNOME. Qt → KDE (5 or 6 depending on the version). WebKit → GNOME. Plain Gtk3 → Freedesktop.

This is not a definitive answer though. Just guidance.