diff --git a/doc/stdenv.xml b/doc/stdenv.xml index a3990dec052f..4a5c1ba7423a 100644 --- a/doc/stdenv.xml +++ b/doc/stdenv.xml @@ -2751,9 +2751,9 @@ addEnvHooks "$hostOffset" myBashFunction Overrides the configure, build, and install phases. This will run the - "waf" script used by many projects. If waf doesn’t exist, it will copy - the version of waf available in Nixpkgs wafFlags can be used to pass - flags to the waf script. + "waf" script used by many projects. If wafPath (default ./waf) doesn’t + exist, it will copy the version of waf available in Nixpkgs. wafFlags can + be used to pass flags to the waf script. diff --git a/pkgs/development/tools/build-managers/waf/setup-hook.sh b/pkgs/development/tools/build-managers/waf/setup-hook.sh index b8a448df8ef8..c1ff160982a0 100644 --- a/pkgs/development/tools/build-managers/waf/setup-hook.sh +++ b/pkgs/development/tools/build-managers/waf/setup-hook.sh @@ -1,8 +1,9 @@ wafConfigurePhase() { runHook preConfigure - if ! [ -f ./waf ]; then - cp @waf@ waf + if ! [ -f "${wafPath:=./waf}" ]; then + echo "copying waf to $wafPath..." + cp @waf@ "$wafPath" fi if [[ -z "${dontAddPrefix:-}" && -n "$prefix" ]]; then @@ -14,7 +15,7 @@ wafConfigurePhase() { ${configureTargets:-configure} ) echoCmd 'configure flags' "${flagsArray[@]}" - python waf "${flagsArray[@]}" + python "$wafPath" "${flagsArray[@]}" runHook postConfigure } @@ -33,7 +34,7 @@ wafBuildPhase () { ) echoCmd 'build flags' "${flagsArray[@]}" - python waf "${flagsArray[@]}" + python "$wafPath" "${flagsArray[@]}" runHook postBuild } @@ -52,7 +53,7 @@ wafInstallPhase() { ) echoCmd 'install flags' "${flagsArray[@]}" - python waf "${flagsArray[@]}" + python "$wafPath" "${flagsArray[@]}" runHook postInstall }