forgejo-lts: 7.0.10 -> 7.0.11
[NixPkgs.git] / pkgs / by-name / ts / tsukimi / package.nix
bloba1cf6380d0c0425a00712556415bf1f14d85e471
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   makeDesktopItem,
14   stdenv,
15   nix-update-script,
17 rustPlatform.buildRustPackage rec {
18   pname = "tsukimi";
19   version = "0.16.9";
21   src = fetchFromGitHub {
22     owner = "tsukinaha";
23     repo = "tsukimi";
24     rev = "v${version}";
25     hash = "sha256-SeABeXg2dpGYxGiDDwn811egRe8BYVdxK8hz7qfBagQ=";
26     fetchSubmodules = true;
27   };
29   cargoHash = "sha256-o6FjBauHjdhxNXpqlJc/yNNTkRJyX3R4smAMrdFUjLA=";
31   nativeBuildInputs = [
32     pkg-config
33     wrapGAppsHook4
34   ];
36   buildInputs =
37     [
38       mpv-unwrapped
39       ffmpeg
40       libadwaita
41       openssl
42       libepoxy
43     ]
44     ++ (with gst_all_1; [
45       gstreamer
46       gst-plugins-base
47       gst-plugins-good
48       gst-plugins-bad
49       gst-plugins-ugly
50       gst-libav
51     ]);
53   doCheck = false; # tests require networking
55   postPatch = ''
56     substituteInPlace build.rs \
57       --replace-fail 'i18n/locale' "$out/share/locale"
59     substituteInPlace src/main.rs \
60       --replace-fail '/usr/share/locale' "$out/share/locale"
61   '';
63   postInstall = ''
64     install -Dm644 resources/moe.tsuna.tsukimi.gschema.xml -t $out/share/glib-2.0/schemas
65     glib-compile-schemas $out/share/glib-2.0/schemas
67     install -Dm644 resources/icons/tsukimi.png -t $out/share/pixmaps
69     install -Dm644 resources/moe.tsuna.tsukimi.desktop.in $out/share/applications/moe.tsuna.tsukimi.desktop
70   '';
72   passthru.updateScript = nix-update-script { };
74   meta = {
75     description = "Simple third-party Emby client, featured with GTK4-RS, MPV and GStreamer";
76     homepage = "https://github.com/tsukinaha/tsukimi";
77     license = lib.licenses.gpl3Plus;
78     maintainers = with lib.maintainers; [
79       merrkry
80       aleksana
81     ];
82     mainProgram = "tsukimi";
83     platforms = lib.platforms.linux;
84     # libmpv2 crate fail to compile
85     # expected raw pointer `*const u8` found raw pointer `*const i8`
86     broken = stdenv.hostPlatform.isAarch64;
87   };