depot/third_party/nixpkgs/pkgs/by-name/me/media-downloader/package.nix

68 lines
1.8 KiB
Nix
Raw Normal View History

{
aria2,
cmake,
# https://github.com/mhogomchungu/media-downloader?tab=readme-ov-file#extensions
extraPackages ? [
aria2
yt-dlp
ffmpeg
python3
],
fetchFromGitHub,
ffmpeg,
lib,
libsForQt5,
python3,
stdenv,
yt-dlp,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "media-downloader";
version = "4.7.0";
src = fetchFromGitHub {
owner = "mhogomchungu";
repo = "media-downloader";
rev = finalAttrs.version;
hash = "sha256-ykPYxRgzKZrA0KwS1FoxZOkSL+7TbLgy0yLfs7Iqpf4=";
};
# Disable automatically updating extensions when starting the program because this will
# invalidate the dependence on extensions and may cause potential security issues
# Can still be enabled in Configure > Actions At Startup
postPatch = ''
substituteInPlace src/settings.cpp \
--replace-fail '"ShowVersionInfoAndAutoDownloadUpdates",true' '"ShowVersionInfoAndAutoDownloadUpdates",false' \
'';
nativeBuildInputs = [
cmake
libsForQt5.wrapQtAppsHook
];
buildInputs = [ libsForQt5.qtbase ];
qtWrapperArgs = [ "--prefix PATH : ${lib.makeBinPath extraPackages}" ];
meta = {
description = "Qt/C++ GUI front end for yt-dlp and others";
longDescription = ''
Media Downloader is a GUI front end to yt-dlp, youtube-dl, gallery-dl,
lux, you-get, svtplay-dl, aria2c, wget and safari books.
Read https://github.com/mhogomchungu/media-downloader/wiki/Extensions
for further information. We have packaged most of them, and they can
be added by overriding `extraPackages`.
'';
homepage = "https://github.com/mhogomchungu/media-downloader";
license = lib.licenses.gpl2Plus;
maintainers = with lib.maintainers; [
zendo
aleksana
];
platforms = lib.platforms.linux;
mainProgram = "media-downloader";
};
})