1{
2 buildPythonPackage,
3 fetchPypi,
4 lib,
5 iverilog,
6 verilator,
7 gnumake,
8 edalize,
9 fastjsonschema,
10 pyparsing,
11 pyyaml,
12 simplesat,
13 ipyxact,
14 setuptools-scm,
15}:
16buildPythonPackage rec {
17 pname = "fusesoc";
18 version = "2.2.1";
19 format = "setuptools";
20
21 src = fetchPypi {
22 inherit pname version;
23 hash = "sha256-M36bXBgY8hR33AVDlHoH8PZJG2Bi0KOEI07IMns7R4w=";
24 };
25
26 nativeBuildInputs = [ setuptools-scm ];
27
28 propagatedBuildInputs = [
29 edalize
30 fastjsonschema
31 pyparsing
32 pyyaml
33 simplesat
34 ipyxact
35 ];
36
37 pythonImportsCheck = [ "fusesoc" ];
38
39 makeWrapperArgs = [
40 "--suffix PATH : ${
41 lib.makeBinPath [
42 iverilog
43 verilator
44 gnumake
45 ]
46 }"
47 ];
48
49 meta = with lib; {
50 homepage = "https://github.com/olofk/fusesoc";
51 description = "Package manager and build tools for HDL code";
52 maintainers = with maintainers; [ genericnerdyusername ];
53 license = licenses.bsd3;
54 mainProgram = "fusesoc";
55 };
56}