about summary refs log tree commit diff
path: root/pkgs/by-name/ce
diff options
context:
space:
mode:
authorAnderson Torres <torres.anderson.85@protonmail.com>2023-09-17 09:44:17 -0300
committerAnderson Torres <torres.anderson.85@protonmail.com>2023-09-17 15:47:03 -0300
commit30cca2e6f7370a0414cc0e2d1e04ae0d64bc060e (patch)
tree304a8845dbc63f1f8665ccf9248738902a5285ba /pkgs/by-name/ce
parent093194d747726f95058f5ee003dc39e5cb2078b4 (diff)
celluloid: refactor
- finalAttrs
- strictDeps
- meta.changelog and meta.mainProgram
Diffstat (limited to 'pkgs/by-name/ce')
-rw-r--r--pkgs/by-name/ce/celluloid/package.nix72
1 files changed, 72 insertions, 0 deletions
diff --git a/pkgs/by-name/ce/celluloid/package.nix b/pkgs/by-name/ce/celluloid/package.nix
new file mode 100644
index 0000000000000..c0ada66edc605
--- /dev/null
+++ b/pkgs/by-name/ce/celluloid/package.nix
@@ -0,0 +1,72 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, appstream-glib
+, desktop-file-utils
+, glib
+, gtk4
+, libepoxy
+, libadwaita
+, meson
+, mpv
+, ninja
+, nix-update-script
+, pkg-config
+, python3
+, wrapGAppsHook4
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "celluloid";
+  version = "0.26";
+
+  src = fetchFromGitHub {
+    owner = "celluloid-player";
+    repo = "celluloid";
+    rev = "v${finalAttrs.version}";
+    hash = "sha256-npaagLlkwDe0r0hqj7buM4B9sbLCX1sR2yFXXj+obdE=";
+  };
+
+  nativeBuildInputs = [
+    appstream-glib
+    desktop-file-utils
+    meson
+    ninja
+    pkg-config
+    python3
+    wrapGAppsHook4
+  ];
+
+  buildInputs = [
+    glib
+    gtk4
+    libadwaita
+    libepoxy
+    mpv
+  ];
+
+  postPatch = ''
+    patchShebangs meson-post-install.py src/generate-authors.py
+  '';
+
+  strictDeps = true;
+
+  doCheck = true;
+
+  passthru.updateScript = nix-update-script { };
+
+  meta = {
+    homepage = "https://github.com/celluloid-player/celluloid";
+    description = "Simple GTK frontend for the mpv video player";
+    longDescription = ''
+      Celluloid (formerly GNOME MPV) is a simple GTK+ frontend for mpv.
+      Celluloid interacts with mpv via the client API exported by libmpv,
+      allowing access to mpv's powerful playback capabilities.
+    '';
+    changelog = "https://github.com/celluloid-player/celluloid/releases/tag/${finalAttrs.src.rev}";
+    license = lib.licenses.gpl3Plus;
+    mainProgram = "celluloid";
+    maintainers = with lib.maintainers; [ AndersonTorres ];
+    platforms = lib.platforms.linux;
+  };
+})