1{
2 stdenv,
3 lib,
4 fetchFromGitHub,
5 meson,
6 ninja,
7 pkg-config,
8 vala,
9 wrapGAppsHook4,
10 glib,
11 granite7,
12 gst_all_1,
13 gtk4,
14 libadwaita,
15 libcanberra,
16 libgee,
17 nix-update-script,
18}:
19
20stdenv.mkDerivation rec {
21 pname = "elementary-camera";
22 version = "8.0.1";
23
24 src = fetchFromGitHub {
25 owner = "elementary";
26 repo = "camera";
27 rev = version;
28 sha256 = "sha256-PSUav16aU9TFX9Zb0TkqLxgn+yed86Qft0rQvbjbXtA=";
29 };
30
31 nativeBuildInputs = [
32 meson
33 ninja
34 pkg-config
35 vala
36 wrapGAppsHook4
37 ];
38
39 buildInputs = [
40 glib
41 granite7
42 gst_all_1.gst-plugins-bad
43 gst_all_1.gst-plugins-base
44 (gst_all_1.gst-plugins-good.override { gtkSupport = true; })
45 gst_all_1.gst-plugins-rs # GTK 4 sink
46 gst_all_1.gst-plugins-ugly
47 gst_all_1.gstreamer
48 gtk4
49 libadwaita
50 libcanberra
51 libgee
52 ];
53
54 passthru = {
55 updateScript = nix-update-script { };
56 };
57
58 meta = with lib; {
59 description = "Camera app designed for elementary OS";
60 homepage = "https://github.com/elementary/camera";
61 license = licenses.gpl3Plus;
62 platforms = platforms.linux;
63 teams = [ teams.pantheon ];
64 mainProgram = "io.elementary.camera";
65 };
66}