summaryrefslogtreecommitdiff
path: root/pkgs/desktops/gnome/apps/gnome-todo/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/desktops/gnome/apps/gnome-todo/default.nix')
-rw-r--r--pkgs/desktops/gnome/apps/gnome-todo/default.nix85
1 files changed, 85 insertions, 0 deletions
diff --git a/pkgs/desktops/gnome/apps/gnome-todo/default.nix b/pkgs/desktops/gnome/apps/gnome-todo/default.nix
new file mode 100644
index 000000000000..ae1334cd562b
--- /dev/null
+++ b/pkgs/desktops/gnome/apps/gnome-todo/default.nix
@@ -0,0 +1,85 @@
+{ lib
+, stdenv
+, fetchurl
+, fetchpatch
+, meson
+, ninja
+, pkg-config
+, python3
+, wrapGAppsHook
+, gettext
+, gnome
+, glib
+, gtk4
+, wayland
+, libadwaita
+, libpeas
+, gnome-online-accounts
+, gsettings-desktop-schemas
+, libportal
+, evolution-data-server
+, libical
+, librest
+, json-glib
+}:
+
+stdenv.mkDerivation rec {
+ pname = "gnome-todo";
+ version = "40.0";
+
+ src = fetchurl {
+ url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
+ sha256 = "aAl8lvBnXHFCZn0QQ0ToNHLdf8xTj+wKzb9gJrucobE=";
+ };
+
+ nativeBuildInputs = [
+ meson
+ ninja
+ pkg-config
+ gettext
+ python3
+ wrapGAppsHook
+ ];
+
+ buildInputs = [
+ glib
+ gtk4
+ wayland # required by gtk header
+ libadwaita
+ libpeas
+ gnome-online-accounts
+ gsettings-desktop-schemas
+ gnome.adwaita-icon-theme
+
+ # Plug-ins
+ libportal # background
+ evolution-data-server # eds
+ libical
+ librest # todoist
+ json-glib # todoist
+ ];
+
+ postPatch = ''
+ chmod +x build-aux/meson/meson_post_install.py
+ patchShebangs build-aux/meson/meson_post_install.py
+
+ # https://gitlab.gnome.org/GNOME/gnome-todo/merge_requests/103
+ substituteInPlace src/meson.build \
+ --replace 'Gtk-3.0' 'Gtk-4.0'
+ '';
+
+ passthru = {
+ updateScript = gnome.updateScript {
+ packageName = pname;
+ attrPath = "gnome.${pname}";
+ };
+ };
+
+ meta = with lib; {
+ description = "Personal task manager for GNOME";
+ homepage = "https://wiki.gnome.org/Apps/Todo";
+ license = licenses.gpl3Plus;
+ maintainers = teams.gnome.members;
+ platforms = platforms.linux;
+ };
+}