Merge pull request #307098 from r-ryantm/auto-update/cilium-cli
[NixPkgs.git] / pkgs / development / python-modules / amaranth / default.nix
bloba0e2675a0099a085a002c148df70d7652bc3cca0
1 { lib
2 , buildPythonPackage
3 , pythonOlder
4 , fetchFromGitHub
5 , pdm-backend
6 , pyvcd
7 , jinja2
8 , importlib-resources
9 , importlib-metadata
10 , git
12 # for tests
13 , pytestCheckHook
14 , symbiyosys
15 , yices
16 , yosys
19 buildPythonPackage rec {
20   pname = "amaranth";
21   format = "pyproject";
22   version = "0.4.5";
23   disabled = pythonOlder "3.8";
25   src = fetchFromGitHub {
26     owner = "amaranth-lang";
27     repo = "amaranth";
28     rev = "refs/tags/v${version}";
29     hash = "sha256-g9dn6gUTdFHz9GMWHERsRLWHoI3E7vjuQDK0usbZO7g=";
30   };
32   nativeBuildInputs = [
33     git
34     pdm-backend
35   ];
37   propagatedBuildInputs = [
38     jinja2
39     pyvcd
40   ] ++
41     lib.optional (pythonOlder "3.9") importlib-resources ++
42     lib.optional (pythonOlder "3.8") importlib-metadata;
44   nativeCheckInputs = [
45     pytestCheckHook
46     symbiyosys
47     yices
48     yosys
49   ];
51   pythonImportsCheck = [ "amaranth" ];
53   meta = with lib; {
54     description = "A modern hardware definition language and toolchain based on Python";
55     mainProgram = "amaranth-rpc";
56     homepage = "https://amaranth-lang.org/docs/amaranth";
57     license = licenses.bsd2;
58     maintainers = with maintainers; [ emily thoughtpolice pbsds ];
59   };