diff --git a/pkgs/development/compilers/dart/package-source-builders/super_native_extensions/default.nix b/pkgs/development/compilers/dart/package-source-builders/super_native_extensions/default.nix index 8528855f2b10..0fd428a26506 100644 --- a/pkgs/development/compilers/dart/package-source-builders/super_native_extensions/default.nix +++ b/pkgs/development/compilers/dart/package-source-builders/super_native_extensions/default.nix @@ -17,12 +17,26 @@ let pname = "super_native_extensions-rs"; inherit version src; + unpackPhase = '' + runHook preUnpack + + if [ -d $src/super_native_extensions ]; then + cp -r $src/super_native_extensions ${src.name} + else + cp -r $src ${src.name} + fi + chmod -R u+w -- "$sourceRoot" + + runHook postUnpack + ''; + sourceRoot = "${src.name}/rust"; useFetchCargoVendor = true; cargoHash = rec { + _0_9_1 = _0_9_0-dev_6; _0_9_0-dev_6 = "sha256-1yJIbBxScmkCwy/e+/z2cYA8qQBfT0yoIBmOSPVd4h4="; _0_9_0-dev_5 = _0_8_22; _0_9_0-dev_3 = _0_8_22; @@ -69,8 +83,14 @@ stdenv.mkDerivation { runHook preInstall cp -r "$src" "$out" - chmod +rwx $out/cargokit/cmake/cargokit.cmake - cp ${fakeCargokitCmake} $out/cargokit/cmake/cargokit.cmake + if [ -d $out/super_native_extensions ]; then + pushd $out/super_native_extensions + else + pushd $out + fi + chmod +rwx cargokit/cmake/cargokit.cmake + cp ${fakeCargokitCmake} cargokit/cmake/cargokit.cmake + popd runHook postInstall '';