From 491064f1e5f1791521d6b6d06b4167ae6ca88003 Mon Sep 17 00:00:00 2001 From: Samuel Dionne-Riel Date: Wed, 30 Nov 2022 22:06:52 -0500 Subject: plasmatube: Fix runtime use of yt-dlp This would end-up relying on an ambiant yt-dlp, which is bad. --- pkgs/applications/plasma-mobile/default.nix | 2 +- pkgs/applications/plasma-mobile/plasmatube.nix | 41 ----------------- ...Add-placeholders-for-runtime-dependencies.patch | 25 +++++++++++ .../plasma-mobile/plasmatube/default.nix | 51 ++++++++++++++++++++++ 4 files changed, 77 insertions(+), 42 deletions(-) delete mode 100644 pkgs/applications/plasma-mobile/plasmatube.nix create mode 100644 pkgs/applications/plasma-mobile/plasmatube/0001-Add-placeholders-for-runtime-dependencies.patch create mode 100644 pkgs/applications/plasma-mobile/plasmatube/default.nix (limited to 'pkgs/applications/plasma-mobile') diff --git a/pkgs/applications/plasma-mobile/default.nix b/pkgs/applications/plasma-mobile/default.nix index 5c3caf42eb76..48a3f1281fcb 100644 --- a/pkgs/applications/plasma-mobile/default.nix +++ b/pkgs/applications/plasma-mobile/default.nix @@ -77,7 +77,7 @@ let plasma-dialer = callPackage ./plasma-dialer.nix {}; plasma-phonebook = callPackage ./plasma-phonebook.nix {}; plasma-settings = callPackage ./plasma-settings.nix {}; - plasmatube = callPackage ./plasmatube.nix {}; + plasmatube = callPackage ./plasmatube {}; spacebar = callPackage ./spacebar.nix { inherit srcs; }; }; diff --git a/pkgs/applications/plasma-mobile/plasmatube.nix b/pkgs/applications/plasma-mobile/plasmatube.nix deleted file mode 100644 index 894af98b6d18..000000000000 --- a/pkgs/applications/plasma-mobile/plasmatube.nix +++ /dev/null @@ -1,41 +0,0 @@ -{ lib -, mkDerivation -, cmake -, extra-cmake-modules -, gst_all_1 -, kcoreaddons -, kdeclarative -, ki18n -, kirigami2 -, qtmultimedia -, qtquickcontrols2 -}: - -mkDerivation { - pname = "plasmatube"; - - nativeBuildInputs = [ - extra-cmake-modules - ]; - - buildInputs = [ - kcoreaddons - kdeclarative - ki18n - kirigami2 - qtmultimedia - qtquickcontrols2 - ] ++ (with gst_all_1; [ - gst-plugins-bad - gst-plugins-base - gst-plugins-good - gstreamer - ]); - - meta = { - description = "Youtube player powered by an invidious server"; - homepage = "https://invent.kde.org/plasma-mobile/plasmatube"; - license = lib.licenses.gpl3Plus; - maintainers = with lib.maintainers; [ dotlambda ]; - }; -} diff --git a/pkgs/applications/plasma-mobile/plasmatube/0001-Add-placeholders-for-runtime-dependencies.patch b/pkgs/applications/plasma-mobile/plasmatube/0001-Add-placeholders-for-runtime-dependencies.patch new file mode 100644 index 000000000000..704b92b2b01a --- /dev/null +++ b/pkgs/applications/plasma-mobile/plasmatube/0001-Add-placeholders-for-runtime-dependencies.patch @@ -0,0 +1,25 @@ +From 7a9405ed02b0d86839644a2c237ca7ca8b891b76 Mon Sep 17 00:00:00 2001 +From: Samuel Dionne-Riel +Date: Wed, 30 Nov 2022 21:07:56 -0500 +Subject: [PATCH] Add placeholders for runtime dependencies + +--- + src/videomodel.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/videomodel.cpp b/src/videomodel.cpp +index 4bb3451..b558f31 100644 +--- a/src/videomodel.cpp ++++ b/src/videomodel.cpp +@@ -121,7 +121,7 @@ QString VideoModel::remoteUrl() + return {}; + } + +- QString youtubeDl = QStringLiteral("yt-dlp"); ++ QString youtubeDl = QStringLiteral("@yt-dlp@"); + QStringList arguments; + arguments << QLatin1String("--dump-json") + << m_videoId; +-- +2.38.0 + diff --git a/pkgs/applications/plasma-mobile/plasmatube/default.nix b/pkgs/applications/plasma-mobile/plasmatube/default.nix new file mode 100644 index 000000000000..6e3377911f34 --- /dev/null +++ b/pkgs/applications/plasma-mobile/plasmatube/default.nix @@ -0,0 +1,51 @@ +{ lib +, mkDerivation +, cmake +, extra-cmake-modules +, gst_all_1 +, kcoreaddons +, kdeclarative +, ki18n +, kirigami2 +, qtmultimedia +, qtquickcontrols2 +, yt-dlp +}: + +mkDerivation { + pname = "plasmatube"; + + nativeBuildInputs = [ + extra-cmake-modules + ]; + + buildInputs = [ + kcoreaddons + kdeclarative + ki18n + kirigami2 + qtmultimedia + qtquickcontrols2 + ] ++ (with gst_all_1; [ + gst-plugins-bad + gst-plugins-base + gst-plugins-good + gstreamer + ]); + + patches = [ + ./0001-Add-placeholders-for-runtime-dependencies.patch + ]; + + postPatch = '' + substituteInPlace src/videomodel.cpp \ + --replace "@yt-dlp@" "${yt-dlp}/bin/yt-dlp" + ''; + + meta = { + description = "Youtube player powered by an invidious server"; + homepage = "https://invent.kde.org/plasma-mobile/plasmatube"; + license = lib.licenses.gpl3Plus; + maintainers = with lib.maintainers; [ dotlambda ]; + }; +} -- cgit v1.2.3