I tripped over this subject while reviewing Gtk 3, Gdk 3 and other dependencies for Addons. In particular I discovered that the addon PlaceCoordinateGramplet has loading errors because it uses GeocodeGlib 1.0 which has been dereleased for years. The issue is that the new version GeocodeGlib 2.0 requires libsoup 3.0 which is a operating system level dependency which is a) declared nowhere and b) can be a touchy subject
Nick had taken a stab at resolving it back 2023 but it simply was too early for the wide swath of OSes out there, that has since changed and could be fixed now.
This all boils down to one important point: we need more precision in which OSes Gramps (and by extension the addons) will support officially and which are âberst effortâ situations. Iâve seen a reference to this for Windows on the Download page, but no overview over the specific Linux versions, etc.
The version of OS supported is too much of a moving target to be addressed on the Application side. Anything built into the code quickly suffers linkrot.
It is somewhat easier for macOS and MS Windows where we have had dedicated âofficialâ volunteers who have committed to timely updating and troubleshooting OS installer files.
There are some tools to check what resources Gramps sees (whether sandboxed or a Deep system integration):
An unintended consequence of repairing the AIO installer building tool for MS Windows (about 3 years ago) is that: no developer has to spend 2 days building and testing an Installer for each release. So the the experience and expertise has atrophied. The troubleshooting/validating for that OS is no longer rigorous. To be blunt, there is more current MS Windows installer building skills for Gramps in the PortableApps team than in the Gramps-project team at this moment. This is not taking potshots at our developers⊠PortableApps simply has to navigate the idiosyncrasies of MS Windows prerequisites constantly across a broad spectrum of Applications. Smooth installing is their whole raison dâĂȘtre.
It will be interesting to watch the impact of recent installation enhancements. Hopefully the âAllow Gramps to install required Python modulesâ in Addon Manager will work and become viable. A functional âprerequisite managingâ feature would completely change this discussion.
The discussion of Linux is almost an entirely different subject. There are so many Linux distributions (with subdialects) that it seems that weâve gotten away from âofficialâ support for an expert install option and all its complexities (like the Debian installer). Instead, weâve adopted a more watered-down fallback to sandboxed installs, trading the benefits of deep OS integration for convenience.
It might be a better approach to integrate the Prerequisites Checker into the core (which could be superseded by an addon replacement) and to move the âRequiredâ installing feature from the Addon Manager to make it into a Tool instead of a Report.
The Language support checking of the experimental Environment Inspector could be installed there too. Adding options to select the active Locale and install other translations/dictionaries would make it into a Tool instead of a Report too.
Likewise, the experimental Environment Inspectorâs constants reporting could be integrated and upgraded to an environment Constants editing tool.
Our geography views require osm-gps-map which depends on libsoup 2.0. It has been upgraded to use libsoup 3.0, but we are still waiting for the release. If you also want to use GeocodeGlib then it will have to be 1.0.
The alternative, which I have been considering for our Snap, is to compile an unreleased version of osm-gps-map that has been upgraded to use libsoup 3.0, and include GeocodeGlib 2.0 in the package.
We only officially support the source distribution of Gramps. All of the operating system packages are community maintained. However, we do like to ensure that Gramps can be packaged easily for Windows, Mac, and popular Linux distributions such as Debian, Ubuntu, Fedora and Arch.
First off, thanks for the references. I struggled finding those via search or a simple click through on the Wiki pages - no idea why.
Second, thanks for some context. I guess âofficially supportâ is the wrong wording. I was thinking more along the lines of âvalidated and testedâ against.
We can build several distros images in CI and validate it that way and I was just wondering what the scope there is - and the apge around Installing Grmaps for Linux pretty much answers that. In principle it means that the addons developers would have to cover the same range or at least the different images cover the same amount.
Iâll definitely dig into the Pre-req Checker as well!
I havenât dug into that item too much, to be honest. Iâm just getting aware how many dependencies a Addon can actually have - you have the PyPI, System Packages, Operating System, versioned GTK and if they donât come together exactly so, the Addon will fail. Some of those dependencies are declared - PyPI and System for example, the Gtk & Gdk indirectly by Gramps and the Operating System items not at all. I was looking for a why to corral those other dependencies too, tbh
Dependencies are fun! I use the MacPorts package manager to install Gramps. It can recursively list all of the dependencies of a package, such as Gramps, with âport rdep grampsâ. It lists 475 unique dependencies although some of these are only required to build and install. The forum software doesnât allow me to upload the text file so here is the first 50 lines: