nixpkgs/pkgs/applications/office/gtg/default.nix
2024-07-10 12:05:08 -07:00

85 lines
1.6 KiB
Nix

{ lib
, fetchFromGitHub
, meson
, python3Packages
, ninja
, gtk3
, wrapGAppsHook3
, glib
, gtksourceview4
, itstool
, gettext
, pango
, gdk-pixbuf
, libsecret
, gobject-introspection
, xvfb-run
}:
python3Packages.buildPythonApplication rec {
pname = "gtg";
version = "0.6";
src = fetchFromGitHub {
owner = "getting-things-gnome";
repo = "gtg";
rev = "v${version}";
sha256 = "sha256-O8qBD92P2g8QrBdMXa6j0Ozk+W80Ny5yk0KNTy7ekfE=";
};
nativeBuildInputs = [
meson
ninja
itstool
gettext
wrapGAppsHook3
gobject-introspection
];
buildInputs = [
glib
gtk3
gtksourceview4
pango
gdk-pixbuf
libsecret
];
propagatedBuildInputs = with python3Packages; [
pycairo
pygobject3
lxml
gst-python
liblarch
caldav
];
nativeCheckInputs = with python3Packages; [
mock
xvfb-run
pytest
];
preBuild = ''
export HOME="$TMP"
'';
format = "other";
checkPhase = "xvfb-run pytest ../tests/";
meta = with lib; {
description = " A personal tasks and TODO-list items organizer";
mainProgram = "gtg";
longDescription = ''
"Getting Things GNOME" (GTG) is a personal tasks and ToDo list organizer inspired by the "Getting Things Done" (GTD) methodology.
GTG is intended to help you track everything you need to do and need to know, from small tasks to large projects.
'';
homepage = "https://github.com/getting-things-gnome/gtg";
downloadPage = "https://github.com/getting-things-gnome/gtg/releases";
license = licenses.gpl3Plus;
maintainers = with maintainers; [ oyren ];
platforms = platforms.linux;
};
}