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