1{ lib
2, buildPythonPackage
3, click
4, fetchFromGitHub
5, jsonschema
6, poetry-core
7, pytestCheckHook
8, pythonOlder
9}:
10
11buildPythonPackage rec {
12 pname = "archspec";
13 version = "0.2.1";
14 format = "pyproject";
15
16 disabled = pythonOlder "3.7";
17
18 src = fetchFromGitHub {
19 owner = pname;
20 repo = pname;
21 rev = "refs/tags/v${version}";
22 fetchSubmodules = true;
23 hash = "sha256-2rMsxSAnPIVqvsbAUtBbHLb3AvrZFjGzxYO6A/1qXnY=";
24 };
25
26 nativeBuildInputs = [
27 poetry-core
28 ];
29
30 propagatedBuildInputs = [
31 click
32 ];
33
34 nativeCheckInputs = [
35 pytestCheckHook
36 jsonschema
37 ];
38
39 pythonImportsCheck = [
40 "archspec"
41 ];
42
43 meta = with lib; {
44 description = "Library for detecting, labeling, and reasoning about microarchitectures";
45 homepage = "https://archspec.readthedocs.io/";
46 changelog = "https://github.com/archspec/archspec/releases/tag/v0.2.1";
47 license = with licenses; [ mit asl20 ];
48 maintainers = with maintainers; [ atila ];
49 };
50}