Merge pull request #268619 from tweag/lib-descriptions
[NixPkgs.git] / pkgs / applications / misc / haxor-news / default.nix
blobd5ea27c9d50b948e9f6f253c87d1544c3c0c58ec
1 { lib, fetchFromGitHub, fetchPypi, python3 }:
4 let
5   py = python3.override {
6     packageOverrides = self: super: {
7       self = py;
9       # not compatible with prompt_toolkit >=2.0
10       prompt-toolkit = super.prompt-toolkit.overridePythonAttrs (oldAttrs: rec {
11         name = "${oldAttrs.pname}-${version}";
12         version = "1.0.18";
13         src = oldAttrs.src.override {
14           inherit version;
15           hash = "sha256-3U/KAsgGlJetkxotCZFMaw0bUBUc6Ha8Fb3kx0cJASY=";
16         };
17       });
18       # Use click 7
19       click = super.click.overridePythonAttrs (old: rec {
20         version = "7.1.2";
21         src = fetchPypi {
22           pname = "click";
23           inherit version;
24           hash = "sha256-0rUlXHxjSbwb0eWeCM0SrLvWPOZJ8liHVXg6qU37axo=";
25         };
26         disabledTests = [ "test_bytes_args" ];
27       });
28     };
29   };
31 with py.pkgs;
33 buildPythonApplication rec {
34   pname = "haxor-news";
35   version = "unstable-2020-10-20";
37   # haven't done a stable release in 3+ years, but actively developed
38   src = fetchFromGitHub {
39     owner = "donnemartin";
40     repo = pname;
41     rev = "811a5804c09406465b2b02eab638c08bf5c4fa7f";
42     hash = "sha256-5v61b49ttwqPOvtoykJBBzwVSi7S8ARlakccMr12bbw=";
43   };
45   propagatedBuildInputs = [
46     click
47     colorama
48     requests
49     pygments
50     prompt-toolkit
51     six
52   ];
54   # will fail without pre-seeded config files
55   doCheck = false;
57   nativeCheckInputs = [ unittestCheckHook mock ];
59   unittestFlagsArray = [ "-s" "tests" "-v" ];
61   meta = with lib; {
62     homepage = "https://github.com/donnemartin/haxor-news";
63     description = "Browse Hacker News like a haxor";
64     license = licenses.asl20;
65     maintainers = with maintainers; [ matthiasbeyer ];
66   };