rio: 0.0.36 -> 0.0.37
[NixPkgs.git] / pkgs / tools / networking / ytcc / default.nix
blob5e326316817affe5d9ad31e25d38cd005a74f700
1 { lib, python3Packages, fetchFromGitHub, gettext, installShellFiles }:
3 python3Packages.buildPythonApplication rec {
4   pname = "ytcc";
5   version = "2.6.1";
6   pyproject = true;
8   src = fetchFromGitHub {
9     owner = "woefe";
10     repo = "ytcc";
11     rev = "v${version}";
12     hash = "sha256-pC2uoog+nev/Xa6UbXX4vX00VQQLHtZzbVkxrxO/Pg8=";
13   };
15   nativeBuildInputs = [
16     gettext
17     installShellFiles
18   ] ++ (with python3Packages; [
19     setuptools
20   ]);
22   propagatedBuildInputs = with python3Packages; [
23     yt-dlp
24     click
25     wcwidth
26   ];
28   nativeCheckInputs = with python3Packages; [
29     pytestCheckHook
30   ];
32   # Disable tests that touch network or shell out to commands
33   disabledTests = [
34     "get_channels"
35     "play_video"
36     "download_videos"
37     "update_all"
38     "add_channel_duplicate"
39     "test_subscribe"
40     "test_import"
41     "test_import_duplicate"
42     "test_update"
43     "test_download"
44   ];
46   postInstall = ''
47     installManPage doc/ytcc.1
48     installShellCompletion --cmd ytcc \
49       --bash scripts/completions/bash/ytcc.completion.sh \
50       --fish scripts/completions/fish/ytcc.fish \
51       --zsh scripts/completions/zsh/_ytcc
52   '';
54   meta = {
55     description = "Command Line tool to keep track of your favourite YouTube channels without signing up for a Google account";
56     homepage = "https://github.com/woefe/ytcc";
57     license = lib.licenses.gpl3Plus;
58     maintainers = with lib.maintainers; [ marius851000 ];
59   };