anki-bin: 24.06.3 -> 24.11 (#360722)
[NixPkgs.git] / pkgs / development / python-modules / vivisect / default.nix
blob06b15686ec24093e42b81e3130295fd47bc91f91
2   lib,
3   buildPythonPackage,
4   cxxfilt,
5   fetchPypi,
6   msgpack,
7   pyasn1,
8   pyasn1-modules,
9   pycparser,
10   pyqt5,
11   pyqtwebengine,
12   pythonOlder,
13   withGui ? false,
14   wrapQtAppsHook,
15   setuptools,
18 buildPythonPackage rec {
19   pname = "vivisect";
20   version = "1.2.1";
21   pyproject = true;
23   disabled = pythonOlder "3.8";
25   src = fetchPypi {
26     inherit pname version;
27     hash = "sha256-zBWrVBub48rYBg7k9CDmgCWPpPz3R38/mtUCM1P3Mpk=";
28   };
30   pythonRelaxDeps = [
31     "cxxfilt"
32     "msgpack"
33     "pyasn1"
34     "pyasn1-modules"
35   ];
37   build-system = [ setuptools ];
39   nativeBuildInputs = [
40     wrapQtAppsHook
41   ];
43   dependencies = [
44     pyasn1
45     pyasn1-modules
46     cxxfilt
47     msgpack
48     pycparser
49   ] ++ lib.optionals (withGui) optional-dependencies.gui;
51   optional-dependencies.gui = [
52     pyqt5
53     pyqtwebengine
54   ];
56   postFixup = ''
57     wrapQtApp $out/bin/vivbin
58   '';
60   # Tests requires another repo for test files
61   doCheck = false;
63   pythonImportsCheck = [ "vivisect" ];
65   meta = with lib; {
66     description = "Python disassembler, debugger, emulator, and static analysis framework";
67     homepage = "https://github.com/vivisect/vivisect";
68     changelog = "https://github.com/vivisect/vivisect/blob/v${version}/CHANGELOG.rst";
69     license = licenses.asl20;
70     maintainers = [ ];
71   };