nixpkgs/pkgs/applications/office/gtg/default.nix
2022-06-04 12:00:00 +00:00

86 lines
1.7 KiB
Nix

{ lib
, fetchFromGitHub
, fetchpatch
, meson
, python3Packages
, ninja
, gtk3
, wrapGAppsHook
, 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
wrapGAppsHook
gobject-introspection
];
buildInputs = [
glib
gtk3
gtksourceview4
pango
gdk-pixbuf
libsecret
];
propagatedBuildInputs = with python3Packages; [
pycairo
pygobject3
lxml
gst-python
liblarch
caldav
];
checkInputs = with python3Packages; [
nose
mock
xvfb-run
pytest
];
preBuild = ''
export HOME="$TMP"
'';
format = "other";
strictDeps = false; # gobject-introspection does not run with strictDeps (https://github.com/NixOS/nixpkgs/issues/56943)
checkPhase = "xvfb-run pytest ../tests/";
meta = with lib; {
description = " A personal tasks and TODO-list items organizer";
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://wiki.gnome.org/Apps/GTG";
downloadPage = "https://github.com/getting-things-gnome/gtg/releases";
license = licenses.gpl3Plus;
maintainers = with maintainers; [ oyren ];
platforms = platforms.linux;
};
}