linuxPackages_latest.broadcom_sta: add patch to compile on Kernel 6.12 (#359484)
[NixPkgs.git] / pkgs / by-name / ce / celluloid / package.nix
blob4b8743c90952d419496bbb48339d67c9ad0d2ae1
1 { lib
2 , stdenv
3 , fetchFromGitHub
4 , appstream-glib
5 , desktop-file-utils
6 , glib
7 , gtk4
8 , libGL
9 , libepoxy
10 , libadwaita
11 , meson
12 , mpv
13 , ninja
14 , nix-update-script
15 , pkg-config
16 , python3
17 , wrapGAppsHook4
18 , yt-dlp
19 , youtubeSupport ? true
22 stdenv.mkDerivation (finalAttrs: {
23   pname = "celluloid";
24   version = "0.27";
26   src = fetchFromGitHub {
27     owner = "celluloid-player";
28     repo = "celluloid";
29     rev = "v${finalAttrs.version}";
30     hash = "sha256-zuYt7taIb4w3NIszUpnSYvLIdYQH492tBwhLa6IgWDw=";
31   };
33   nativeBuildInputs = [
34     appstream-glib
35     desktop-file-utils
36     meson
37     ninja
38     pkg-config
39     python3
40     wrapGAppsHook4
41   ];
43   buildInputs = [
44     glib
45     gtk4
46     libGL
47     libadwaita
48     libepoxy
49     mpv
50   ];
52   postPatch = ''
53     patchShebangs meson-post-install.py src/generate-authors.py
54   '';
56   preFixup = lib.optionalString youtubeSupport ''
57     gappsWrapperArgs+=(
58       --prefix PATH : "${lib.makeBinPath [ yt-dlp ]}"
59     )
60   '';
62   strictDeps = true;
64   doCheck = true;
66   passthru.updateScript = nix-update-script { };
68   meta = {
69     homepage = "https://github.com/celluloid-player/celluloid";
70     description = "Simple GTK frontend for the mpv video player";
71     longDescription = ''
72       Celluloid (formerly GNOME MPV) is a simple GTK+ frontend for mpv.
73       Celluloid interacts with mpv via the client API exported by libmpv,
74       allowing access to mpv's powerful playback capabilities.
75     '';
76     changelog = "https://github.com/celluloid-player/celluloid/releases/tag/${finalAttrs.src.rev}";
77     license = lib.licenses.gpl3Plus;
78     mainProgram = "celluloid";
79     maintainers = with lib.maintainers; [ AndersonTorres ];
80     platforms = lib.platforms.linux;
81   };