yosys: fix plugin module flags and update environment variable

Yosys's handling of plugins changed considerably since 0.56.
This can fix `withPlugins` on current yosys version.

Signed-off-by: Qiming Chu <cchuqiming@gmail.com>
This commit is contained in:
Qiming Chu
2026-01-15 22:07:21 +08:00
parent d33c3268f2
commit 271a0f8a2d
+6 -2
View File
@@ -62,9 +62,13 @@ let
plugins:
let
paths = lib.closePropagation plugins;
libExt = stdenv.hostPlatform.extensions.sharedLibrary;
pluginPath = "$out/share/yosys/plugins";
module_flags =
with builtins;
concatStringsSep " " (map (n: "--add-flags -m --add-flags ${n.plugin}") plugins);
concatStringsSep " " (
map (n: "--add-flags -m --add-flags ${pluginPath}/${n.plugin}${libExt}") plugins
);
in
lib.appendToName "with-plugins" (symlinkJoin {
inherit (yosys) name;
@@ -72,7 +76,7 @@ let
nativeBuildInputs = [ makeWrapper ];
postBuild = ''
wrapProgram $out/bin/yosys \
--set NIX_YOSYS_PLUGIN_DIRS $out/share/yosys/plugins \
--set YOSYS_PATH $out/share/yosys \
${module_flags}
'';
meta.mainProgram = "yosys";