1{
2 lib,
3 python3,
4 fetchFromGitLab,
5 meson,
6 ninja,
7 pkg-config,
8 gobject-introspection,
9 wrapGAppsHook4,
10 appstream-glib,
11 desktop-file-utils,
12 glib,
13 gtk4,
14 librsvg,
15 libsecret,
16 libadwaita,
17 gtksourceview5,
18 webkitgtk_6_0,
19}:
20
21python3.pkgs.buildPythonApplication rec {
22 pname = "iotas";
23 version = "0.11.0";
24 pyproject = false;
25
26 src = fetchFromGitLab {
27 domain = "gitlab.gnome.org";
28 owner = "World";
29 repo = "iotas";
30 tag = version;
31 hash = "sha256-9YYKVBjidHBWyUqFvxo3tNx5DQkpililCDLZofESYRw=";
32 };
33
34 nativeBuildInputs = [
35 meson
36 ninja
37 pkg-config
38 gobject-introspection
39 wrapGAppsHook4
40 appstream-glib
41 desktop-file-utils
42 ];
43
44 buildInputs = [
45 glib
46 gtk4
47 librsvg
48 libsecret
49 libadwaita
50 gtksourceview5
51 webkitgtk_6_0
52 ];
53
54 dependencies = with python3.pkgs; [
55 pygobject3
56 pygtkspellcheck
57 requests
58 markdown-it-py
59 linkify-it-py
60 mdit-py-plugins
61 pypandoc
62 strenum
63 packaging
64 ];
65
66 # prevent double wrapping
67 dontWrapGApps = true;
68 preFixup = ''
69 makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
70 '';
71
72 meta = {
73 description = "Simple note taking with mobile-first design and Nextcloud sync";
74 homepage = "https://gitlab.gnome.org/World/iotas";
75 license = lib.licenses.gpl3Plus;
76 platforms = lib.platforms.linux;
77 mainProgram = "iotas";
78 maintainers = with lib.maintainers; [ zendo ];
79 teams = [ lib.teams.gnome-circle ];
80 };
81}