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