1{ lib
2, buildPythonPackage
3, fetchFromGitHub
4, funcy
5, intervaltree
6, pefile
7, typing-extensions
8, vivisect
9, pytest-sugar
10, pytestCheckHook
11, python-flirt
12}:
13buildPythonPackage rec {
14 pname = "viv-utils";
15 version = "0.7.5";
16
17 src = fetchFromGitHub {
18 owner = "williballenthin";
19 repo = "viv-utils";
20 rev = "v${version}";
21 sha256 = "sha256-JDu+1n1wP2Vsp2V/bKdE+RFp6bE8RNmimi4wdsatwME=";
22 };
23
24 postPatch = ''
25 substituteInPlace setup.py \
26 --replace "==" ">="
27 '';
28
29 propagatedBuildInputs = [
30 funcy
31 intervaltree
32 pefile
33 typing-extensions
34 vivisect
35 ];
36
37 checkInputs = [
38 pytest-sugar
39 pytestCheckHook
40 ];
41
42 passthru = {
43 optional-dependencies = {
44 flirt = [
45 python-flirt
46 ];
47 };
48 };
49
50 meta = with lib; {
51 description = "Utilities for working with vivisect";
52 homepage = "https://github.com/williballenthin/viv-utils";
53 license = licenses.asl20;
54 maintainers = teams.determinatesystems.members;
55 };
56}