Merge pull request #268619 from tweag/lib-descriptions
[NixPkgs.git] / pkgs / development / python-modules / vivisect / default.nix
blobbf281f374c50943dc3df05edd70a6059d98b64bd
1 { lib
2 , buildPythonPackage
3 , cxxfilt
4 , fetchPypi
5 , msgpack
6 , pyasn1
7 , pyasn1-modules
8 , pycparser
9 , pyqt5
10 , pythonRelaxDepsHook
11 , pyqtwebengine
12 , pythonOlder
13 , withGui ? false
14 , wrapQtAppsHook
17 buildPythonPackage rec {
18   pname = "vivisect";
19   version = "1.1.1";
20   format = "setuptools";
22   disabled = pythonOlder "3.6";
24   src = fetchPypi {
25     inherit pname version;
26     hash = "sha256-URRBEZelw4s43zqtb/GrLxIksvrqHbqQWntT9jVonhU=";
27   };
29   pythonRelaxDeps = [
30     "cxxfilt"
31     "pyasn1"
32     "pyasn1-modules"
33   ];
35   nativeBuildInputs = [
36     pythonRelaxDepsHook
37     wrapQtAppsHook
38   ];
40   propagatedBuildInputs = [
41     pyasn1
42     pyasn1-modules
43     cxxfilt
44     msgpack
45     pycparser
46   ] ++ lib.optionals (withGui) passthru.optional-dependencies.gui;
48   passthru.optional-dependencies.gui = [
49     pyqt5
50     pyqtwebengine
51   ];
53   postFixup = ''
54     wrapQtApp $out/bin/vivbin
55   '';
57   # requires another repo for test files
58   doCheck = false;
60   pythonImportsCheck = [
61     "vivisect"
62   ];
64   meta = with lib; {
65     description = "Python disassembler, debugger, emulator, and static analysis framework";
66     homepage = "https://github.com/vivisect/vivisect";
67     changelog = "https://github.com/vivisect/vivisect/blob/v${version}/CHANGELOG.rst";
68     license = licenses.asl20;
69     maintainers = [ ];
70   };