From 9ad8aafad28f37dc6d6ffc98634525306e6db38e Mon Sep 17 00:00:00 2001 From: hakan-demirli Date: Tue, 18 Feb 2025 01:03:04 +0300 Subject: [PATCH] veridian: init at d094c9d --- pkgs/by-name/ve/veridian/package.nix | 81 ++++++++++++++++++++++++++++ 1 file changed, 81 insertions(+) create mode 100644 pkgs/by-name/ve/veridian/package.nix diff --git a/pkgs/by-name/ve/veridian/package.nix b/pkgs/by-name/ve/veridian/package.nix new file mode 100644 index 000000000000..c9f6d5149ed7 --- /dev/null +++ b/pkgs/by-name/ve/veridian/package.nix @@ -0,0 +1,81 @@ +{ + lib, + rustPlatform, + fetchFromGitHub, + + cmake, + makeWrapper, + pkg-config, + + boost, + fmt_11, + openssl, + sv-lang, + mimalloc, + + verible, + verilator, +}: +rustPlatform.buildRustPackage { + pname = "veridian"; + version = "0-unstable-2024-12-25"; + + src = fetchFromGitHub { + owner = "vivekmalneedi"; + repo = "veridian"; + rev = "d094c9d2fa9745b2c4430eef052478c64d5dd3b6"; + hash = "sha256-3KjUunXTqdesvgDSeQMoXL0LRGsGQXZJGDt+xLWGovM="; + }; + + useFetchCargoVendor = true; + cargoHash = "sha256-qJQD9HjSrrHdppbLNgLnXCycgzbmPePydZve3A8zGtU="; + + buildFeatures = [ "slang" ]; + + nativeBuildInputs = [ + rustPlatform.bindgenHook + cmake + makeWrapper + pkg-config + ]; + + buildInputs = [ + boost + fmt_11 + openssl + sv-lang + mimalloc + ]; + + # the tests also need these to be on the PATH + nativeCheckInputs = [ + verible + verilator + ]; + + postInstall = + let + runtimePathDeps = [ + verible + verilator + ]; + in + '' + wrapProgram $out/bin/veridian \ + --prefix PATH : ${lib.makeBinPath runtimePathDeps} + ''; + + env = { + OPENSSL_NO_VENDOR = "1"; + RUSTFLAGS = "-C link-args=-lmimalloc"; + # this is needed so that veridian doesn't try to build the sv-lang package itself + SLANG_INSTALL_PATH = sv-lang; + }; + + meta = { + description = "SystemVerilog Language Server"; + homepage = "https://github.com/vivekmalneedi/veridian"; + license = lib.licenses.mit; + maintainers = [ lib.maintainers.hakan-demirli ]; + }; +}