Open liberforce opened 4 years ago
@leio Is this ticket still relevant now that we are on Meson?
New efforts going on related to #399 :
I've never really used it but it looks like something that uses the pyproject.toml
standard(s) is "the cool kid" now.
The one modern package manager that I know is poetry.
There is the package meson-python which should be able to connect the python ecosystem with meson.
Hi there, I thought I could share my related experience, specifically in the context of building favagtk, which also uses python, meson and flatpak for building and packaging a GTK app. About 1-2 years ago, I found myself in a similar situation: I also needed to somehow integrate flatpak (because that's how most gnome apps are distributed) with meson build (because that's what most gnome apps are built with) with python package management tools such as poetry or pipenv (because I wanted frozen dependencies).
org.gnome.Platform
. Poetry or pipenv could be used for the same purpose. I then convert the frozen requirements.txt
file into a flatpak build module using the req2flatpak script. This works much faster than flatpak-pip-generator, and it uses pre-built wheels instead of building from source packages, which means the flatpak build is also much faster. The entire thing can be seen in favagtk's requirements folder. I hope this is of interest for you... and I am interested to see what will be used for GTG.
Right now, pip is used, but it has some drawback. Pip doesn't freeze the exact version of packages used, nor checksum.
Pipenv, while not perfect, allows one to have reproducible installs, which is priceless when you want to understand what has changed and why your tests started failing. This helps reproducing bugs with an exact setup.
The pros:
The cons are: