diff --git a/pkgs/development/tools/build-managers/corrosion/default.nix b/pkgs/development/tools/build-managers/corrosion/default.nix index 22222a8f88cf..c452e9aa4f5b 100644 --- a/pkgs/development/tools/build-managers/corrosion/default.nix +++ b/pkgs/development/tools/build-managers/corrosion/default.nix @@ -3,40 +3,49 @@ , fetchFromGitHub , cargo , cmake -, rustPlatform , rustc , libiconv }: stdenv.mkDerivation rec { pname = "corrosion"; - version = "0.4.7"; + version = "0.4.8"; src = fetchFromGitHub { owner = "corrosion-rs"; repo = "corrosion"; rev = "v${version}"; - hash = "sha256-6jjcBBc1gtMG2sYppOIRa/tYjmUgW4kFxAuoGj7Tpgw="; - }; - - cargoRoot = "generator"; - - cargoDeps = rustPlatform.fetchCargoTarball { - inherit src; - sourceRoot = "${src.name}/${cargoRoot}"; - name = "${pname}-${version}"; - hash = "sha256-M5Wnx+SfVvdhC5bHVZa0Di2up3Qt5z1jog8yxIKvG/Y="; + hash = "sha256-ChoeN7qQRR1YmYYvPdJVJ2SVGTDGlM7PsN9jzFjQEyU="; }; buildInputs = lib.optional stdenv.isDarwin libiconv; nativeBuildInputs = [ cmake - rustPlatform.cargoSetupHook cargo rustc ]; + doCheck = true; + + checkPhase = let + excludedTests = [ + "cbindgen_rust2cpp_build" + "cbindgen_rust2cpp_run_cpp-exe" + "hostbuild_build" + "hostbuild_run_rust-host-program" + "parse_target_triple_build" + "rustup_proxy_build" + ]; + excludedTestsRegex = lib.concatStringsSep "|" excludedTests; + in '' + runHook preCheck + + ctest -E "${excludedTestsRegex}" + + runHook postCheck + ''; + meta = with lib; { description = "Tool for integrating Rust into an existing CMake project"; homepage = "https://github.com/corrosion-rs/corrosion";