nixpkgs/pkgs/by-name/tw/twitch-dl/package.nix

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

85 lines
1.6 KiB
Nix
Raw Normal View History

2023-05-13 04:20:00 +00:00
{ lib
, fetchFromGitHub
, python3Packages
, installShellFiles
, scdoc
, ffmpeg
2023-05-13 04:20:00 +00:00
}:
python3Packages.buildPythonApplication rec {
pname = "twitch-dl";
version = "2.9.2";
pyproject = true;
2023-05-13 04:20:00 +00:00
src = fetchFromGitHub {
owner = "ihabunek";
repo = "twitch-dl";
rev = "refs/tags/${version}";
hash = "sha256-BIE3+SDmc5ggF9P+qeloI1JYYrEtOJQ/8oDR76i0t6c=";
2023-05-13 04:20:00 +00:00
};
pythonRelaxDeps = [
"m3u8"
];
nativeBuildInputs = [
python3Packages.setuptools
python3Packages.setuptools-scm
2023-05-13 04:20:00 +00:00
installShellFiles
scdoc
];
2023-05-13 04:20:00 +00:00
propagatedBuildInputs = with python3Packages; [
click
2023-05-13 04:20:00 +00:00
httpx
m3u8
];
nativeCheckInputs = [
python3Packages.pytestCheckHook
];
2023-05-13 04:20:00 +00:00
disabledTestPaths = [
# Requires network access
"tests/test_api.py"
"tests/test_cli.py"
2023-05-13 04:20:00 +00:00
];
pythonImportsCheck = [
"twitchdl"
"twitchdl.cli"
"twitchdl.naming"
"twitchdl.entities"
"twitchdl.http"
"twitchdl.output"
"twitchdl.playlists"
"twitchdl.progress"
"twitchdl.twitch"
"twitchdl.utils"
"twitchdl.commands"
2023-05-13 04:20:00 +00:00
];
makeWrapperArgs = [
"--prefix" "PATH" ":" (lib.makeBinPath [ ffmpeg ])
];
2023-05-13 04:20:00 +00:00
postInstall = ''
scdoc < twitch-dl.1.scd > twitch-dl.1
installManPage twitch-dl.1
'';
preInstallCheck = ''
export HOME="$(mktemp -d)"
'';
2023-05-13 04:20:00 +00:00
meta = with lib; {
description = "CLI tool for downloading videos from Twitch";
homepage = "https://github.com/ihabunek/twitch-dl";
changelog = "https://github.com/ihabunek/twitch-dl/blob/${src.rev}/CHANGELOG.md";
2023-05-13 04:20:00 +00:00
license = licenses.gpl3Only;
maintainers = with maintainers; [ pbsds hausken ];
2023-11-27 01:17:53 +00:00
mainProgram = "twitch-dl";
2023-05-13 04:20:00 +00:00
};
}