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