rizin-nix-plugins/rizin-with-plugin-support.nix
2022-07-30 00:16:49 +02:00

27 lines
817 B
Nix

{ rizin-unwrapped, rizinPlugins, makeWrapper, symlinkJoin }:
let
makeRizinPackageWithPlugins = plugins:
let
plugins_path = symlinkJoin {
name = "rizin-plugins";
paths = plugins;
};
in
symlinkJoin {
name = "rizin";
paths = [ rizin-unwrapped ];
buildInputs = [makeWrapper];
postBuild = ''
wrapProgramArgs=()
for plugin in ${plugins_path}/lib/rizin/plugins/*; do
wrapProgramArgs+=("--add-flags")
wrapProgramArgs+=("-l")
wrapProgramArgs+=("--add-flags")
wrapProgramArgs+=("$plugin")
done
wrapProgram $out/bin/rizin ''${wrapProgramArgs[*]}
'';
} // {
withPlugins = p: makeRizinPackageWithPlugins (plugins ++ (p rizinPlugins));
};
in makeRizinPackageWithPlugins []