1{
2 lib,
3 stdenv,
4 fetchFromGitHub,
5 nix-update-script,
6 meson,
7 ninja,
8 pkg-config,
9 vala,
10 wrapGAppsHook4,
11 elementary-gtk-theme,
12 elementary-icon-theme,
13 granite7,
14 gtk4,
15 libgee,
16}:
17
18stdenv.mkDerivation rec {
19 pname = "elementary-calculator";
20 version = "8.0.0";
21
22 src = fetchFromGitHub {
23 owner = "elementary";
24 repo = "calculator";
25 rev = version;
26 sha256 = "sha256-QEs83hSv9Kupj2p/OTnuPZsC8tdm+IqgpeObBVrPRas=";
27 };
28
29 nativeBuildInputs = [
30 meson
31 ninja
32 pkg-config
33 vala
34 wrapGAppsHook4
35 ];
36
37 buildInputs = [
38 elementary-icon-theme
39 granite7
40 gtk4
41 libgee
42 ];
43
44 preFixup = ''
45 gappsWrapperArgs+=(
46 # The GTK theme is hardcoded.
47 --prefix XDG_DATA_DIRS : "${elementary-gtk-theme}/share"
48 # The icon theme is hardcoded.
49 --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS"
50 )
51 '';
52
53 passthru = {
54 updateScript = nix-update-script { };
55 };
56
57 meta = with lib; {
58 homepage = "https://github.com/elementary/calculator";
59 description = "Calculator app designed for elementary OS";
60 license = licenses.gpl3Plus;
61 platforms = platforms.linux;
62 teams = [ teams.pantheon ];
63 mainProgram = "io.elementary.calculator";
64 };
65}