at 25.11-pre 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 = pname; 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 ] ++ lib.flatten (builtins.attrValues optional-dependencies); 56 57 pythonImportsCheck = [ "edalize" ]; 58 59 disabledTests = [ 60 # disable failures related to pandas 2.1.0 apply(...,errors="ignore") 61 # behavior change. upstream pins pandas to 2.0.3 as of 2023-10-10 62 # https://github.com/olofk/edalize/commit/2a3db6658752f97c61048664b478ebfe65a909f8 63 "test_picorv32_artix7_summary" 64 "test_picorv32_artix7_resources" 65 "test_picorv32_artix7_timing" 66 "test_picorv32_kusp_summary" 67 "test_picorv32_kusp_resources" 68 "test_picorv32_kusp_timing" 69 "test_linux_on_litex_vexriscv_arty_a7_summary" 70 "test_linux_on_litex_vexriscv_arty_a7_resources" 71 "test_linux_on_litex_vexriscv_arty_a7_timing" 72 ]; 73 74 disabledTestPaths = [ 75 "tests/test_questa_formal.py" 76 "tests/test_slang.py" 77 "tests/test_apicula.py" 78 "tests/test_ascentlint.py" 79 "tests/test_diamond.py" 80 "tests/test_gatemate.py" 81 "tests/test_ghdl.py" 82 "tests/test_icarus.py" 83 "tests/test_icestorm.py" 84 "tests/test_ise.py" 85 "tests/test_mistral.py" 86 "tests/test_openlane.py" 87 "tests/test_oxide.py" 88 "tests/test_quartus.py" 89 "tests/test_radiant.py" 90 "tests/test_spyglass.py" 91 "tests/test_symbiyosys.py" 92 "tests/test_trellis.py" 93 "tests/test_vcs.py" 94 "tests/test_veribleformat.py" 95 "tests/test_veriblelint.py" 96 "tests/test_vivado.py" 97 "tests/test_xcelium.py" 98 "tests/test_xsim.py" 99 ]; 100 101 meta = with lib; { 102 description = "Abstraction library for interfacing EDA tools"; 103 mainProgram = "el_docker"; 104 homepage = "https://github.com/olofk/edalize"; 105 changelog = "https://github.com/olofk/edalize/releases/tag/${src.tag}"; 106 license = licenses.bsd2; 107 maintainers = with maintainers; [ astro ]; 108 }; 109}