From be70c02461e4e9e0ff163159a85edaef6188a313 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= <joerg@thalheim.io>
Date: Sat, 15 Apr 2017 12:42:09 +0200
Subject: [PATCH] buildRustPackage: add standard package hooks

when overriding build phases also the standard hooks should be called
---
 pkgs/build-support/rust/default.nix | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/pkgs/build-support/rust/default.nix b/pkgs/build-support/rust/default.nix
index 1287d401e4a..087bc653aa3 100644
--- a/pkgs/build-support/rust/default.nix
+++ b/pkgs/build-support/rust/default.nix
@@ -27,7 +27,11 @@ in stdenv.mkDerivation (args // {
 
   buildInputs = [ git rust.cargo rust.rustc ] ++ buildInputs;
 
-  configurePhase = args.configurePhase or "true";
+  configurePhase = args.configurePhase or ''
+    runHook preConfigure
+    # noop
+    runHook postConfigure
+  '';
 
   postUnpack = ''
     eval "$cargoDepsHook"
@@ -94,21 +98,27 @@ in stdenv.mkDerivation (args // {
   '' + (args.prePatch or "");
 
   buildPhase = with builtins; args.buildPhase or ''
+    runHook preBuild
     echo "Running cargo build --release ${concatStringsSep " " cargoBuildFlags}"
     cargo build --release ${concatStringsSep " " cargoBuildFlags}
+    runHook postBuild
   '';
 
   checkPhase = args.checkPhase or ''
+    runHook preCheck
     echo "Running cargo test"
     cargo test
+    runHook postCheck
   '';
 
   doCheck = args.doCheck or true;
 
   installPhase = args.installPhase or ''
+    runHook preInstall
     mkdir -p $out/bin
     for f in $(find target/release -maxdepth 1 -type f); do
       cp $f $out/bin
     done;
+    runHook postInstall
   '';
 })