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
gnome3: 3.24 → 3.26 #29392
gnome3: 3.24 → 3.26 #29392
Conversation
Oh boy, just when we've got 3.24 in... :D |
FWIW, it seems that meson may tend to cause troubles by not adding RPATH. |
0ebbc6d
to
acf628e
Compare
@lheckemann Well, the PR is still largely incomplete. I encourage anyone to try to build a package or open a PR against my branch. The main bottleneck for me is the build time so if we can distribute the packages between multiple people we will have Manchester sooner. @vcunat We will have to update the build files as suggested upstream or patch the binaries as you did in efeef04. |
Well, you based the branch on a staging commit that hasn't even been evaluated by Hydra. If you instead based e.g. on two commits earlier (d94c7f5), there would be noticeably less to rebuild. |
a87a0d0
to
77bedc5
Compare
The rpaths are indeed bothersome. Is there a way other than listing transitive buildInputs manually? |
Do they not support building without meson anymore? (until we find a real solution for meson) |
The apps and smaller libraries do not. I have mentioned the autotools support for the derivations I checked.
Edit: The autotools support was checked and listed for all items on the list.
|
I tried wrapping polari but for some reason it tries to find the library in
Edit: I am running the following code to make sure there are no libraries missing from rpath: for elf in result/bin/.*-wrapped result/libexec/.*-wrapped result/lib/**.so
ldd -r "$elf" | grep 'not found'
end |
I fixed gnome-software, though one plug-in contains libgio-2.0.so.0 twice and cannot find one of them, not sure it is of any concern.
|
I finished fixing the meson build for the rest of the apps except for epiphany gnome-shell and gnome-tweak-tool, which depend on webkitgtk unconditionally (directly or via gnome-online-accounts). Will let build it overnight. I also had some troubles with totem, which requires a debian specific pycompile script, for now I am skipping the python compilation. |
Is there any chance that an upgrade of gnome also could resolve #14318? Might be out of scope, but since stuff are remade it might be a good time? |
@etu sorry, I do not yet understand how those things work. Maybe later. |
I have fixed epiphany then got stuck on gnome-shell for a while. Turns out meson build hook changes the directory so the preBuild hook needs to look one level up. Now all derivations requiring meson should build and be wrapped correctly – well except for polari, that will require further debugging (see above). Edit: Everything looks green except for gpaste, which for some reason cannot find mutter-clutter, even though mutter, which contains that pc file is in build depends.
Edit2: GPaste 3.26 was released 3 days ago, which fixes compatibility with GNOME 3.26. Also Bijiben does not build with the new tracker. I am marking it as broken since it was pretty buggy anyway. Edit3: There is something weird happening with intltool in spice-gtk, for now it is building without gettext support. Edit4: Apparently gnome-font-viewer will release 3.26 soon, we are not done yet. Edit5: It was actually already released. And now it is packaged too. Commence testing! Edit6: GNOME Shell immediately sigtraps on missing gsettings schemas. |
Would it be possible to get hydra to build this branch so that users could test this more easily? |
Yes, I think so. It will probably take some time, as it has lower scheduling shares than most other branches. |
Thanks. I did some more tinkering and managed to make gdm display cursor. Unfortunately I have no idea how to fix it. These two messages stand out:
Rest of the log: |
Just in case, so you don't do the same again, I have some simpler updates, often related to GTK+. I plan to stage them as soon as I get to run my system on it. |
@vcunat I have already upgraded glib as it was required by some apps. It also switched to Python 3 and the upgrade will break libgnome, libgnomeui and libgda. |
Well, your updated glib won't build when sandboxed, as shown on the Hydra jobset I created. |
For now, I will try to run GNOME with SSDM or something. Hydra also found some more issues but I cannot reproduce them locally, even with sandboxing enabled. |
NixOS generates /etc/dbus-1/system.conf including the configuration of all the dbus derivations. Unfortunately, colord places the configuration into $out/share instead of expected $out/etc. This commit patches colord to use the expected path. hughsie/colord#61
For some reason, the GNOME 3.26 update broke the overrides. It turns out the overrides now need to come before the overridden schemas in the XDG_DATA_DIRS variable. This is not possible in general due to applications prefixing the variable (e.g. in wrapGAppsHook). To fix this, a new environment variable NIX_GSETTINGS_OVERRIDES_DIR was introduced. It has greater priority than XDG_DATA_DIRS but lower than GSETTINGS_SCHEMA_DIR. A separate variable was chosen in order not to block the built-in one for users.
For some reason, the GNOME 3.26 update broke the overrides. It turns out the overrides now need to come before the overridden schemas in the XDG_DATA_DIRS variable. This is not possible in general due to applications prefixing the variable (e.g. in wrapGAppsHook). To fix this, a new environment variable NIX_GSETTINGS_OVERRIDES_DIR was introduced. It has greater priority than XDG_DATA_DIRS but lower than GSETTINGS_SCHEMA_DIR. A separate variable was chosen in order not to block the built-in one for users.
* Fixes some GNOME segfaults
More updates:
|
Can we move this forward? Even if there is stuff left to do, I think this is a huge improvement over the current state of GNOME on nixos-unstable. |
@eqyiel There are no known regressions, we are just waiting for a review on the glib patch. |
It might be slightly confusing that a couple of the changes will be twice in the history, but let's merge this way.
From past experience, packages should not depend on |
After grepping vala and then trying to build the discovered derivations, it seems the two were the only one. And yes, outside of GNOME, one is supposed to use fixed version. |
Thanks for all the hard work! |
One bug that we missed: thumbnail creation became broken. Will be fixed in #32246 |
Current state
It does not build yet, I am creating a PR to avoid duplicated work. Help and patches encouraged.GDM only shows a black screen.Ready for testing, please report any issues.
dleyna
(gnome3: Add dleyna service #28826)meson-absolute-gir
(meson: pass library install paths to g-ir-scanner #31453)schema-override-variable
(glib: Add variable for overriding schemas #31683)libgda
to work with GLib (for anjuta)Figure out how to prevent conflicts between meson setup hooks andCannot reproduce at the moment../configure
(seegnome-software
)Package flatpak(for now building gnome-software without it)gnome-color-manager(not packaged)gnome-screenshot(only unstable 3.25 available)geocode-glib(only unstable 3.25 available)gomaka GObject Data Mapper (not packaged)graphene(not packaged)gnome-todo(not packaged)gnome-multi-writer(not packaged)jsonrpc-glib(not packaged)libdazzle(not packaged)gnome-builder(not packaged)gnome-recipes(not packaged)Clean-up webkitgtk(this will take ages, maybe leave it for someone with more performant PC)postConfigure
and patchessubstituteInPlace
into patchesFigure out why does not json_glib generate introspection files(it does now, no idea what I’ve seen)gitg
update in favour of libgit2: 0.25.1 -> 0.26.0 #31119Figure out why toggling natural scrolling does not work(not a GNOME regression, see Changing mouse settings in GNOME does not work #31670)extraGSettingsOverrides
do not work