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