at master 2.6 kB view raw
1{ 2 lib, 3 buildPythonPackage, 4 fetchFromGitHub, 5 setuptools, 6 setuptools-scm, 7 coreutils, 8 jinja2, 9 pandas, 10 pyparsing, 11 pytestCheckHook, 12 pythonOlder, 13 which, 14 yosys, 15}: 16 17buildPythonPackage rec { 18 pname = "edalize"; 19 version = "0.6.1"; 20 pyproject = true; 21 22 disabled = pythonOlder "3.7"; 23 24 src = fetchFromGitHub { 25 owner = "olofk"; 26 repo = "edalize"; 27 tag = "v${version}"; 28 hash = "sha256-5c3Szq0tXQdlyzFTFCla44qB/O6RK8vezVOaFOv8sw4="; 29 }; 30 31 postPatch = '' 32 substituteInPlace tests/test_edam.py \ 33 --replace /usr/bin/touch ${coreutils}/bin/touch 34 patchShebangs tests/mock_commands/vsim 35 ''; 36 37 build-system = [ 38 setuptools 39 setuptools-scm 40 ]; 41 42 propagatedBuildInputs = [ jinja2 ]; 43 44 optional-dependencies = { 45 reporting = [ 46 pandas 47 pyparsing 48 ]; 49 }; 50 51 nativeCheckInputs = [ 52 pytestCheckHook 53 which 54 yosys 55 ] 56 ++ lib.flatten (builtins.attrValues optional-dependencies); 57 58 pythonImportsCheck = [ "edalize" ]; 59 60 disabledTests = [ 61 # disable failures related to pandas 2.1.0 apply(...,errors="ignore") 62 # behavior change. upstream pins pandas to 2.0.3 as of 2023-10-10 63 # https://github.com/olofk/edalize/commit/2a3db6658752f97c61048664b478ebfe65a909f8 64 "test_picorv32_artix7_summary" 65 "test_picorv32_artix7_resources" 66 "test_picorv32_artix7_timing" 67 "test_picorv32_kusp_summary" 68 "test_picorv32_kusp_resources" 69 "test_picorv32_kusp_timing" 70 "test_linux_on_litex_vexriscv_arty_a7_summary" 71 "test_linux_on_litex_vexriscv_arty_a7_resources" 72 "test_linux_on_litex_vexriscv_arty_a7_timing" 73 ]; 74 75 disabledTestPaths = [ 76 "tests/test_questa_formal.py" 77 "tests/test_slang.py" 78 "tests/test_apicula.py" 79 "tests/test_ascentlint.py" 80 "tests/test_diamond.py" 81 "tests/test_gatemate.py" 82 "tests/test_ghdl.py" 83 "tests/test_icarus.py" 84 "tests/test_icestorm.py" 85 "tests/test_ise.py" 86 "tests/test_mistral.py" 87 "tests/test_openlane.py" 88 "tests/test_oxide.py" 89 "tests/test_quartus.py" 90 "tests/test_radiant.py" 91 "tests/test_spyglass.py" 92 "tests/test_symbiyosys.py" 93 "tests/test_trellis.py" 94 "tests/test_vcs.py" 95 "tests/test_veribleformat.py" 96 "tests/test_veriblelint.py" 97 "tests/test_vivado.py" 98 "tests/test_xcelium.py" 99 "tests/test_xsim.py" 100 ]; 101 102 meta = with lib; { 103 description = "Abstraction library for interfacing EDA tools"; 104 mainProgram = "el_docker"; 105 homepage = "https://github.com/olofk/edalize"; 106 changelog = "https://github.com/olofk/edalize/releases/tag/${src.tag}"; 107 license = licenses.bsd2; 108 maintainers = with maintainers; [ astro ]; 109 }; 110}