Change:
Package name: gnome-pomodoro Latest released version: 0.25.1 <!-- Search your package here: --- Current version on the unstable channel: 0.24.1 Current version on the stable/release channel: 0.24.1 <!-- Type the name of your package and try to find an open pull request for the package If you find an open pull request, you can review it! There's a high chance that you'll have the new version right away while helping the community! --- Notify maintainers - I saw that you merged the last update from a bot <!-- If the result shows no maintainers, tag the person that last updated the package. --The current version's main app still works but the extension component is broken on gnome 46.1. I tried simply doing the version bump with the following overlay: But the build fails because its unable to patch meson-post- I'm not sure if there's something wrong with my overlay or something that needs to be changed about the patch script. Would this happen if something changed upstream? Thanks! Note for maintainers: Please tag this issue in your PR. Add a :+1: [reaction] to [issues you find important]. [reaction]: [issues you find important]:
It does indeed seem like the meson-post- script was removed in this commit: I'll try to modify the patch accordingly so it doesn't try to edit a non-existent file and make a PR if it works. If it doesn't though, I think I'd need some guidance as I'm not entirely sure of the reasons behind the changes in the patch.
On FHS dustros, package manager typically recompiles global file on installation. Since we want Nix packages to work without installation, we compile the file for each package during package build. But to avoid multiple packagesʼ schenas colliding when to created symlink tree, we use different directory per package (path contains derivation name). The purpose of the patch is to facilitate this. Normally, the move is handled automatically by ʼs setup hook in , but since the project hardcodes the schema path and knows nothing about our convention, we need to patch it (we do that in the part of the patch). Changing the install directory in is not strictly necessary, as the aforementioned setup hook can handle that later. In fact, it should be removed since the function that replaces the script does not support our convention either.
Any update on this? gnome.pomodoro is currently broken on the latest NixOS (due to GNOME 46). Thank you.
I haven't really had time to take a crack at it since the initial bug report since I started a new job and have been using my Gnome install very little. If you'd like to try your hand at fixing it and report back, please let me know! I have roughly zero packaging experience so it'll be a lot of trial end error if I were to attempt a fix.
So I've made a few more attempts over the months trying to get it myself but just haven't been successful, likely due to my relative lack of Gnome and Nix development experience. In the time since I made this issue, the current version has bumped up to v0.26.0. My current progress is as follows: Currently, this commit still fails to build, as glib-compile-schemas attempts to open the glib-2.0/schemas folder, but it is not found. The full output log can be found here: I'm not sure if this is due to the package's own or if this happens in one of the glib hooks. I also tried simply removing the patch to see if the nix-specific glib hooks would pick up the schemas and put them in the right place, but unfortunately the extension part cannot be enabled on a package built this way. On v25.2, I had a different issue, where the glibPreFixupHook would attempt to mv the schemas folder to its nix location, but the operation would fail as there was already a subfolder with the same name that mv refused to overwrite. I tried temporarily disabling or editing the hook to see if that would help, but I didn't know enough nix to make it work. Should I try disabling the updated meson.post_install() call to compile schemas and just patch in a manual schema compilation? Is there some tool in the nix glib library that I'm missing? I'm at a loss - sorry to ping but any advice would be greatly appreciated!
I finally figured out a fix and have opened a PR. It should hopefully be merged soon, but otherwise you should be able to add the changes to your local nix environment early if you've been missing the package.
Thank you for your effort!

Discussion:
githubId = 15121114; name = "Tom Herbers"; }; <ins> herschenglime = { github = "Herschenglime"; githubId = 69494718; name = "Herschenglime"; }; </ins> hexa = { email = "hexa@darmstadt.ccc.de"; matrix = "@hexa:lossy.network";

<del> diff --git a/data/meson.build b/data/meson.build index 5e4ce69..982b3c9 100644 --- a/data/meson.build +++ b/data/meson.build @@ -31,7 +31,7 @@ i18n.merge_file( install_data( 'org.gnome.pomodoro.gschema.xml', -  install_dir: get_option('datadir') / 'glib-2.0' / 'schemas', +  install_dir: gschema_dir, ) subdir('icons') diff --git a/meson-post-install.sh b/meson-post-install.sh index bf4013a..c87fba4 100644 --- a/meson-post-install.sh +++ b/meson-post-install.sh @@ -7,7 +7,7 @@ datadir="${prefix}/$1" # want/need us to do the below if [ -z "${DESTDIR}" ]; then echo "Compiling GSchema..." -    glib-compile-schemas "${datadir}/glib-2.0/schemas" +    glib-compile-schemas "${datadir}/gsettings-schemas/@pname@-@version@/glib-2.0/schemas" echo "Updating icon cache..." gtk-update-icon-cache -f -t "${datadir}/icons/hicolor" </del> diff --git a/meson.build b/meson.build index 09857a1..a07d27c 100644 --- a/meson.build

plugin_libdir = get_option('prefix') / get_option('libdir') / meson.project_name() / 'plugins' extension_dir = get_option('prefix') / get_option('datadir') / 'gnome-shell' / 'extensions' / 'pomodoro@arun.codito.in' <ins> @@ -134,7 +135,7 @@ subdir('tests') gnome.post_install( -  glib_compile_schemas: true, +  glib_compile_schemas: false, gtk_update_icon_cache: true, update_desktop_database: true, ) </ins>

<del> { lib , stdenv , fetchFromGitHub , substituteAll , meson , ninja , pkg-config , wrapGAppsHook3 , desktop-file-utils , libcanberra , gst_all_1 , vala , gtk3 , gom , sqlite , libxml2 , glib , gobject-introspection , json-glib , libpeas , gsettings-desktop-schemas , gettext </del> <ins> { lib, stdenv, fetchFromGitHub, substituteAll, meson, ninja, pkg-config, wrapGAppsHook3, desktop-file-utils, libcanberra, gst_all_1, vala, gtk3, gom, sqlite, libxml2, glib, gobject-introspection, json-glib, libpeas, gsettings-desktop-schemas, gettext, </ins> }: stdenv.mkDerivation rec { pname = "gnome-pomodoro"; <del> version = "0.24.1"; </del> <ins> version = "0.26.0"; </ins> src = fetchFromGitHub { owner = pname; repo = pname; rev = version; <del> hash = "sha256-Ml3znMz1Q9593rMgfAST8k9QglxMG9ocFD7W8kaFWCw="; </del> <ins> hash = "sha256-icyS/K6H90/DWYvqJ7f7XXTTuIwLea3k+vDDEBYil6o="; </ins> }; patches = [

}) ]; <ins> # Manually compile schemas for package since meson option # gnome.post_install(glib_compile_schemas) used by package tries to compile in # the wrong dir. preFixup = '' glib-compile-schemas ${glib.makeSchemaPath "$out" "${pname}-${version}"} ''; </ins> nativeBuildInputs = [ meson ninja

This GNOME utility helps to manage time according to Pomodoro Technique. It intends to improve productivity and focus by taking short breaks. ''; <del> maintainers = with maintainers; [ aleksana ]; </del> <ins> maintainers = with maintainers; [ aleksana herschenglime ]; </ins> license = licenses.gpl3Plus; platforms = platforms.linux; };