1{ lib
2, buildPythonPackage
3, capstone
4, stdenv
5, setuptools
6}:
7
8buildPythonPackage rec {
9 pname = "capstone";
10 version = lib.getVersion capstone;
11
12 src = capstone.src;
13 sourceRoot = "${capstone.name}/bindings/python";
14
15 postPatch = ''
16 ln -s ${capstone}/lib/libcapstone${stdenv.targetPlatform.extensions.sharedLibrary} prebuilt/
17 ln -s ${capstone}/lib/libcapstone.a prebuilt/
18 substituteInPlace setup.py --replace manylinux1 manylinux2014
19 '';
20
21 propagatedBuildInputs = [ setuptools ];
22
23 checkPhase = ''
24 mv capstone capstone.hidden
25 patchShebangs test_*
26 make check
27 '';
28
29 meta = with lib; {
30 homepage = "http://www.capstone-engine.org/";
31 license = licenses.bsdOriginal;
32 description = "Python bindings for Capstone disassembly engine";
33 maintainers = with maintainers; [ bennofs ris ];
34 # creates a manylinux2014-x86_64 wheel
35 broken = !stdenv.isx86_64;
36 };
37}