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