Merge pull request #307098 from r-ryantm/auto-update/cilium-cli
[NixPkgs.git] / pkgs / development / python-modules / unicorn / default.nix
blobc1f17ce880a6b7e968d98b9c570053996d063671
1 { lib
2 , stdenv
3 , buildPythonPackage
4 , setuptools
5 , unicorn-emu
6 }:
8 buildPythonPackage rec {
9   pname = "unicorn";
10   version = lib.getVersion unicorn-emu;
11   format = "setuptools";
13   src = unicorn-emu.src;
15   sourceRoot = "${src.name}/bindings/python";
17   prePatch = ''
18     ln -s ${unicorn-emu}/lib/libunicorn.* prebuilt/
19   '';
21   # needed on non-x86 linux
22   setupPyBuildFlags = lib.optionals stdenv.isLinux [ "--plat-name" "linux" ]
23                    # aarch64 only available from MacOS SDK 11 onwards, so fix the version tag.
24                    # otherwise, bdist_wheel may detect "macosx_10_6_arm64" which doesn't make sense.
25                    ++ lib.optionals (stdenv.isDarwin && stdenv.isAarch64) [ "--plat-name" "macosx_11_0" ];
27   propagatedBuildInputs = [
28     setuptools
29   ];
31   checkPhase = ''
32     runHook preCheck
34     mv unicorn unicorn.hidden
35     patchShebangs sample_*.py shellcode.py
36     sh -e sample_all.sh
38     runHook postCheck
39   '';
41   pythonImportsCheck = [
42     "unicorn"
43   ];
45   meta = with lib; {
46     description = "Python bindings for Unicorn CPU emulator engine";
47     homepage = "https://www.unicorn-engine.org/";
48     license = licenses.gpl2Plus;
49     maintainers = with maintainers; [ bennofs ris ];
50   };