about summary refs log tree commit diff
path: root/pkgs/development/tools/build-managers/corrosion/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/tools/build-managers/corrosion/default.nix')
-rw-r--r--pkgs/development/tools/build-managers/corrosion/default.nix35
1 files changed, 22 insertions, 13 deletions
diff --git a/pkgs/development/tools/build-managers/corrosion/default.nix b/pkgs/development/tools/build-managers/corrosion/default.nix
index 22222a8f88cf1..c452e9aa4f5bb 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";