ripasso-cursive: cosmetic changes (#361736)
[NixPkgs.git] / pkgs / by-name / gn / gnome-pomodoro / package.nix
blob6c7ee5e2343184cd9817d2a2f21a714372eda21f
2   lib,
3   stdenv,
4   fetchFromGitHub,
5   substituteAll,
6   meson,
7   ninja,
8   pkg-config,
9   wrapGAppsHook3,
10   desktop-file-utils,
11   libcanberra,
12   gst_all_1,
13   vala,
14   gtk3,
15   gom,
16   sqlite,
17   libxml2,
18   glib,
19   gobject-introspection,
20   json-glib,
21   libpeas,
22   gsettings-desktop-schemas,
23   gettext,
25 stdenv.mkDerivation rec {
26   pname = "gnome-pomodoro";
27   version = "0.26.0";
29   src = fetchFromGitHub {
30     owner = pname;
31     repo = pname;
32     rev = version;
33     hash = "sha256-icyS/K6H90/DWYvqJ7f7XXTTuIwLea3k+vDDEBYil6o=";
34   };
36   patches = [
37     # Our glib setup hooks moves GSettings schemas to a subdirectory to prevent conflicts.
38     # We need to patch the build script so that the extension can find them.
39     (substituteAll {
40       src = ./fix-schema-path.patch;
41       inherit pname version;
42     })
43   ];
45   # Manually compile schemas for package since meson option
46   # gnome.post_install(glib_compile_schemas) used by package tries to compile in
47   # the wrong dir.
48   preFixup = ''
49     glib-compile-schemas ${glib.makeSchemaPath "$out" "${pname}-${version}"}
50   '';
52   nativeBuildInputs = [
53     meson
54     ninja
55     gettext
56     gobject-introspection
57     libxml2
58     pkg-config
59     vala
60     wrapGAppsHook3
61     desktop-file-utils
62   ];
64   buildInputs = [
65     glib
66     gom
67     gsettings-desktop-schemas
68     gst_all_1.gst-plugins-base
69     gst_all_1.gst-plugins-good
70     gst_all_1.gstreamer
71     gtk3
72     json-glib
73     libcanberra
74     libpeas
75     sqlite
76   ];
78   meta = with lib; {
79     homepage = "https://gnomepomodoro.org/";
80     description = "Time management utility for GNOME based on the pomodoro technique";
81     mainProgram = "gnome-pomodoro";
82     longDescription = ''
83       This GNOME utility helps to manage time according to Pomodoro Technique.
84       It intends to improve productivity and focus by taking short breaks.
85     '';
86     maintainers = with maintainers; [
87       aleksana
88       herschenglime
89     ];
90     license = licenses.gpl3Plus;
91     platforms = platforms.linux;
92   };