nav: init at 1.2.1 (#356071)
[NixPkgs.git] / pkgs / development / python-modules / unicorn / default.nix
blobb1b630c237daf724ef881a87698449fd32874382
2   lib,
3   stdenv,
4   buildPythonPackage,
5   setuptools,
6   unicorn,
7 }:
9 buildPythonPackage rec {
10   pname = "unicorn";
11   version = lib.getVersion unicorn;
12   pyproject = true;
14   src = unicorn.src;
16   sourceRoot = "${src.name}/bindings/python";
18   prePatch = ''
19     ln -s ${unicorn}/lib/libunicorn.* prebuilt/
20   '';
22   # Needed on non-x86 linux
23   setupPyBuildFlags =
24     lib.optionals stdenv.hostPlatform.isLinux [
25       "--plat-name"
26       "linux"
27     ]
28     # aarch64 only available from MacOS SDK 11 onwards, so fix the version tag.
29     # otherwise, bdist_wheel may detect "macosx_10_6_arm64" which doesn't make sense.
30     ++ lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) [
31       "--plat-name"
32       "macosx_11_0"
33     ];
35   build-system = [ setuptools ];
37   checkPhase = ''
38     runHook preCheck
40     mv unicorn unicorn.hidden
41     patchShebangs sample_*.py shellcode.py
42     sh -e sample_all.sh
44     runHook postCheck
45   '';
47   pythonImportsCheck = [ "unicorn" ];
49   meta = with lib; {
50     description = "Python bindings for Unicorn CPU emulator engine";
51     homepage = "https://www.unicorn-engine.org/";
52     license = licenses.gpl2Plus;
53     maintainers = with maintainers; [
54       bennofs
55       ris
56     ];
57   };