clapper: rewrite as a wrapper

This commit is contained in:
aleksana 2025-04-17 11:56:57 +08:00
parent 6767c5a8af
commit 7ebb53f8c3

View File

@ -1,88 +1,41 @@
{ {
lib, stdenvNoCC,
stdenv, clapper-unwrapped,
fetchFromGitHub,
gobject-introspection,
pkg-config,
ninja,
desktop-file-utils,
makeWrapper,
shared-mime-info,
wrapGAppsHook4, wrapGAppsHook4,
meson, gobject-introspection,
gtk4, xorg,
gst_all_1, clapper-enhancers,
libGL,
libadwaita,
libsoup_3,
vala,
cmake,
libmicrodns,
gtuber,
glib-networking,
libpeas2,
}: }:
stdenv.mkDerivation (finalAttrs: { stdenvNoCC.mkDerivation {
pname = "clapper"; pname = "clapper";
version = "0.8.0"; inherit (clapper-unwrapped) version meta;
src = fetchFromGitHub { src = clapper-unwrapped;
owner = "Rafostar";
repo = "clapper"; dontConfigure = true;
tag = finalAttrs.version; dontBuild = true;
hash = "sha256-Yb2fWsdd8jhxkGWKanLn7CAuF4MjyQ27XTrO8ja3hfs=";
};
nativeBuildInputs = [ nativeBuildInputs = [
wrapGAppsHook4
gobject-introspection gobject-introspection
meson xorg.lndir
cmake
ninja
makeWrapper
pkg-config
wrapGAppsHook4 # for gsettings
desktop-file-utils # for update-desktop-database
shared-mime-info # for update-mime-database
vala
]; ];
buildInputs = [ buildInputs = [ clapper-unwrapped ] ++ clapper-unwrapped.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
];
postPatch = '' installPhase = ''
patchShebangs --build build-aux/meson/postinstall.py runHook preInstall
mkdir -p $out
lndir $src $out
runHook postInstall
''; '';
# The package uses "clappersink" provided by itself
preFixup = '' preFixup = ''
gappsWrapperArgs+=( 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;
};
})