at master 1.3 kB view raw
1{ 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, 16}: 17 18buildPythonPackage rec { 19 pname = "vivisect"; 20 version = "1.2.1"; 21 pyproject = true; 22 23 disabled = pythonOlder "3.8"; 24 25 src = fetchPypi { 26 inherit pname version; 27 hash = "sha256-zBWrVBub48rYBg7k9CDmgCWPpPz3R38/mtUCM1P3Mpk="; 28 }; 29 30 pythonRelaxDeps = [ 31 "cxxfilt" 32 "msgpack" 33 "pyasn1" 34 "pyasn1-modules" 35 ]; 36 37 build-system = [ setuptools ]; 38 39 nativeBuildInputs = [ 40 wrapQtAppsHook 41 ]; 42 43 dependencies = [ 44 pyasn1 45 pyasn1-modules 46 cxxfilt 47 msgpack 48 pycparser 49 ] 50 ++ lib.optionals (withGui) optional-dependencies.gui; 51 52 optional-dependencies.gui = [ 53 pyqt5 54 pyqtwebengine 55 ]; 56 57 postFixup = '' 58 wrapQtApp $out/bin/vivbin 59 ''; 60 61 # Tests requires another repo for test files 62 doCheck = false; 63 64 pythonImportsCheck = [ "vivisect" ]; 65 66 meta = with lib; { 67 description = "Python disassembler, debugger, emulator, and static analysis framework"; 68 homepage = "https://github.com/vivisect/vivisect"; 69 changelog = "https://github.com/vivisect/vivisect/blob/v${version}/CHANGELOG.rst"; 70 license = licenses.asl20; 71 maintainers = [ ]; 72 }; 73}