chromium,chromedriver: 129.0.6668.91 -> 129.0.6668.100
[NixPkgs.git] / pkgs / by-name / ts / tsukimi / package.nix
blob7d8889079a7fa2aae3682a5ed8b9151496bd6326
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   copyDesktopItems,
15   stdenv,
17 rustPlatform.buildRustPackage rec {
18   pname = "tsukimi";
19   version = "0.12.2";
21   src = fetchFromGitHub {
22     owner = "tsukinaha";
23     repo = "tsukimi";
24     rev = "v${version}";
25     hash = "sha256-pJ+SUNGQS/kqBdOg21GgDeZThcjnB0FhgG00qLfqxYA=";
26   };
28   cargoHash = "sha256-PCJiSyfEgK8inzoRmRvnAU50kLnyVhNrgLrwtBUFpIU=";
30   nativeBuildInputs = [
31     pkg-config
32     wrapGAppsHook4
33     copyDesktopItems
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   desktopItems = [
56     (makeDesktopItem {
57       name = "Tsukimi";
58       exec = "tsukimi";
59       type = "Application";
60       icon = "tsukimi";
61       categories = [ "AudioVideo" ];
62       startupWMClass = "moe.tsuna.tsukimi";
63       desktopName = "Tsukimi";
64     })
65   ];
67   postPatch = ''
68     substituteInPlace build.rs \
69       --replace-fail 'i18n/locale' "$out/share/locale"
71     substituteInPlace src/main.rs \
72       --replace-fail '/usr/share/locale' "$out/share/locale"
73   '';
75   postInstall = ''
76     install -Dm644 moe.tsuna.tsukimi.gschema.xml -t $out/share/glib-2.0/schemas
77     glib-compile-schemas $out/share/glib-2.0/schemas
79     install -Dm644 resources/ui/icons/tsukimi.png -t $out/share/pixmaps
80   '';
82   meta = {
83     description = "Simple third-party Emby client, featured with GTK4-RS, MPV and GStreamer";
84     homepage = "https://github.com/tsukinaha/tsukimi";
85     license = lib.licenses.gpl3Plus;
86     maintainers = with lib.maintainers; [
87       merrkry
88       aleksana
89     ];
90     mainProgram = "tsukimi";
91     platforms = lib.platforms.linux;
92     # libmpv2 crate fail to compile
93     # expected raw pointer `*const u8` found raw pointer `*const i8`
94     broken = stdenv.hostPlatform.isAarch64;
95   };