-
-
Notifications
You must be signed in to change notification settings - Fork 689
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
PyGObject>=3.51.0 depends on libgirepository 2.0 #3143
Comments
Good catch getting ahead of this - I imagine this will be picked up by dependabot in about 24 hours when it tries to update pygobject. However, this is a really hard one to accomodate. Either we pin pygobject==3.50.0, or we abandon support for Debian 12/Ubuntu 22.04 et al. There's no pip install marker we can apply that will gate on system dependencies, so we can't qualify our usage of pygobject. Or, I guess, we try and document how to install libgirepository 2.0 from source as well... which... I'll pass on that option, thanks :-) The somewhat mercenary answer here is that there's an extent to which this is Linux (or at least Ubuntu/Debian) behaving as expected. Debian 12/Ubuntu 22.04 ships with a version of pygobject; the "Debian way" is that you should be using that version. Installing pygobject from source is already pushing things a little. It's at least somewhat unreasonable to use an 3 year old release and expect all the latest features to be available; maybe this is just the trigger for us to drop Debian 12/Ubuntu 22.04 support. That would put Debian/Ubuntu support on a similar timeframe to Fedora and OpenSUSE, which essentially only supports releases for around year after initial release. @danyeaw I don't suppose you've got any other ideas on how we could manage this while retaining support for older Debian-based releases? |
We released PyGObject 3.51.0 for GNOME 48 beta and 3.52.0 will be the stable release for GNOME 48. Although now we are talking about this, maybe it really deserves a major version bump. I don't have any real ideas here besides we need to use the libraries shipped with the user's distro or if someone wants something more recent than that than building against the Flatpak SDK is the answer. I think supporting the last LTS is more containable than trying to support the previous LTS, especially if it is our goal to be able to keep fairly current with the latest desktop standards on Linux. I don't think it is even unreasonable to expect that Desktop App developers are running the latest released version of their distro. |
There are several competing priorities that all have merit. My two cents for Toga, though, is I think it should continue supporting more than the current LTS. Or at least some level of commitment to overlap when a new LTS is released. Otherwise, I think it stands to particularly limit the usability of Toga for Linux. Currently, Ubuntu 24.04 has been available for 9 months; personally, I'm still on 22.04. And if we consider Debian, 12 is the only currently supported version available right now. So, maybe we could update the templates to add sections for |
Well this is fascinating. In the process of trying to fix #3154, I started getting the failure because pygobject 3.51.0 requires libgintrospection 2.0. If figured I'd just bump the binary dependency to get the tests passing in CI... but then CI started failing for a different reason:
So - PyPI contains a released tarball for Back to the meta-issue: I completely agree that dropping 22.04 support isn't the most desirable option. I hadn't considered fixing this at the Briefcase level. Adding a It does come with some complications, though. Firstly, the bootstrap API doesn't currently have explicit support for distro version-level configuration - or Outside Briefcase, it also leaves "standard pip install" users at a bit of a loose end - but then, we've never managed binary dependencies for those users anyway. The best we can do for them is to document those dependencies. I wonder if that might be the best approach here - document what we know about the problem. In Toga, we document the dependency chains and known issues with pygobject versions; but we make it clear that 22.04 support is "best effort", that we're not actively testing it, and that the pygobject issue puts a bit of a limit on the lifespan of that support. In Briefcase, we internally document the existing Toga bootstrap as being "24.04-compliant", with documentation that additional configuration will be needed to also support 22.04 or earlier. We also add some platform quirk notes to the system backend pointing out that Ubuntu's LTS lifespan can require lots of configurations, and it won't always be possible to install the latest software with the oldest LTS, providing details about how to do the "additional version constraint" trick, and pointing to Flatpak as a possible workaround. |
…bed. (#3155) * Modifies the CI configuration so that Travertino is installed by pip finding the wheel in the dist folder, rather than by explicitly installing the package from the source directory. * Modifies the testbed to look in the `dist` folder for prerelease wheels, but *doesn't* modify the platform configurations to use those wheels. This is so that local testing continues to work. However, the Textual backend *will* use the `dist` folder to install packages, so there is at least *some* testing of wheel usage by Briefcase. * Updates all the examples and the demo app to include an explicit install of Travertino. * Includes a hard version pin of PyGObject 3.50.0 to work around #3143. * Includes a conditional coverage tweak that I noticed being reported on each of the standalone core test runs. This wasn't an issue for overall coverage, but it helps to keep local single-Python version test results clean.
Describe the bug
As explained in GNOME/pygobject#320, PyGObject now depends on libgirepository-2.0. This is somewhat curious because it seems to deprecate support for non-EOL platforms like Ubuntu 22.04.
Steps to reproduce
Attempt to install PyGObject 3.51.0 on a system without libgirepository 2.0.
Expected behavior
Documentation is updated to reflect dependency changes.
libgirepository-2.0-dev
instead oflibgirepository1.0-dev
Support for installing Toga on Debian 12 and Ubuntu 22.04 is somehow retained.
Screenshots
No response
Environment
Logs
No response
Additional context
No response
The text was updated successfully, but these errors were encountered: