at master 1.9 kB view raw
1{ 2 lib, 3 buildPythonPackage, 4 fetchFromGitHub, 5 poetry-core, 6 apkinspector, 7 networkx, 8 pygments, 9 lxml, 10 colorama, 11 cryptography, 12 dataset, 13 frida-python, 14 loguru, 15 matplotlib, 16 asn1crypto, 17 click, 18 mutf8, 19 pyyaml, 20 pydot, 21 ipython, 22 oscrypto, 23 pyqt5, 24 pytestCheckHook, 25 python-magic, 26 qt5, 27 # This is usually used as a library, and it'd be a shame to force the GUI 28 # libraries to the closure if GUI is not desired. 29 withGui ? false, 30 # Deprecated in 24.11. 31 doCheck ? true, 32}: 33 34assert lib.warnIf (!doCheck) "python3Packages.androguard: doCheck is deprecated" true; 35 36buildPythonPackage rec { 37 pname = "androguard"; 38 version = "4.1.3"; 39 pyproject = true; 40 41 src = fetchFromGitHub { 42 repo = "androguard"; 43 owner = "androguard"; 44 tag = "v${version}"; 45 sha256 = "sha256-qz6x7UgYXal1DbQGzi4iKnSGEn873rKibKme/pF7tLk="; 46 }; 47 48 build-system = [ 49 poetry-core 50 ]; 51 52 nativeBuildInputs = lib.optionals withGui [ qt5.wrapQtAppsHook ]; 53 54 dependencies = [ 55 apkinspector 56 asn1crypto 57 click 58 colorama 59 cryptography 60 dataset 61 frida-python 62 ipython 63 loguru 64 lxml 65 matplotlib 66 mutf8 67 networkx 68 oscrypto 69 pydot 70 pygments 71 pyyaml 72 ] 73 ++ networkx.optional-dependencies.default 74 ++ networkx.optional-dependencies.extra 75 ++ lib.optionals withGui [ 76 pyqt5 77 ]; 78 79 nativeCheckInputs = [ 80 pytestCheckHook 81 pyqt5 82 python-magic 83 ]; 84 85 # If it won't be verbose, you'll see nothing going on for a long time. 86 pytestFlags = [ "--verbose" ]; 87 88 preFixup = lib.optionalString withGui '' 89 makeWrapperArgs+=("''${qtWrapperArgs[@]}") 90 ''; 91 92 meta = { 93 description = "Tool and Python library to interact with Android Files"; 94 homepage = "https://github.com/androguard/androguard"; 95 license = lib.licenses.asl20; 96 maintainers = with lib.maintainers; [ pmiddend ]; 97 }; 98}