Merge pull request #307098 from r-ryantm/auto-update/cilium-cli
[NixPkgs.git] / pkgs / development / python-modules / androguard / default.nix
blobe408d11590bd1fdeb37e522583d9636a2b2bb0bd
1 { lib
2 , buildPythonPackage
3 , fetchFromGitHub
4 , future
5 , networkx
6 , pygments
7 , lxml
8 , colorama
9 , matplotlib
10 , asn1crypto
11 , click
12 , pydot
13 , ipython
14 , packaging
15 , pyqt5
16 , pyperclip
17 , nose
18 , nose-timer
19 , mock
20 , python-magic
21 , codecov
22 , coverage
23 , qt5
24 # This is usually used as a library, and it'd be a shame to force the GUI
25 # libraries to the closure if GUI is not desired.
26 , withGui ? false
27 # Tests take a very long time, and currently fail, but next release' tests
28 # shouldn't fail
29 , doCheck ? false
32 buildPythonPackage rec {
33   pname = "androguard";
34   version = "3.4.0a1";
35   format = "setuptools";
37   src = fetchFromGitHub {
38     repo = pname;
39     owner = pname;
40     rev = "v${version}";
41     sha256 = "1aparxiq11y0hbvkayp92w684nyxyyx7mi0n1x6x51g5z6c58vmy";
42   };
44   nativeBuildInputs = [
45     packaging
46   ] ++ lib.optionals withGui [
47     qt5.wrapQtAppsHook
48   ];
50   propagatedBuildInputs = [
51     asn1crypto
52     click
53     colorama
54     future
55     ipython
56     lxml
57     matplotlib
58     networkx
59     pydot
60     pygments
61   ] ++ lib.optionals withGui [
62     pyqt5
63     pyperclip
64   ];
66   nativeCheckInputs = [
67     codecov
68     coverage
69     mock
70     nose
71     nose-timer
72     pyperclip
73     pyqt5
74     python-magic
75   ];
76   inherit doCheck;
78   # If it won't be verbose, you'll see nothing going on for a long time.
79   checkPhase = ''
80     runHook preCheck
81     nosetests --verbosity=3
82     runHook postCheck
83   '';
85   preFixup = lib.optionalString withGui ''
86     makeWrapperArgs+=("''${qtWrapperArgs[@]}")
87   '';
89   meta = with lib; {
90     description = "Tool and Python library to interact with Android Files";
91     homepage = "https://github.com/androguard/androguard";
92     license = licenses.asl20;
93     maintainers = with maintainers; [ pmiddend ];
94   };