1{
2 stdenv,
3 lib,
4 appdirs,
5 buildPythonPackage,
6 cachelib,
7 colorama,
8 cssselect,
9 fetchFromGitHub,
10 keep,
11 lxml,
12 pygments,
13 pyquery,
14 requests,
15 rich,
16 pytestCheckHook,
17 pythonOlder,
18}:
19
20buildPythonPackage rec {
21 pname = "howdoi";
22 version = "2.0.20";
23 format = "setuptools";
24
25 disabled = pythonOlder "3.7";
26
27 src = fetchFromGitHub {
28 owner = "gleitz";
29 repo = pname;
30 rev = "v${version}";
31 hash = "sha256-u0k+h7Sp2t/JUnfPqRzDpEA+vNXB7CpyZ/SRvk+B9t0=";
32 };
33
34 propagatedBuildInputs = [
35 appdirs
36 cachelib
37 colorama
38 cssselect
39 keep
40 lxml
41 pygments
42 pyquery
43 requests
44 rich
45 ];
46
47 nativeCheckInputs = [ pytestCheckHook ];
48
49 preCheck = ''
50 export HOME=$(mktemp -d)
51 '';
52
53 disabledTests = [ "test_colorize" ];
54
55 pythonImportsCheck = [ "howdoi" ];
56
57 meta = with lib; {
58 broken = stdenv.isDarwin;
59 changelog = "https://github.com/gleitz/howdoi/blob/v${version}/CHANGES.txt";
60 description = "Instant coding answers via the command line";
61 homepage = "https://github.com/gleitz/howdoi";
62 license = licenses.mit;
63 maintainers = [ ];
64 };
65}