1{
2 lib,
3 stdenv,
4 fetchFromGitHub,
5 nix-update-script,
6 pkg-config,
7 meson,
8 ninja,
9 vala,
10 gtk3,
11 libxml2,
12 libhandy,
13 libportal-gtk3,
14 webkitgtk_4_1,
15 elementary-gtk-theme,
16 elementary-icon-theme,
17 folks,
18 glib-networking,
19 granite,
20 evolution-data-server,
21 wrapGAppsHook3,
22 libgee,
23}:
24
25stdenv.mkDerivation (finalAttrs: {
26 pname = "elementary-mail";
27 version = "8.0.0";
28
29 src = fetchFromGitHub {
30 owner = "elementary";
31 repo = "mail";
32 tag = finalAttrs.version;
33 hash = "sha256-6T/OTiuDVAPBqp8BPawf/MVEuWTPrLa3/N1Blvt/7Q8=";
34 };
35
36 nativeBuildInputs = [
37 libxml2
38 meson
39 ninja
40 pkg-config
41 vala
42 wrapGAppsHook3
43 ];
44
45 buildInputs = [
46 elementary-icon-theme
47 evolution-data-server
48 folks
49 glib-networking
50 granite
51 gtk3
52 libgee
53 libhandy
54 libportal-gtk3
55 webkitgtk_4_1
56 ];
57
58 preFixup = ''
59 gappsWrapperArgs+=(
60 # The GTK theme is hardcoded.
61 --prefix XDG_DATA_DIRS : "${elementary-gtk-theme}/share"
62 # The icon theme is hardcoded.
63 --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS"
64 )
65 '';
66
67 passthru.updateScript = nix-update-script { };
68
69 meta = {
70 description = "Mail app designed for elementary OS";
71 homepage = "https://github.com/elementary/mail";
72 changelog = "https://github.com/elementary/mail/releases/tag/${finalAttrs.version}";
73 license = lib.licenses.gpl3Plus;
74 platforms = lib.platforms.linux;
75 maintainers = with lib.maintainers; [ ethancedwards8 ];
76 teams = [ lib.teams.pantheon ];
77 mainProgram = "io.elementary.mail";
78 };
79})