68 lines
1.2 KiB
Nix
68 lines
1.2 KiB
Nix
{
|
|
pkgs,
|
|
craneLib,
|
|
|
|
pkg-config,
|
|
openssl,
|
|
util-linux,
|
|
|
|
cargo-dylint,
|
|
}:
|
|
|
|
let
|
|
pname = "cargo-dylint-general";
|
|
version = "4.0.0";
|
|
|
|
src = pkgs.fetchFromGitHub {
|
|
owner = "trailofbits";
|
|
repo = "dylint";
|
|
tag = "v${version}";
|
|
sha256 = "sha256-Z8uuewp7Buoadayc0oTafmfvwNT36KukWKiHxL/mQfI=";
|
|
};
|
|
|
|
crane = craneLib.overrideToolchain (
|
|
pkgs.rust-bin.nightly."2025-01-09".default.override { extensions = [ "rustc-dev" ]; }
|
|
);
|
|
|
|
commonArgs = {
|
|
inherit pname version;
|
|
|
|
src = src;
|
|
|
|
patches = [ ./cargo-dylint-general-ignore-home.patch ];
|
|
|
|
strictDeps = true;
|
|
|
|
buildInputs = [ openssl ];
|
|
nativeBuildInputs = [
|
|
pkg-config
|
|
cargo-dylint
|
|
];
|
|
|
|
cargoVendorDir = crane.vendorCargoDeps { cargoLock = ./cargo-dylint-general-Cargo.lock; };
|
|
|
|
preBuild = ''
|
|
cd examples/general
|
|
mkdir -p .cargo
|
|
'';
|
|
|
|
cargoExtraArgs = "-p general";
|
|
|
|
RUSTUP_TOOLCHAIN = "nightly-2025-01-09";
|
|
};
|
|
in
|
|
|
|
crane.buildPackage (
|
|
commonArgs
|
|
// {
|
|
cargoArtifacts = null;
|
|
|
|
doCheck = false;
|
|
|
|
postFixup = ''
|
|
mv $out/lib/libgeneral{.so,@$RUSTUP_TOOLCHAIN.so}
|
|
'';
|
|
|
|
doNotRemoveReferencesToRustToolchain = true;
|
|
}
|
|
)
|