mirror of
https://codeberg.org/icewind/mill-scale.git
synced 2026-06-03 09:54:19 +02:00
18 lines
883 B
Nix
18 lines
883 B
Nix
{lib}: let
|
|
inherit (builtins) isAttrs attrNames;
|
|
inherit (lib) assertMsg remove;
|
|
in
|
|
cargoToml: rec {
|
|
tomlPackage = cargoToml.package or cargoToml.workspace.package;
|
|
hasMsrv = tomlPackage ? rust-version;
|
|
hasWorkspace = tomlPackage ? workspace;
|
|
hasFeatures = cargoToml ? features && isAttrs cargoToml.features;
|
|
features = cargoToml.features or {};
|
|
defaultFeatures = features.default or [];
|
|
nonDefaultFeatures = remove "default" (attrNames features);
|
|
hasNonDefaultFeatures = hasFeatures && (defaultFeatures != nonDefaultFeatures);
|
|
hasDefaultFeatures = cargoToml ? features && cargoToml.features ? default;
|
|
msrv = assert assertMsg hasMsrv ''"rust-version" not set in Cargo.toml''; tomlPackage.rust-version;
|
|
dependencies = attrNames (cargoToml.dependencies or {});
|
|
dev-dependencies = attrNames (cargoToml.dev-dependencies or {});
|
|
}
|