nixpkgs/pkgs/applications/office/gtg/default.nix
stuebinm ff1a94e523 treewide: add meta.mainProgram to packages with a single binary
The nixpkgs-unstable channel's programs.sqlite was used to identify
packages producing exactly one binary, and these automatically added
to their package definitions wherever possible.
2024-03-19 03:14:51 +01:00

87 lines
1.6 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
];
nativeCheckInputs = with python3Packages; [
nose
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://wiki.gnome.org/Apps/GTG";
downloadPage = "https://github.com/getting-things-gnome/gtg/releases";
license = licenses.gpl3Plus;
maintainers = with maintainers; [ oyren ];
platforms = platforms.linux;
};
}