nixpkgs/pkgs/applications/editors/vim/plugins/build-vim-plugin.nix
Matthieu C. e9f4eb9728 buildVimPlugin: enable structuredAttrs
it's a cool feature, let's enable it before release to find issues early

the neovimRequireCheckHook needed changes since now 'dependencies' is
seen as a bash array instead of a string:
1. we first expand it as a string
2. we replace ' ' with ',' (as before)
2024-09-23 11:23:24 +02:00

48 lines
990 B
Nix

{ lib
, stdenv
, rtpPath
, toVimPlugin
}:
{
addRtp = drv: lib.warn "`addRtp` is deprecated, does nothing." drv;
buildVimPlugin =
{ name ? "${attrs.pname}-${attrs.version}"
, src
, unpackPhase ? ""
, configurePhase ? ":"
, buildPhase ? ":"
, preInstall ? ""
, postInstall ? ""
, path ? "."
, addonInfo ? null
, meta ? { }
, ...
}@attrs:
let
drv = stdenv.mkDerivation (attrs // {
name = lib.warnIf (attrs ? vimprefix) "The 'vimprefix' is now hardcoded in toVimPlugin" name;
__structuredAttrs = true;
inherit unpackPhase configurePhase buildPhase addonInfo preInstall postInstall;
installPhase = ''
runHook preInstall
target=$out/${rtpPath}/${path}
mkdir -p $out/${rtpPath}
cp -r . $target
runHook postInstall
'';
meta = {
platforms = lib.platforms.all;
} // meta;
});
in
toVimPlugin drv;
}