1{
2 stdenv,
3 lib,
4 meson,
5 ninja,
6 gettext,
7 fetchurl,
8 fetchpatch,
9 pkg-config,
10 wrapGAppsHook3,
11 itstool,
12 desktop-file-utils,
13 python3,
14 glib,
15 gtk3,
16 evolution-data-server,
17 gnome-online-accounts,
18 json-glib,
19 libuuid,
20 curl,
21 libhandy,
22 webkitgtk_4_1,
23 gnome,
24 adwaita-icon-theme,
25 libxml2,
26 gsettings-desktop-schemas,
27 tinysparql,
28}:
29
30stdenv.mkDerivation rec {
31 pname = "gnome-notes";
32 version = "40.1";
33
34 src = fetchurl {
35 url = "mirror://gnome/sources/bijiben/${lib.versions.major version}/bijiben-${version}.tar.xz";
36 hash = "sha256-BaBvsGbpgC9fJKtnsNL3FFGGY2O6Pjn593X9SadYe78=";
37 };
38
39 patches = [
40 # Fix build with meson 0.61
41 # data/appdata/meson.build:3:5: ERROR: Function does not take positional arguments.
42 (fetchpatch {
43 url = "https://gitlab.gnome.org/GNOME/gnome-notes/-/commit/994af76ce5144062d55d141129bf6bf5fab002ee.patch";
44 hash = "sha256-z7dPOLZzaqvdqUIDy6+V3dKossRbG0EDjBu2oJCF6b4=";
45 })
46
47 # build: Depend on webkit2gtk-4.1
48 # https://gitlab.gnome.org/GNOME/gnome-notes/-/merge_requests/200
49 (fetchpatch {
50 url = "https://gitlab.gnome.org/GNOME/gnome-notes/-/commit/0791507873c96d0463cd0c83108415541f854edd.patch";
51 hash = "sha256-TwCi9sDudeiOjrH2VevAynxvy/WTmwB2HrWqhviPg8o=";
52 })
53 ];
54
55 doCheck = true;
56
57 postPatch = ''
58 chmod +x build-aux/meson_post_install.py
59 patchShebangs build-aux/meson_post_install.py
60 '';
61
62 nativeBuildInputs = [
63 meson
64 ninja
65 pkg-config
66 gettext
67 itstool
68 libxml2
69 desktop-file-utils
70 python3
71 wrapGAppsHook3
72 ];
73
74 buildInputs = [
75 glib
76 gtk3
77 json-glib
78 libuuid
79 curl
80 libhandy
81 webkitgtk_4_1
82 tinysparql
83 gnome-online-accounts
84 gsettings-desktop-schemas
85 evolution-data-server
86 adwaita-icon-theme
87 ];
88
89 mesonFlags = [ "-Dupdate_mimedb=false" ];
90
91 passthru = {
92 updateScript = gnome.updateScript {
93 packageName = "bijiben";
94 attrPath = "gnome-notes";
95 };
96 };
97
98 meta = with lib; {
99 description = "Note editor designed to remain simple to use";
100 mainProgram = "bijiben";
101 homepage = "https://gitlab.gnome.org/GNOME/gnome-notes";
102 license = licenses.gpl3;
103 teams = [ teams.gnome ];
104 platforms = platforms.linux;
105 };
106}