Stop using Purism forks of GNOME apps and cherry-pick relevant patches instead
Our current strategy for running the core GNOME apps on phones, forking them, is not ideal. Partly because this means we run needlessly old software without upstream fixes, but also since we don't fork everything from Alpine, we get issues like this !2544 (comment 683076626) where something has changed in upstream Alpine but not here in downstream pmOS and things break. As suggested by both Pablo Correa Gomez in the aforementioned merge request and Purism employee João Azevedo on Matrix, we should instead build upstream GNOME apps and cherry-pick relevant patches as necessary.
For example, in the case of g-c-c, we want to cherry-pick the patches in the forwarded and upstream folders, but not the pureos folder or the base folder: https://source.puri.sm/pureos/packages/gnome-control-center/-/tree/pureos/master/debian/patches
"forwarded" means patches that have been sent upstream but aren't accepted yet, and "upstream" means patches that have been accepted upstream but backported since PureOS uses GNOME 3.38. "pureos" means, as you probably can guess, PureOS-specific patches (some of which we may want, e.g. this one), and the ones in the base folder are patches from Debian.
We will have to investigate which ones we actually want to use in postmarketOS. Most of the patches in the upstream folder will probably already be applied right now as GNOME 41 just released, so likely we won't have to apply any of them, or at least very few.
For what it's worth, GNOME 41 just released, and it should contain more adaptive apps than before[1]. Because of this, I would suggest we wait until GNOME 41 has reached Alpine until we merge any upgrades here in postmarketOS, so that we're sure that we don't run into any incompatibilities. I would also suggest we use GNOME 41 rather than 40 since 41 should have more adaptivity patches merged, which means less patching for us.
Checklist:
-
evince - !2600 (merged) -
epiphany - !2571 (merged) -
gnome-calculator - !2568 (merged) -
gnome-contacts - !2564 (merged) -
gnome-control-center - !2552 (merged) -
gnome-software - !2653 (merged)