Somewhere after combining my (and kwm)'s version with these changes, Cinnamon breaks completely. Investigating.
Restoring patch-gmodule_gmodule-dl.c has no effect; Cinnamon is still broken. I suspect some more files need restored.
patch-glib_fix_hidden --- memory management?
patch-gmodule_gmodule-dl.c --- linker
All of them are present in my test tree with 2.64.3, no glib-related failures detected
@fluffy maybe you want to takeover that review and append your own patches? My bandwidth as reduced a bit since I posted it. My exp-run request is here if you want to takeover: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=247278
Cinnamon port itself isn't up to date, so it might be than updating it to the latest version will fix the problem with the new glib. gnome@ surely need more man-power.
All comments about Cinnamon refer to the current upstream version, which is 4.6. Even the latest upstream does not explicitly require the latest glib; it works with 2.56 perfectly fine iirc.
That being said, it appears some of my additional Makefile REINPLACEing (to compensate for our hier(7)) that are present here are wrong, and not necessarily the patches themselves. That's what's been causing the brokenness.
x11/cinnamon|gnome@FreeBSD.org|2020-09-15|Uses deprecated version of python
cinnamon is due to be removed next week -- if that is the only blocker for the glib upgrade, I think it's time to complete the exp-run and commit this :)
I think we'll need to commit the current Cinnamon, even though the screensaver unlocking is still broken at the moment. Python 2 removal is more pressing at the moment. Some of the patches and REINPLACEs here are incorrect, which cause the Cinnamon issues.
Also, we're up to glib 2.66.0 now.
Folks, something wrong with access rights? Cannot update diff for this revision, only available to create a new revision when hit "update diff". Or I need to commandeer it before update?
2.66.0 diff is already here https://people.freebsd.org/~fluffy/-patches/glib20-2.66.0.diff
Or I need to commandeer it before update?
Yes, if you have a new diff for this you'll need to commandeer the review first then upload the diff.
This needs a -Ddefault_library=both in MESON_ARGS, as some ports like emulators/qemu-user-static rely on static libraries. Meson's default behaviour is to build the shared libraries only.