1{
2 lib,
3 buildPythonPackage,
4 pythonOlder,
5 fetchFromGitHub,
6 setuptools,
7 setuptools-scm,
8 pyasn1,
9 pyasn1-modules,
10 cryptography,
11 joblib,
12 gitpython,
13 sqlalchemy,
14 pygount,
15 pytestCheckHook,
16}:
17
18buildPythonPackage rec {
19 pname = "edk2-pytool-library";
20 version = "0.23.8";
21 pyproject = true;
22
23 disabled = pythonOlder "3.10";
24
25 src = fetchFromGitHub {
26 owner = "tianocore";
27 repo = "edk2-pytool-library";
28 tag = "v${version}";
29 hash = "sha256-JSOijiH/de/bItNt7yNu8+P21rI7YqiTf54zV2Ij5Gs=";
30 };
31
32 build-system = [
33 setuptools
34 setuptools-scm
35 ];
36
37 dependencies = [
38 pyasn1
39 pyasn1-modules
40 cryptography
41 joblib
42 gitpython
43 sqlalchemy
44 pygount
45 ];
46
47 nativeCheckInputs = [ pytestCheckHook ];
48
49 disabledTests = [
50 # requires network access
51 "test_basic_parse"
52 ];
53
54 pythonImportsCheck = [ "edk2toollib" ];
55
56 meta = with lib; {
57 description = "Python library package that supports UEFI development";
58 homepage = "https://github.com/tianocore/edk2-pytool-library";
59 changelog = "https://github.com/tianocore/edk2-pytool-library/releases/tag/${src.tag}";
60 license = licenses.bsd2Patent;
61 maintainers = with maintainers; [ nickcao ];
62 platforms = platforms.linux;
63 };
64}