diff --git a/pkgs/applications/video/clipgrab/default.nix b/pkgs/applications/video/clipgrab/default.nix deleted file mode 100644 index b3f633374529..000000000000 --- a/pkgs/applications/video/clipgrab/default.nix +++ /dev/null @@ -1,96 +0,0 @@ -{ - lib, - stdenv, - fetchurl, - makeDesktopItem, - ffmpeg, - qmake, - qttools, - wrapQtAppsHook, - qtbase, - qtdeclarative, - qtlocation, - qtquickcontrols2, - qtwebchannel, - qtwebengine, - yt-dlp, -}: - -stdenv.mkDerivation rec { - pname = "clipgrab"; - version = "3.9.7"; - - src = fetchurl { - sha256 = "sha256-9H8raJd6MyyFICY8WUZQGLJ4teKPJUiQfqbu1HWAVIw="; - # The .tar.bz2 "Download" link is a binary blob, the source is the .tar.gz! - url = "https://download.clipgrab.org/${pname}-${version}.tar.gz"; - }; - - buildInputs = [ - ffmpeg - qtbase - qtdeclarative - qtlocation - qtquickcontrols2 - qtwebchannel - qtwebengine - ]; - nativeBuildInputs = [ - qmake - qttools - wrapQtAppsHook - ]; - - patches = [ - ./yt-dlp-path.patch - ]; - - postPatch = '' - substituteInPlace youtube_dl.cpp \ - --replace 'QString YoutubeDl::path = QString();' \ - 'QString YoutubeDl::path = QString("${yt-dlp}/bin/yt-dlp");' - '' - + lib.optionalString (ffmpeg != null) '' - substituteInPlace converter_ffmpeg.cpp \ - --replace '"ffmpeg"' '"${ffmpeg.bin}/bin/ffmpeg"' \ - --replace '"ffmpeg ' '"${ffmpeg.bin}/bin/ffmpeg ' - ''; - - qmakeFlags = [ "clipgrab.pro" ]; - - desktopItem = makeDesktopItem rec { - name = "clipgrab"; - exec = name; - icon = name; - desktopName = "ClipGrab"; - comment = meta.description; - genericName = "Web video downloader"; - categories = [ - "Qt" - "AudioVideo" - "Audio" - "Video" - ]; - }; - - installPhase = '' - runHook preInstall - install -Dm755 clipgrab $out/bin/clipgrab - install -Dm644 icon.png $out/share/pixmaps/clipgrab.png - cp -r ${desktopItem}/share/applications $out/share - runHook postInstall - ''; - - meta = { - description = "Video downloader for YouTube and other sites"; - longDescription = '' - ClipGrab is a free downloader and converter for YouTube, Vimeo, Metacafe, - Dailymotion and many other online video sites. It converts downloaded - videos to MPEG4, MP3 or other formats in just one easy step. - ''; - homepage = "https://clipgrab.org/"; - license = lib.licenses.gpl3Plus; - platforms = lib.platforms.linux; - mainProgram = "clipgrab"; - }; -} diff --git a/pkgs/applications/video/clipgrab/yt-dlp-path.patch b/pkgs/applications/video/clipgrab/yt-dlp-path.patch deleted file mode 100644 index 5a9a4b6dcc48..000000000000 --- a/pkgs/applications/video/clipgrab/yt-dlp-path.patch +++ /dev/null @@ -1,86 +0,0 @@ ---- a/main.cpp -+++ b/main.cpp -@@ -91,14 +91,5 @@ int main(int argc, char *argv[]) - w.show(); - } - -- QTimer::singleShot(0, [=] { -- cg->getUpdateInfo(); -- QObject::connect(cg, &ClipGrab::updateInfoProcessed, [cg] { -- bool force = QSettings().value("forceYoutubeDlDownload", false).toBool(); -- if (force) QSettings().setValue("forceYoutubeDlDownload", false); -- cg->downloadYoutubeDl(force); -- }); -- }); -- - return app.exec(); - } ---- a/youtube_dl.cpp -+++ b/youtube_dl.cpp -@@ -8,52 +8,16 @@ YoutubeDl::YoutubeDl() - QString YoutubeDl::path = QString(); - - QString YoutubeDl::find(bool force) { -- if (!force && !path.isEmpty()) return path; -- -- // Prefer downloaded youtube-dl -- QString localPath = QStandardPaths::locate(QStandardPaths::AppDataLocation, "yt-dlp"); -- QProcess* process = instance(localPath, QStringList() << "--version"); -- process->start(); -- process->waitForFinished(); -- process->deleteLater(); -- if (process->state() != QProcess::NotRunning) process->kill(); -- if (process->exitCode() == QProcess::ExitStatus::NormalExit) { -- path = localPath; -- return path; -- } -- -- // Try system-wide youtube-dlp installation -- QString globalPath = QStandardPaths::findExecutable("yt-dlp"); -- process = instance(globalPath, QStringList() << "--version"); -- process->start(); -- process->waitForFinished(); -- process->deleteLater(); -- if (process->state() != QProcess::NotRunning) process->kill(); -- if (process->exitCode() == QProcess::ExitStatus::NormalExit) { -- path = globalPath; -- return path; -- } -- -- return ""; -+ // We supply yt-dlp from nixpkgs, so the downloading -+ // machinery is not needed anymore. -+ (void)force; -+ return path; - } - - QProcess* YoutubeDl::instance(QStringList arguments) { -- return instance(find(), arguments); --} -- --QProcess* YoutubeDl::instance(QString path, QStringList arguments) { - QProcess *process = new QProcess(); - -- QString execPath = QCoreApplication::applicationDirPath(); -- QProcessEnvironment env = QProcessEnvironment::systemEnvironment(); -- env.insert("PATH", execPath + ":" + env.value("PATH")); -- process->setEnvironment(env.toStringList()); -- -- #if defined Q_OS_WIN -- process->setProgram(execPath + "/python/python.exe"); -- #else -- process->setProgram(QStandardPaths::findExecutable("python3")); -- #endif -+ process->setProgram(path); - - QSettings settings; - QStringList proxyArguments; -@@ -81,7 +45,7 @@ QProcess* YoutubeDl::instance(QString path, QStringList arguments) { - networkArguments << "--force-ipv4"; - } - -- process->setArguments(QStringList() << path << arguments << proxyArguments << networkArguments); -+ process->setArguments(QStringList() << arguments << proxyArguments << networkArguments); - return process; - } - diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index d4b2ef19f55e..08e8f08234a1 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -508,6 +508,7 @@ mapAliases { cli-visualizer = throw "'cli-visualizer' has been removed as the upstream repository is gone"; # Added 2025-06-05 clima = throw "'clima' has been removed, as it has been unmaintained upstream since December 2024, use glow instead"; # Added 2026-01-01 clipbuzz = throw "clipbuzz has been removed, as it does not build with supported Zig versions"; # Added 2025-08-09 + clipgrab = throw "'clipgrab' has been removed, as it was unmaintained in nixpkgs since 2022 and depended on vulnerable qt5 webengine."; # Added 2026-02-11 cloudlogoffline = throw "cloudlogoffline has been removed"; # Added 2025-05-18 clucene_core = warnAlias "'clucene_core' has been renamed to 'clucene-core'" clucene-core; # Added 2026-01-12 clucene_core_2 = warnAlias "'clucene_core_2' has been renamed to 'clucene-core_2'" clucene-core_2; # Added 2026-01-12 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 2cc92f7d4673..4b0c89740a47 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -9168,8 +9168,6 @@ with pkgs; chromium = callPackage ../applications/networking/browsers/chromium (config.chromium or { }); - clipgrab = libsForQt5.callPackage ../applications/video/clipgrab { }; - cni = callPackage ../applications/networking/cluster/cni { }; cni-plugins = callPackage ../applications/networking/cluster/cni/plugins.nix { };