improve rust template for ensuring package overriable

This commit is contained in:
ulic-youthlic 2025-05-25 16:37:32 +08:00
parent dc5dfddf74
commit 18bfe1ce9a
Signed by: youthlic
GPG key ID: 63E86C3C14A0D721
6 changed files with 100 additions and 38 deletions

View file

@ -0,0 +1,30 @@
{
lib,
basicArgs,
buildInputs,
nativeBuildInputs,
}: let
f = {
craneLib,
lib,
cargoArtifacts,
...
} @ args: let
genInputs = lib.genInputsWith args;
in
craneLib.buildPackage (basicArgs
// {
inherit
(craneLib.crateNameFromCargoToml {
cargoToml = "${toString basicArgs.src}/Cargo.toml";
})
pname
version
;
inherit cargoArtifacts;
buildInputs = genInputs buildInputs;
nativeBuildInputs = genInputs nativeBuildInputs;
doCheck = false;
});
in
with lib; setFunctionArgs f ((functionArgs f) // (genFunctionArgs (buildInputs ++ nativeBuildInputs)))