1{
2 lib,
3 stdenv,
4 fetchFromGitLab,
5 desktop-file-utils,
6 gsettings-desktop-schemas,
7 glib,
8 gtk3,
9 libgda5,
10 libxml2,
11 libxslt,
12 makeWrapper,
13 meson,
14 ninja,
15 pkg-config,
16 shared-mime-info,
17}:
18
19stdenv.mkDerivation rec {
20 pname = "planner";
21 version = "0.14.92";
22
23 src = fetchFromGitLab {
24 domain = "gitlab.gnome.org";
25 owner = "World";
26 repo = "planner";
27 rev = version;
28 hash = "sha256-2LmNeyZURVtA52Vosyn44wT8zSaJn8tR+8sPM9atAwM=";
29 };
30
31 postPatch = ''
32 patchShebangs \
33 meson_post_install.sh \
34 tools/strip_trailing_white_space.sh \
35 tests/python/task-test.py
36 '';
37
38 nativeBuildInputs = [
39 desktop-file-utils
40 makeWrapper
41 meson
42 ninja
43 pkg-config
44 shared-mime-info
45 ];
46
47 buildInputs = [
48 libgda5
49 libxml2
50 libxslt
51 glib
52 gsettings-desktop-schemas
53 gtk3
54 ];
55
56 postInstall = ''
57 wrapProgram $out/bin/planner \
58 --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH:$out/share/gsettings-schemas/planner-${version}"
59 '';
60
61 meta = {
62 description = "Project management tool for the GNOME desktop";
63 mainProgram = "planner";
64 homepage = "https://gitlab.gnome.org/World/planner";
65 license = lib.licenses.gpl2Plus;
66 maintainers = with lib.maintainers; [ amiloradovsky ];
67 platforms = lib.platforms.unix;
68 };
69}