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