at master 1.6 kB view raw
1{ 2 lib, 3 buildPythonPackage, 4 fetchFromGitHub, 5 nix-update-script, 6 setuptools-rust, 7 rustPlatform, 8 cargo, 9 rustc, 10 pkg-config, 11 llvmPackages, 12 libxml2, 13 ncurses, 14 zlib, 15}: 16 17buildPythonPackage rec { 18 pname = "verilogae"; 19 version = "24.0.0mob-unstable-2025-07-21"; 20 pyproject = true; 21 22 stdenv = llvmPackages.stdenv; 23 24 src = fetchFromGitHub { 25 owner = "OpenVAF"; 26 repo = "OpenVAF-Reloaded"; 27 rev = "d878f5519b1767b64c6ebeb4d67e29e7cd46e60b"; 28 hash = "sha256-TDE2Ewokhm2KSKe+sunUbV8KD3kaTSd5dB3CLCWGJ9U="; 29 }; 30 31 postPatch = '' 32 substituteInPlace openvaf/osdi/build.rs \ 33 --replace-fail "-fPIC" "" 34 ''; 35 36 cargoDeps = rustPlatform.fetchCargoVendor { 37 inherit pname version src; 38 hash = "sha256-5SLrVL3h6+tptHv3GV7r8HUTrYQC9VdF68O2/Uct3xA="; 39 }; 40 41 nativeBuildInputs = [ 42 setuptools-rust 43 rustPlatform.cargoSetupHook 44 rustPlatform.bindgenHook 45 cargo 46 rustc 47 pkg-config 48 llvmPackages.llvm 49 ]; 50 51 buildInputs = [ 52 libxml2.dev 53 llvmPackages.libclang 54 ncurses 55 zlib 56 ]; 57 58 cargoBuildType = "release"; 59 60 pythonImportsCheck = [ "verilogae" ]; 61 62 hardeningDisable = [ "pic" ]; 63 64 passthru.updateScript = nix-update-script { 65 extraArgs = [ "--version=branch" ]; 66 }; 67 68 meta = { 69 description = "Verilog-A tool useful for compact model parameter extraction"; 70 homepage = "https://man.sr.ht/~dspom/openvaf_doc/verilogae/"; 71 license = lib.licenses.gpl3Only; 72 maintainers = with lib.maintainers; [ 73 jasonodoom 74 jleightcap 75 ]; 76 platforms = lib.platforms.unix; 77 sourceProvenance = [ lib.sourceTypes.binaryBytecode ]; 78 }; 79}