Jan Tojnar 3 years ago
parent 2cf9db0e3d
commit 33932716ee
  1. 43
      pkgs/desktops/gnome/misc/pomodoro/default.nix
  2. 40
      pkgs/desktops/gnome/misc/pomodoro/fix-schema-path.patch

@ -1,9 +1,13 @@
{ lib, stdenv
{ lib
, stdenv
, fetchFromGitHub
, autoconf-archive
, appstream-glib
, substituteAll
, fetchpatch
, meson
, ninja
, pkg-config
, wrapGAppsHook
, desktop-file-utils
, libcanberra
, gst_all_1
, vala
@ -11,43 +15,54 @@
, gom
, sqlite
, libxml2
, autoreconfHook
, glib
, gobject-introspection
, libpeas
, gnome-shell
, gsettings-desktop-schemas
, adwaita-icon-theme
, gettext
}:
stdenv.mkDerivation rec {
pname = "gnome-shell-pomodoro";
version = "0.19.1";
version = "0.20.0";
src = fetchFromGitHub {
owner = "codito";
owner = "gnome-pomodoro";
repo = "gnome-pomodoro";
rev = version;
sha256 = "sha256-im66QUzz6PcX0vkf4cN57ttRLB4KKPFky1pwUa4V7kQ=";
sha256 = "sha256-USzLHoBM0QbBPtbTzJJY02cOSDtmlxPGYhMj7M1FJic=";
};
patches = [
# Our glib setup hooks moves GSettings schemas to a subdirectory to prevent conflicts.
# We need to patch the build script so that the extension can find them.
(substituteAll {
src = ./fix-schema-path.patch;
inherit pname version;
})
# Fix error reporting code.
# https://github.com/gnome-pomodoro/gnome-pomodoro/pull/591
(fetchpatch {
url = "https://github.com/gnome-pomodoro/gnome-pomodoro/commit/133bd62f15653856d9705b66188b42c20d81719e.patch";
sha256 = "A20K+57A6/lYH2Buri2+wrCQgz6EGBdYg2xQbHPSkYc=";
})
];
nativeBuildInputs = [
appstream-glib
autoconf-archive
autoreconfHook
meson
ninja
gettext
gobject-introspection
libxml2
pkg-config
vala
wrapGAppsHook
desktop-file-utils
];
buildInputs = [
adwaita-icon-theme
glib
gnome-shell
gom
gsettings-desktop-schemas
gst_all_1.gst-plugins-base

@ -0,0 +1,40 @@
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"
diff --git a/meson.build b/meson.build
index 09857a1..a07d27c 100644
--- a/meson.build
+++ b/meson.build
@@ -40,7 +40,8 @@ add_project_arguments(
)
# We are going to use these variables later on for the plugins
-gschema_dir = get_option('prefix') / get_option('datadir') / 'glib-2.0' / 'schemas'
+nix_package_name = '@pname@' + '-' + '@version@'
+gschema_dir = get_option('prefix') / get_option('datadir') / 'gsettings-schemas' / nix_package_name / 'glib-2.0' / 'schemas'
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'
Loading…
Cancel
Save