diff options
author | Anderson Torres <torres.anderson.85@protonmail.com> | 2024-02-08 22:06:02 -0300 |
---|---|---|
committer | Anderson Torres <torres.anderson.85@protonmail.com> | 2024-02-08 22:06:02 -0300 |
commit | 907238ae517879c7eade60cc3fb5824b088b643b (patch) | |
tree | b58508e50e10d04fc7aee297582702f8b86b3490 /pkgs/by-name/wa/waf/setup-hook.sh | |
parent | ad2200abfe4e863c775b5d5df746d5dfb0b30a54 (diff) |
waf: remove vrthra from maintainers
Also, migrate it to by-name hierarchy.
Diffstat (limited to 'pkgs/by-name/wa/waf/setup-hook.sh')
-rw-r--r-- | pkgs/by-name/wa/waf/setup-hook.sh | 94 |
1 files changed, 94 insertions, 0 deletions
diff --git a/pkgs/by-name/wa/waf/setup-hook.sh b/pkgs/by-name/wa/waf/setup-hook.sh new file mode 100644 index 000000000000..d3e2bf97e682 --- /dev/null +++ b/pkgs/by-name/wa/waf/setup-hook.sh @@ -0,0 +1,94 @@ +# 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 + $wafConfigureFlags "${wafConfigureFlagsArray[@]}" + ${wafConfigureTargets:-configure} + ) + + if [ -z "${dontAddWafCrossFlags:-}" ]; then + flagsArray+=(@wafCrossFlags@) + fi + + 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 + + # set to empty if unset + : "${wafFlags=}" + + local flagsArray=( + ${enableParallelBuilding:+-j ${NIX_BUILD_CORES}} + $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}} + $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 |