Overview
Once the manifest exists (see #68), it needs to declare all dependencies so the app runs correctly inside the Flatpak sandbox.
Depends on: #68 (manifest) being created first.
What the app actually needs:
Python 3 — available in GNOME SDK/Platform
PyGObject (python3-gi) — available in GNOME Platform
GTK 3 — available in GNOME Platform
src/Qrip.ui (Glade XML file) — must be bundled alongside Qrip.py
streamrip (rip CLI) — this is the hard part (see below)
The streamrip problem:
streamrip is a complex Python package with many dependencies. Options:
- Bundle it inside the Flatpak (complex but self-contained)
- Require it as a host prerequisite and document this clearly
- Use
--allow-talk-to=org.freedesktop.Flatpak to run the host's rip binary
What needs to be done
Goal
All required libraries are declared in the manifest and available at runtime inside the sandbox.
Related to: #30
Overview
Once the manifest exists (see #68), it needs to declare all dependencies so the app runs correctly inside the Flatpak sandbox.
Depends on: #68 (manifest) being created first.
What the app actually needs:
Python 3— available in GNOME SDK/PlatformPyGObject(python3-gi) — available in GNOME PlatformGTK 3— available in GNOME Platformsrc/Qrip.ui(Glade XML file) — must be bundled alongsideQrip.pystreamrip(ripCLI) — this is the hard part (see below)The streamrip problem:
streamripis a complex Python package with many dependencies. Options:--allow-talk-to=org.freedesktop.Flatpakto run the host'sripbinaryWhat needs to be done
python3-giand GTK3 are already available inorg.gnome.Platform(they are — just needs confirming)streamripwill be handled (bundle vs. prerequisite)Qrip.uiis included in the build and placed whereQrip.pyexpects itGoal
All required libraries are declared in the manifest and available at runtime inside the sandbox.
Related to: #30