68 lines
1.7 KiB
Nix
68 lines
1.7 KiB
Nix
{ lib, fetchFromGitHub, fetchPypi, python3 }:
|
|
|
|
|
|
let
|
|
py = python3.override {
|
|
packageOverrides = self: super: {
|
|
self = py;
|
|
|
|
# not compatible with prompt_toolkit >=2.0
|
|
prompt-toolkit = super.prompt-toolkit.overridePythonAttrs (oldAttrs: rec {
|
|
name = "${oldAttrs.pname}-${version}";
|
|
version = "1.0.18";
|
|
src = oldAttrs.src.override {
|
|
inherit version;
|
|
hash = "sha256-3U/KAsgGlJetkxotCZFMaw0bUBUc6Ha8Fb3kx0cJASY=";
|
|
};
|
|
});
|
|
# Use click 7
|
|
click = super.click.overridePythonAttrs (old: rec {
|
|
version = "7.1.2";
|
|
src = fetchPypi {
|
|
pname = "click";
|
|
inherit version;
|
|
hash = "sha256-0rUlXHxjSbwb0eWeCM0SrLvWPOZJ8liHVXg6qU37axo=";
|
|
};
|
|
disabledTests = [ "test_bytes_args" ];
|
|
});
|
|
};
|
|
};
|
|
in
|
|
with py.pkgs;
|
|
|
|
buildPythonApplication rec {
|
|
pname = "haxor-news";
|
|
version = "unstable-2020-10-20";
|
|
|
|
# haven't done a stable release in 3+ years, but actively developed
|
|
src = fetchFromGitHub {
|
|
owner = "donnemartin";
|
|
repo = pname;
|
|
rev = "811a5804c09406465b2b02eab638c08bf5c4fa7f";
|
|
hash = "sha256-5v61b49ttwqPOvtoykJBBzwVSi7S8ARlakccMr12bbw=";
|
|
};
|
|
|
|
propagatedBuildInputs = [
|
|
click
|
|
colorama
|
|
requests
|
|
pygments
|
|
prompt-toolkit
|
|
six
|
|
];
|
|
|
|
# will fail without pre-seeded config files
|
|
doCheck = false;
|
|
|
|
nativeCheckInputs = [ unittestCheckHook mock ];
|
|
|
|
unittestFlagsArray = [ "-s" "tests" "-v" ];
|
|
|
|
meta = with lib; {
|
|
homepage = "https://github.com/donnemartin/haxor-news";
|
|
description = "Browse Hacker News like a haxor";
|
|
license = licenses.asl20;
|
|
maintainers = with maintainers; [ matthiasbeyer ];
|
|
};
|
|
|
|
}
|