Various meson-build files currently hardcode the path '/usr/share/glib-2.0/schemas'. This is a problem when building for systems with a non-standard structure such as NixOS, as they don't allow writing into a global path like that, and instead configure different (package-local) base paths so that the global paths can be managed by the package manager afterwards, and composed from the different package-specific local paths.
The simplest solution seems to be to simply replace all occurrences of the hardcoded path with join_paths(get_option('datadir'), 'glib-2.0', 'schemas'), as eg. budgie-user-indicator-redux does. I can confirm that this substitution makes the build succeed on NixOS, but I don't have an Ubuntu system handy to verify that it also works there, hence filing this as an issue rather than a PR.
Various
meson-buildfiles currently hardcode the path'/usr/share/glib-2.0/schemas'. This is a problem when building for systems with a non-standard structure such as NixOS, as they don't allow writing into a global path like that, and instead configure different (package-local) base paths so that the global paths can be managed by the package manager afterwards, and composed from the different package-specific local paths.The simplest solution seems to be to simply replace all occurrences of the hardcoded path with
join_paths(get_option('datadir'), 'glib-2.0', 'schemas'), as eg.budgie-user-indicator-reduxdoes. I can confirm that this substitution makes the build succeed on NixOS, but I don't have an Ubuntu system handy to verify that it also works there, hence filing this as an issue rather than a PR.