1{ lib
2, backports-strenum
3, buildPythonPackage
4, fetchFromGitHub
5, pytestCheckHook
6, pythonOlder
7, setuptools
8}:
9
10buildPythonPackage rec {
11 pname = "archinfo";
12 version = "9.2.77";
13 pyproject = true;
14
15 disabled = pythonOlder "3.8";
16
17 src = fetchFromGitHub {
18 owner = "angr";
19 repo = pname;
20 rev = "refs/tags/v${version}";
21 hash = "sha256-uTkPDhk4Ugyb9HV/0PMwWpuNajpzfTn1dg7gsQnc/zg=";
22 };
23
24 nativeBuildInputs = [
25 setuptools
26 ];
27
28 propagatedBuildInputs = lib.optionals (pythonOlder "3.11") [
29 backports-strenum
30 ];
31
32 nativeCheckInputs = [
33 pytestCheckHook
34 ];
35
36 pythonImportsCheck = [
37 "archinfo"
38 ];
39
40 meta = with lib; {
41 description = "Classes with architecture-specific information";
42 homepage = "https://github.com/angr/archinfo";
43 license = with licenses; [ bsd2 ];
44 maintainers = with maintainers; [ fab ];
45 };
46}