diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index c9308ac732751..33cc51a892b81 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -15454,6 +15454,12 @@ githubId = 1104419; name = "Lucas Hoffmann"; }; + lucgaitskell = { + email = "me@lucg.xyz"; + github = "luciengaitskell"; + githubId = 9143221; + name = "Luc Gaitskell"; + }; luckshiba = { email = "luckshiba@protonmail.com"; github = "luckshiba"; diff --git a/pkgs/by-name/yo/yosys-slang/package.nix b/pkgs/by-name/yo/yosys-slang/package.nix new file mode 100644 index 0000000000000..31925161c8cc3 --- /dev/null +++ b/pkgs/by-name/yo/yosys-slang/package.nix @@ -0,0 +1,53 @@ +{ + stdenv, + lib, + fetchFromGitHub, + cmake, + yosys, +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "yosys-slang"; + version = "0-unstable-2026-01-31"; + plugin = "slang"; + + src = fetchFromGitHub { + owner = "povik"; + repo = "yosys-slang"; + rev = "4e1ad7c11e23cffe131aa5c478083f1d99f0c0be"; + hash = "sha256-4uKvtBUdDYm7ZERLcjWObvkbIARANUWiz4HmZsN2AA4="; + fetchSubmodules = true; + }; + + nativeBuildInputs = [ + cmake + ]; + + buildInputs = [ + yosys + ]; + + cmakeFlags = [ + "-DCMAKE_BUILD_TYPE=Release" + "-DYOSYS_CONFIG=${yosys}/bin/yosys-config" + "-DYOSYS_SLANG_REVISION=${finalAttrs.src.rev}" + "-DSLANG_REVISION=UNKNOWN" + ]; + + installPhase = '' + runHook preInstall + mkdir -p $out/share/yosys/plugins + cp slang.so $out/share/yosys/plugins/slang.so + runHook postInstall + ''; + + doCheck = false; # No tests defined in the plugin itself + + meta = with lib; { + description = "SystemVerilog frontend plugin for Yosys using the slang library"; + homepage = "https://github.com/povik/yosys-slang"; + license = licenses.isc; + platforms = platforms.all; + maintainers = with maintainers; [ lucgaitskell ]; + }; +}) diff --git a/pkgs/by-name/yo/yosys/package.nix b/pkgs/by-name/yo/yosys/package.nix index ee43be1a537a0..b5ff8737a250e 100644 --- a/pkgs/by-name/yo/yosys/package.nix +++ b/pkgs/by-name/yo/yosys/package.nix @@ -25,6 +25,7 @@ makeWrapper, yosys-bluespec, yosys-ghdl, + yosys-slang, yosys-symbiflow, nix-update-script, enablePython ? true, # enable python binding @@ -58,6 +59,7 @@ let allPlugins = { bluespec = yosys-bluespec; ghdl = yosys-ghdl; + slang = yosys-slang; } // yosys-symbiflow;