1{ lib
2, buildPythonPackage
3, cachetools
4, decorator
5, fetchFromGitHub
6, future
7, nose
8, pysmt
9, pythonOlder
10, pytestCheckHook
11, z3
12}:
13
14buildPythonPackage rec {
15 pname = "claripy";
16 version = "9.0.10576";
17 disabled = pythonOlder "3.6";
18
19 src = fetchFromGitHub {
20 owner = "angr";
21 repo = pname;
22 rev = "v${version}";
23 sha256 = "sha256-86ySQ/2l1h5vayMfAsr9ShyE8oRKL37sT3bfrgIGFHY=";
24 };
25
26 # Use upstream z3 implementation
27 postPatch = ''
28 substituteInPlace setup.py --replace "z3-solver>=4.8.5.0" ""
29 '';
30
31 propagatedBuildInputs = [
32 cachetools
33 decorator
34 future
35 pysmt
36 z3
37 ];
38
39 checkInputs = [
40 nose
41 pytestCheckHook
42 ];
43
44 pythonImportsCheck = [ "claripy" ];
45
46 meta = with lib; {
47 description = "Python abstraction layer for constraint solvers";
48 homepage = "https://github.com/angr/claripy";
49 license = with licenses; [ bsd2 ];
50 maintainers = with maintainers; [ fab ];
51 };
52}