-
Notifications
You must be signed in to change notification settings - Fork 809
Prepare for GLib 2.86.0 typelib break #13091
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
Conversation
|
Note that the |
b9387bc to
e40c404
Compare
|
@3v1n0 Thanks for your work. |
Yeah, it's more a wrapper to keep deprecated Gio.Unix* stuff to work as it used to do, so it allows all the cjs related stuff to continue working, since Gio unix is used in other places too. We have the same in upstream gjs.
Yes, this patch is enough to get cinnamon running, but not for all the applets (that indeed requires having an updated cjs, or a workaround to inject |
As per gjs change this is deprecated for a while (so I'd switch the dependency on glib 2.79.2), but we did not advertise it properly for |
GioUnix included Gio unix-only symbols since 2.79.2, so depend on that version See: linuxmint#13091 (comment)
|
Thanks for all the replies |
|
Ah, btw I saw all the dependencies using |
I won't mind doing a mass edit to all third-party applets and extensions to fix this stuff when necessary. |
|
Hi, I package cinnamon on NixOS and was trying this patch with GLib 2.84.4 and pygobject 3.50.0 (i.e. still GNOME 48) and got this when trying to open "Preferred Applications" in cinnamon-settings: After apply the following patch it works. Is that expected? diff --git a/files/usr/share/cinnamon/cinnamon-settings/modules/cs_default.py b/files/usr/share/cinnamon/cinnamon-settings/modules/cs_default.py
index 4c69191d3..8763511bf 100755
--- a/files/usr/share/cinnamon/cinnamon-settings/modules/cs_default.py
+++ b/files/usr/share/cinnamon/cinnamon-settings/modules/cs_default.py
@@ -4,7 +4,10 @@ import os
from SettingsWidgets import SidePage
from xapp.GSettingsWidgets import *
+
+gi.require_version('GioUnix', '2.0')
from gi.repository import *
+from gi.repository import GioUnix
PREF_MEDIA_AUTORUN_NEVER = "autorun-never"
PREF_MEDIA_AUTORUN_X_CONTENT_START_APP = "autorun-x-content-start-app" |
It's not good practice, and: #13091 (comment)
|
That's odd... I fixed the imports - 330b9ff I'm not sure why it would fail to bring in GioUnix - maybe related to the namespace workarounds that had been in place? We should always be explicit with imports anyhow. (... ignores line 6...) |
|
|
From:- linuxmint/cinnamon#13091 this fixes #26742
In newest glib GioUnix symbols are not anymore exposed in GioUnix, while cjs should use linuxmint/cjs#131 it's still better to use GioUnix all the times.
More importantly though, when scanning the cinnamon headers, GioUnix-2.0 should be used or the APIs exposing(this should not be a problem here since you actually useGDesktopAppInfowon't work or they will be broken.GMenuDesktopAppInfoinstead which is not exposed byGioUnix)It's not included here, but it's highly recommended to now depend on GLib 2.86.0, or at least communicate clearly to distributors that they must recompile cinnamon on GLib 2.86.0 (and with these patches) to get it working with newer GLib version (or well with the newest gio introspection typelibs).