1{ lib
2, buildPythonPackage
3, dissect-cstruct
4, dissect-util
5, fetchFromGitHub
6, setuptools
7, setuptools-scm
8, pythonOlder
9}:
10
11buildPythonPackage rec {
12 pname = "dissect-executable";
13 version = "1.4";
14 format = "pyproject";
15
16 disabled = pythonOlder "3.7";
17
18 src = fetchFromGitHub {
19 owner = "fox-it";
20 repo = "dissect.executable";
21 rev = "refs/tags/${version}";
22 hash = "sha256-h9eOTWJR0Bd3DY8WDYWqLCl1jYJcqP6cRTgWubf/rKI=";
23 };
24
25 SETUPTOOLS_SCM_PRETEND_VERSION = version;
26
27 nativeBuildInputs = [
28 setuptools
29 setuptools-scm
30 ];
31
32 propagatedBuildInputs = [
33 dissect-cstruct
34 dissect-util
35 ];
36
37 pythonImportsCheck = [
38 "dissect.executable"
39 ];
40
41 meta = with lib; {
42 description = "Dissect module implementing a parser for various executable formats such as PE, ELF and Macho-O";
43 homepage = "https://github.com/fox-it/dissect.executable";
44 changelog = "https://github.com/fox-it/dissect.executable/releases/tag/${version}";
45 license = licenses.agpl3Only;
46 maintainers = with maintainers; [ fab ];
47 };
48}