1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 pefile,
6 pytestCheckHook,
7 pythonOlder,
8 setuptools,
9}:
10
11buildPythonPackage rec {
12 pname = "dnfile";
13 version = "0.17.0";
14 pyproject = true;
15
16 disabled = pythonOlder "3.8";
17
18 src = fetchFromGitHub {
19 owner = "malwarefrank";
20 repo = "dnfile";
21 tag = "v${version}";
22 hash = "sha256-JiJ7qvBP0SDGMynQuu2AyCwHU9aDI7Pq5/Z9IiWPWng=";
23 fetchSubmodules = true;
24 };
25
26 build-system = [ setuptools ];
27
28 dependencies = [ pefile ];
29
30 nativeCheckInputs = [ pytestCheckHook ];
31
32 pythonImportsCheck = [ "dnfile" ];
33
34 meta = with lib; {
35 description = "Module to parse .NET executable files";
36 homepage = "https://github.com/malwarefrank/dnfile";
37 changelog = "https://github.com/malwarefrank/dnfile/blob/${src.tag}/HISTORY.rst";
38 license = licenses.mit;
39 maintainers = with maintainers; [ fab ];
40 };
41}