1{
2 lib,
3 stdenv,
4 fetchFromGitHub,
5 cmake,
6 pkg-config,
7 python3,
8 wrapGAppsHook3,
9 gtkmm3,
10 gtksourceview4,
11 gtksourceviewmm,
12 gspell,
13 libxmlxx,
14 sqlite,
15 curl,
16 libuchardet,
17 spdlog,
18 fribidi,
19 vte,
20}:
21
22stdenv.mkDerivation (finalAttrs: {
23 pname = "cherrytree";
24 version = "1.5.0";
25
26 src = fetchFromGitHub {
27 owner = "giuspen";
28 repo = "cherrytree";
29 tag = "v${finalAttrs.version}";
30 hash = "sha256-WsxN2VGESrDUv0sSTsMSpZr6Ca7yDwGNR2aB3BrmfkY=";
31 };
32
33 nativeBuildInputs = [
34 cmake
35 pkg-config
36 python3
37 wrapGAppsHook3
38 ];
39
40 buildInputs = [
41 gtkmm3
42 gtksourceview4
43 gtksourceviewmm
44 gspell
45 libxmlxx
46 sqlite
47 curl
48 libuchardet
49 spdlog
50 fribidi
51 vte
52 ];
53
54 meta = {
55 description = "Hierarchical note taking application";
56 mainProgram = "cherrytree";
57 longDescription = ''
58 Cherrytree is an hierarchical note taking application, featuring rich
59 text, syntax highlighting and powerful search capabilities. It organizes
60 all information in units called "nodes", as in a tree, and can be very
61 useful to store any piece of information, from tables and links to
62 pictures and even entire documents. All those little bits of information
63 you have scattered around your hard drive can be conveniently placed into
64 a Cherrytree document where you can easily find it.
65 '';
66 homepage = "https://www.giuspen.com/cherrytree";
67 changelog = "https://raw.githubusercontent.com/giuspen/cherrytree/${finalAttrs.version}/changelog.txt";
68 license = lib.licenses.gpl3Plus;
69 maintainers = [ ];
70 platforms = lib.platforms.unix;
71 };
72})