at master 1.2 kB view raw
1{ 2 buildPythonPackage, 3 fetchFromGitHub, 4 lib, 5 future, 6 gcc, 7 llvmlite, 8 parameterized, 9 pycparser, 10 pyparsing, 11 z3-solver, 12 setuptools, 13}: 14let 15 commit = "cbc722eed8dc807955bd46f84886ae74d161dd0c"; 16in 17buildPythonPackage { 18 pname = "miasm"; 19 version = "0.1.5-unstable-2024-08-20"; 20 21 pyproject = true; 22 build-system = [ setuptools ]; 23 24 src = fetchFromGitHub { 25 owner = "cea-sec"; 26 repo = "miasm"; 27 rev = commit; 28 hash = "sha256-Ot11QuMtaJ8OQDAUgV3zVxTNp0kKc0Y9EXRZD96Caow="; 29 }; 30 31 patches = [ 32 # Use a valid semver as now required by setuptools 33 ./0001-setup.py-use-valid-semver.patch 34 35 # Removes the (unfree) IDAPython dependency 36 ./0002-core-remove-IDAPython-dependency.patch 37 ]; 38 39 dependencies = [ 40 future 41 llvmlite 42 parameterized 43 pycparser 44 pyparsing 45 z3-solver 46 ]; 47 48 buildInputs = [ gcc ]; 49 50 pythonImportsCheck = [ "miasm" ]; 51 52 meta = { 53 description = "Reverse engineering framework in Python"; 54 homepage = "https://github.com/cea-sec/miasm"; 55 changelog = "https://github.com/cea-sec/miasm/blob/${commit}/CHANGELOG.md"; 56 license = lib.licenses.gpl2Plus; 57 maintainers = with lib.maintainers; [ msanft ]; 58 }; 59}