From 2139289f87e84e36cc5655ece49730136742a0cb Mon Sep 17 00:00:00 2001 From: aleksana Date: Thu, 17 Apr 2025 10:57:45 +0800 Subject: [PATCH 1/4] clapper-unwrapped: separated from clapper --- pkgs/by-name/cl/clapper-unwrapped/package.nix | 86 +++++++++++++++++++ 1 file changed, 86 insertions(+) create mode 100644 pkgs/by-name/cl/clapper-unwrapped/package.nix diff --git a/pkgs/by-name/cl/clapper-unwrapped/package.nix b/pkgs/by-name/cl/clapper-unwrapped/package.nix new file mode 100644 index 000000000000..15b6030d8bdb --- /dev/null +++ b/pkgs/by-name/cl/clapper-unwrapped/package.nix @@ -0,0 +1,86 @@ +{ + lib, + stdenv, + fetchFromGitHub, + gobject-introspection, + pkg-config, + ninja, + desktop-file-utils, + shared-mime-info, + meson, + gtk4, + gst_all_1, + libGL, + libadwaita, + libsoup_3, + vala, + cmake, + libmicrodns, + glib-networking, + libpeas2, +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "clapper-unwrapped"; + version = "0.8.0"; + + outputs = [ + "out" + "lib" + "dev" + ]; + + src = fetchFromGitHub { + owner = "Rafostar"; + repo = "clapper"; + tag = finalAttrs.version; + hash = "sha256-Yb2fWsdd8jhxkGWKanLn7CAuF4MjyQ27XTrO8ja3hfs="; + }; + + nativeBuildInputs = [ + gobject-introspection + meson + cmake + ninja + pkg-config + desktop-file-utils # for update-desktop-database + shared-mime-info # for update-mime-database + vala + ]; + + 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 + glib-networking # for TLS support + gtk4 + libGL + libadwaita + libsoup_3 + libmicrodns + libpeas2 + ]; + + postPatch = '' + patchShebangs --build build-aux/meson/postinstall.py + ''; + + preFixup = '' + mkdir -p $out/share/gsettings-schemas + cp -r $lib/share/gsettings-schemas/clapper-unwrapped-$version $out/share/gsettings-schemas/clapper-$version + ''; + + 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; + }; +}) From 6767c5a8af444d78124289aa49f20dea49d06996 Mon Sep 17 00:00:00 2001 From: aleksana Date: Thu, 17 Apr 2025 10:57:56 +0800 Subject: [PATCH 2/4] clapper-enhancers: init at 0.8.2 --- pkgs/by-name/cl/clapper-enhancers/package.nix | 72 +++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 pkgs/by-name/cl/clapper-enhancers/package.nix diff --git a/pkgs/by-name/cl/clapper-enhancers/package.nix b/pkgs/by-name/cl/clapper-enhancers/package.nix new file mode 100644 index 000000000000..4de5dca52635 --- /dev/null +++ b/pkgs/by-name/cl/clapper-enhancers/package.nix @@ -0,0 +1,72 @@ +{ + lib, + stdenv, + fetchFromGitHub, + meson, + ninja, + pkg-config, + gobject-introspection, + libpeas2, + json-glib, + libsoup_3, + glib, + clapper-unwrapped, + gst_all_1, + python3Packages, +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "clapper-enhancers"; + version = "0.8.2"; + + src = fetchFromGitHub { + owner = "Rafostar"; + repo = "clapper-enhancers"; + tag = finalAttrs.version; + hash = "sha256-CUfTz+YvliJXiv/nsdrpDVFSblqoSW7js8vAtJ9u5vM="; + }; + + nativeBuildInputs = [ + meson + ninja + pkg-config + gobject-introspection + python3Packages.python + python3Packages.wrapPython + ]; + + buildInputs = [ + libpeas2 + json-glib + libsoup_3 + glib + clapper-unwrapped + 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 + ]; + + pythonPath = with python3Packages; [ + yt-dlp + ]; + + postFixup = '' + buildPythonPath "$out $pythonPath" + for yt_plugin in $out/lib/clapper-enhancers/plugins/yt-dlp/*.py; do + patchPythonScript $yt_plugin + done + ''; + + mesonFlags = [ "-Denhancersdir=${placeholder "out"}/${finalAttrs.passthru.pluginPath}" ]; + + passthru.pluginPath = "lib/clapper-enhancers/plugins"; + + meta = { + description = "Plugins enhancing Clapper library capabilities"; + homepage = "https://github.com/Rafostar/clapper-enhancers"; + license = lib.licenses.lgpl21Only; + inherit (clapper-unwrapped.meta) maintainers platforms; + }; +}) From 7ebb53f8c3a5db4dc33bebf7bdc1f37bf6801bb7 Mon Sep 17 00:00:00 2001 From: aleksana Date: Thu, 17 Apr 2025 11:56:57 +0800 Subject: [PATCH 3/4] 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; - }; -}) +} From 39bb1dde01ff506a8b9702f7aad3a1c44ecbe3a2 Mon Sep 17 00:00:00 2001 From: aleksana Date: Thu, 17 Apr 2025 12:03:20 +0800 Subject: [PATCH 4/4] treewide: use clapper-unwrapped instead of clapper --- pkgs/by-name/ne/newsflash/package.nix | 4 ++-- pkgs/by-name/pi/pipeline/package.nix | 4 ++-- pkgs/by-name/te/televido/package.nix | 4 ++-- pkgs/by-name/tu/tuba/package.nix | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/pkgs/by-name/ne/newsflash/package.nix b/pkgs/by-name/ne/newsflash/package.nix index 2c89c3e550e3..26f7cf614a6f 100644 --- a/pkgs/by-name/ne/newsflash/package.nix +++ b/pkgs/by-name/ne/newsflash/package.nix @@ -12,7 +12,7 @@ rustc, wrapGAppsHook4, gdk-pixbuf, - clapper, + clapper-unwrapped, gtk4, libadwaita, libxml2, @@ -66,7 +66,7 @@ stdenv.mkDerivation (finalAttrs: { buildInputs = [ - clapper + clapper-unwrapped gtk4 libadwaita libxml2 diff --git a/pkgs/by-name/pi/pipeline/package.nix b/pkgs/by-name/pi/pipeline/package.nix index d86d5ee726f5..350a2157def2 100644 --- a/pkgs/by-name/pi/pipeline/package.nix +++ b/pkgs/by-name/pi/pipeline/package.nix @@ -17,7 +17,7 @@ desktop-file-utils, blueprint-compiler, sqlite, - clapper, + clapper-unwrapped, gettext, gst_all_1, gtuber, @@ -63,7 +63,7 @@ stdenv.mkDerivation (finalAttrs: { libadwaita openssl sqlite - clapper + clapper-unwrapped gst_all_1.gstreamer gst_all_1.gst-libav diff --git a/pkgs/by-name/te/televido/package.nix b/pkgs/by-name/te/televido/package.nix index 1a3e5ce4658c..086351af1eb1 100644 --- a/pkgs/by-name/te/televido/package.nix +++ b/pkgs/by-name/te/televido/package.nix @@ -14,7 +14,7 @@ desktop-file-utils, openssl, gst_all_1, - clapper, + clapper-unwrapped, }: stdenv.mkDerivation rec { @@ -49,7 +49,7 @@ stdenv.mkDerivation rec { buildInputs = [ libadwaita desktop-file-utils - clapper + clapper-unwrapped gst_all_1.gstreamer gst_all_1.gst-plugins-base gst_all_1.gst-libav diff --git a/pkgs/by-name/tu/tuba/package.nix b/pkgs/by-name/tu/tuba/package.nix index 93ff59a89383..d3f9e53b1c2e 100644 --- a/pkgs/by-name/tu/tuba/package.nix +++ b/pkgs/by-name/tu/tuba/package.nix @@ -27,7 +27,7 @@ webp-pixbuf-loader, icu, gst_all_1, - clapper, + clapper-unwrapped, # clapper support is still experimental and has bugs. # See https://github.com/GeopJr/Tuba/pull/931 clapperSupport ? false, @@ -80,7 +80,7 @@ stdenv.mkDerivation rec { gst-plugins-bad ]) ++ lib.optionals clapperSupport [ - clapper + clapper-unwrapped ]; mesonFlags = [