1{ lib
2, fetchFromGitHub
3, python3
4}:
5
6python3.pkgs.buildPythonApplication rec {
7 pname = "amoco";
8 version = "2.9.8";
9 format = "setuptools";
10
11 src = fetchFromGitHub {
12 owner = "bdcht";
13 repo = pname;
14 rev = "v${version}";
15 hash = "sha256-3+1ssFyU7SKFJgDYBQY0kVjmTHOD71D2AjnH+4bfLXo=";
16 };
17
18 nativeBuildInputs = with python3.pkgs; [
19 pythonRelaxDepsHook
20 ];
21
22 propagatedBuildInputs = with python3.pkgs; [
23 blessed
24 click
25 crysp
26 grandalf
27 pyparsing
28 tqdm
29 traitlets
30 ];
31
32 passthru.optional-dependencies = {
33 app = with python3.pkgs; [
34 # ccrawl
35 ipython
36 prompt-toolkit
37 pygments
38 # pyside6
39 z3
40 ];
41 };
42
43 nativeCheckInputs = with python3.pkgs; [
44 pytestCheckHook
45 ];
46
47 postPatch = ''
48 substituteInPlace setup.py \
49 --replace "'pytest-runner'," ""
50 '';
51
52 pythonRelaxDeps = [
53 "grandalf"
54 "crysp"
55 ];
56
57 pythonImportsCheck = [
58 "amoco"
59 ];
60
61 disabledTests = [
62 # AttributeError: 'str' object has no attribute '__dict__'
63 "test_func"
64 ];
65
66 meta = with lib; {
67 description = "Tool for analysing binaries";
68 homepage = "https://github.com/bdcht/amoco";
69 license = licenses.gpl2Only;
70 maintainers = with maintainers; [ fab ];
71 };
72}