From 7ebb53f8c3a5db4dc33bebf7bdc1f37bf6801bb7 Mon Sep 17 00:00:00 2001 From: aleksana Date: Thu, 17 Apr 2025 11:56:57 +0800 Subject: [PATCH] clapper: rewrite as a wrapper --- pkgs/by-name/cl/clapper/package.nix | 93 +++++++---------------------- 1 file changed, 23 insertions(+), 70 deletions(-) diff --git a/pkgs/by-name/cl/clapper/package.nix b/pkgs/by-name/cl/clapper/package.nix index b1219422261a..596b03a94cd0 100644 --- a/pkgs/by-name/cl/clapper/package.nix +++ b/pkgs/by-name/cl/clapper/package.nix @@ -1,88 +1,41 @@ { - lib, - stdenv, - fetchFromGitHub, - gobject-introspection, - pkg-config, - ninja, - desktop-file-utils, - makeWrapper, - shared-mime-info, + stdenvNoCC, + clapper-unwrapped, wrapGAppsHook4, - meson, - gtk4, - gst_all_1, - libGL, - libadwaita, - libsoup_3, - vala, - cmake, - libmicrodns, - gtuber, - glib-networking, - libpeas2, + gobject-introspection, + xorg, + clapper-enhancers, }: -stdenv.mkDerivation (finalAttrs: { +stdenvNoCC.mkDerivation { pname = "clapper"; - version = "0.8.0"; + inherit (clapper-unwrapped) version meta; - src = fetchFromGitHub { - owner = "Rafostar"; - repo = "clapper"; - tag = finalAttrs.version; - hash = "sha256-Yb2fWsdd8jhxkGWKanLn7CAuF4MjyQ27XTrO8ja3hfs="; - }; + src = clapper-unwrapped; + + dontConfigure = true; + dontBuild = true; nativeBuildInputs = [ + wrapGAppsHook4 gobject-introspection - meson - cmake - ninja - makeWrapper - pkg-config - wrapGAppsHook4 # for gsettings - desktop-file-utils # for update-desktop-database - shared-mime-info # for update-mime-database - vala + xorg.lndir ]; - buildInputs = [ - gst_all_1.gstreamer - gst_all_1.gst-plugins-base - gst_all_1.gst-plugins-good - gst_all_1.gst-plugins-bad - gst_all_1.gst-plugins-ugly - gtuber - glib-networking # for TLS support - gtk4 - libGL - libadwaita - libsoup_3 - libmicrodns - libpeas2 - ]; + buildInputs = [ clapper-unwrapped ] ++ clapper-unwrapped.buildInputs; - postPatch = '' - patchShebangs --build build-aux/meson/postinstall.py + installPhase = '' + runHook preInstall + + mkdir -p $out + lndir $src $out + + runHook postInstall ''; - # The package uses "clappersink" provided by itself preFixup = '' gappsWrapperArgs+=( - --prefix GST_PLUGIN_SYSTEM_PATH_1_0 : $out/lib/gstreamer-1.0 + --set-default CLAPPER_ENHANCERS_PATH "${clapper-enhancers}/${clapper-enhancers.passthru.pluginPath}" ) ''; - - meta = { - description = "GNOME media player built using GTK4 toolkit and powered by GStreamer with OpenGL rendering"; - longDescription = '' - Clapper is a GNOME media player built using the GTK4 toolkit. - The media player is using GStreamer as a media backend. - ''; - homepage = "https://github.com/Rafostar/clapper"; - license = lib.licenses.gpl3Plus; - maintainers = with lib.maintainers; [ aleksana ]; - platforms = lib.platforms.linux; - }; -}) +}