Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{
2 lib,
3 fetchFromGitHub,
4 rustPlatform,
5 pkg-config,
6 mpv-unwrapped,
7 ffmpeg,
8 libadwaita,
9 gst_all_1,
10 openssl,
11 libepoxy,
12 wrapGAppsHook4,
13 nix-update-script,
14 stdenv,
15 meson,
16 ninja,
17 rustc,
18 cargo,
19 dbus,
20 desktop-file-utils,
21 versionCheckHook,
22}:
23stdenv.mkDerivation rec {
24 pname = "tsukimi";
25 version = "0.21.0";
26
27 src = fetchFromGitHub {
28 owner = "tsukinaha";
29 repo = "tsukimi";
30 tag = "v${version}";
31 hash = "sha256-FmxNOMYHoQK//v4ZGvJ6vIHKYgMfQm7LTwQV9iEFo0A=";
32 };
33
34 cargoDeps = rustPlatform.fetchCargoVendor {
35 inherit src;
36 hash = "sha256-iH7vCZhCN2/gu2EC+YG/LUL9N/HMMnj7qHqXUdrlAh8=";
37 };
38
39 nativeBuildInputs = [
40 pkg-config
41 wrapGAppsHook4
42 meson
43 ninja
44 rustPlatform.cargoSetupHook
45 rustc
46 cargo
47 desktop-file-utils
48 ];
49
50 buildInputs = [
51 mpv-unwrapped
52 ffmpeg
53 libadwaita
54 openssl
55 libepoxy
56 dbus
57 ]
58 ++ (with gst_all_1; [
59 gstreamer
60 gst-plugins-base
61 gst-plugins-good
62 gst-plugins-bad
63 gst-plugins-ugly
64 gst-libav
65 ]);
66
67 nativeInstallCheckInputs = [ versionCheckHook ];
68 versionCheckProgramArg = "--version";
69 doInstallCheck = true;
70
71 passthru.updateScript = nix-update-script { };
72
73 meta = {
74 description = "Simple third-party Emby client, featured with GTK4-RS, MPV and GStreamer";
75 homepage = "https://github.com/tsukinaha/tsukimi";
76 license = lib.licenses.gpl3Plus;
77 maintainers = with lib.maintainers; [
78 merrkry
79 aleksana
80 ];
81 mainProgram = "tsukimi";
82 platforms = lib.platforms.linux;
83 };
84}