clipgrab: drop

This commit is contained in:
Grimmauld
2026-04-26 19:25:47 +02:00
parent 9d952d2ee0
commit b466dce63d
4 changed files with 1 additions and 184 deletions
@@ -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";
};
}
@@ -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;
}
+1
View File
@@ -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
-2
View File
@@ -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 { };