Nixpkgs: Tracking GNOME 3.38 update in September

Created on 12 Aug 2020  路  19Comments  路  Source: NixOS/nixpkgs

The GNOME 3.38 release is planned for September 16, 2020.

Things we need to consider:

cc @NixOS/gnome

GNOME package (update)

Most helpful comment

GNOME 3.38 has been merged to master so now is the time to update extensions.

All 19 comments

Haven't got a head start this time around as I've been busy with work.

Did the bare minimum necessary to get gnome-shell running: https://github.com/hedning/nixpkgs/tree/gnome-3.38

Mostly useful for the spidermonkey bump as it was somewhat time consuming (required a bunch of new dependencies).

Not sure how useful it is but here are some notes on some obvious breakages / issues I spotted so far (without actually checking any release notes thoroughly):

  • packages needing libhandy-1 (non-exhaustive) (https://github.com/NixOS/nixpkgs/pull/92204)

    • gnome-clocks
    • gnome-maps
    • gnome-screenshot
    • epiphany
  • gdm

    • switched to meson
  • gnome-initial-setup

    • switched from yelp to gnome-tour
  • gedit

    • needs a development version of tepl

      • development version of tepl switched to meson

  • gnome-terminal

    • needs a development version of vte
  • geary

    • bundles its own copy of libhandy
  • gnome-usage

    • meson.build:22:2: ERROR: Git program not found.
  • gnome-boxes

    • new dependencies - libhandy and gtksourceview-4
  • gnome-todo

    • patches need updating
  • epiphany

    • needs libhandy-1 as per above
    • also needs libportal and a dev version of webkitgtk :-/

I've updated libhandy in https://github.com/NixOS/nixpkgs/pull/92204. We should be sure to move that change into the forthcoming PR.

switched from yelp to gnome-tour

I packaged gnome-tour already, so it will just have to be updated :+1:

switched from yelp to gnome-tour

I packaged gnome-tour already, so it will just have to be updated

Looking at my changes (it's been a while) it will need librsvg to render the pictures for the walk-through.

Also just a heads up I had to commit some sins (https://github.com/pbogdan/nixpkgs/commit/2cac0a1ab4f5709b2d403c3c0e24c9e2c1ceeaa7 https://github.com/pbogdan/nixpkgs/commit/be86a1a63a8029a39eaa4d47684a98398b84ddb9) to actually get a working GNOME session at the time. Likely just my own lack of knowledge / ignorance but gdm and gnome-session updates may need a careful review (I haven't actually updated my branch to the latest beta sources).

Hmm, not sure what's up with GDM, though 3.38 is released now, which fixes an issue (https://gitlab.gnome.org/GNOME/gdm/-/issues/555), that could be related. Else it might be worth checking setting initial-vt=1 fixes the problem.

There's a typo (missing @) in a gnome-session patch, so that might be causing some issues (potentially for both GDM and the session):
https://github.com/NixOS/nixpkgs/blob/b46981417ed816104b4633426924ecf39078c83a/pkgs/desktops/gnome-3/core/gnome-session/fix-paths.patch#L39

Grr... Thanks for catching this, will try and fix this up tomorrow and re-test.

This reminds me:

Grr... Thanks for catching this, will try and fix this up tomorrow and re-test.

Fixing up the patch didn't seem to help nor did changing initial-vt, and didn't seem to help with gnome-session either.
It could be all moot though as I haven't been keeping up with upstream updates for a good while.

Managed to figure out how to get rid my gdm / gnome-session hacks so thankfully it turns out they aren't necessary.

Just another few notes after updating to 3.38:

  • nautilus and gnome-music both need tracker{,-miners}-3, this includes both libraries and the runtime services

    • gnome-music also needs tracker-3 grilo plugin, and grilo-plugins can't build tracker-2 and tracker-3 plugins at the same time

    • not everything upgraded to tracker-3 so this may require both versions (including NixOS modules) + another build of grilo-plugins (though I can't say I looked into this too deeply)

I would default to Tracker 3 everywhere and keep tracker 2 for stuff that did not update as suggested in https://discourse.gnome.org/t/gnome-3-38-uses-tracker-3-by-default-but-one-core-app-still-uses-tracker-2/4191

Sorry for the scattered notes but one more which I didn't mention

  • gnome-settings-daemon (perhaps others)

    • needs to be patched to find gnome-session-ctl from gnome-session, ATM it expects it under its own libexecdir

Sorry for the scattered notes but one more which I didn't mention

* gnome-settings-daemon (perhaps others)

  * needs to be patched to find `gnome-session-ctl` from `gnome-session`, ATM it expects it under its own libexecdir

We can PR to add something that's already in gnome-control-center

core/gnome-control-center/default.nix
154:    "-Dgnome_session_libexecdir=${gnome-session}/libexec"

Heh, I guess that only existed in 3.34 https://gitlab.gnome.org/GNOME/gnome-control-center/-/blob/3.34.0/meson_options.txt#L3, so we need to drop that flag in gnome-control-center. Though basically the same code could be used.

Speaking of patches gdm will probably need something similar to https://github.com/NixOS/nixpkgs/blob/684d691c6e9d49d3aab96f4053d011c225aa75bf/pkgs/desktops/gnome-3/core/rygel/add-option-for-installation-sysconfdir.patch after conversion to meson. I have an ugly hack for now but ideally it needs separation between sysconfdirs configured for the build and installation.

GNOME 3.38 has been merged to master so now is the time to update extensions.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

copumpkin picture copumpkin  路  3Comments

ob7 picture ob7  路  3Comments

ghost picture ghost  路  3Comments

matthiasbeyer picture matthiasbeyer  路  3Comments

ayyess picture ayyess  路  3Comments