mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-24 16:03:23 +00:00
add9bca495
Tested samba4 with and without __structuredAttrs.
77 lines
2.0 KiB
Bash
77 lines
2.0 KiB
Bash
# shellcheck shell=bash disable=SC2206
|
|
|
|
wafConfigurePhase() {
|
|
runHook preConfigure
|
|
|
|
if ! [ -f "${wafPath:=./waf}" ]; then
|
|
echo "copying waf to $wafPath..."
|
|
cp @waf@/bin/waf "$wafPath"
|
|
fi
|
|
|
|
if [ -z "${dontAddPrefix:-}" ] && [ -n "$prefix" ]; then
|
|
local prefixFlag="${prefixKey:---prefix=}$prefix"
|
|
fi
|
|
|
|
if [ -n "${PKG_CONFIG}" ]; then
|
|
export PKGCONFIG="${PKG_CONFIG}"
|
|
fi
|
|
|
|
local flagsArray=( $prefixFlag )
|
|
concatTo flagsArray wafConfigureFlags wafConfigureFlagsArray wafConfigureTargets=configure
|
|
|
|
echoCmd 'waf configure flags' "${flagsArray[@]}"
|
|
python "$wafPath" "${flagsArray[@]}"
|
|
|
|
if ! [[ -v enableParallelBuilding ]]; then
|
|
enableParallelBuilding=1
|
|
echo "waf: enabled parallel building"
|
|
fi
|
|
|
|
if ! [[ -v enableParallelInstalling ]]; then
|
|
enableParallelInstalling=1
|
|
echo "waf: enabled parallel installing"
|
|
fi
|
|
|
|
runHook postConfigure
|
|
}
|
|
|
|
wafBuildPhase () {
|
|
runHook preBuild
|
|
|
|
local flagsArray=( ${enableParallelBuilding:+-j ${NIX_BUILD_CORES}} )
|
|
concatTo flagsArray wafFlags wafFlagsArray wafBuildFlags wafBuildFlagsArray wafBuildTargets=build
|
|
|
|
echoCmd 'waf build flags' "${flagsArray[@]}"
|
|
python "$wafPath" "${flagsArray[@]}"
|
|
|
|
runHook postBuild
|
|
}
|
|
|
|
wafInstallPhase() {
|
|
runHook preInstall
|
|
|
|
if [ -n "$prefix" ]; then
|
|
mkdir -p "$prefix"
|
|
fi
|
|
|
|
local flagsArray=( ${enableParallelInstalling:+-j ${NIX_BUILD_CORES}} )
|
|
concatTo flagsArray wafFlags wafFlagsArray wafInstallFlags wafInstallFlagsArray wafInstallTargets=install
|
|
|
|
echoCmd 'waf install flags' "${flagsArray[@]}"
|
|
python "$wafPath" "${flagsArray[@]}"
|
|
|
|
runHook postInstall
|
|
}
|
|
|
|
if [ -z "${dontUseWafConfigure-}" ] && [ -z "${configurePhase-}" ]; then
|
|
configurePhase=wafConfigurePhase
|
|
fi
|
|
|
|
if [ -z "${dontUseWafBuild-}" ] && [ -z "${buildPhase-}" ]; then
|
|
buildPhase=wafBuildPhase
|
|
fi
|
|
|
|
if [ -z "${dontUseWafInstall-}" ] && [ -z "${installPhase-}" ]; then
|
|
installPhase=wafInstallPhase
|
|
fi
|