summaryrefslogtreecommitdiffstats
path: root/pkgs/by-name/wa/waf/setup-hook.sh
diff options
context:
space:
mode:
authorAnderson Torres <torres.anderson.85@protonmail.com>2024-02-08 22:06:02 -0300
committerAnderson Torres <torres.anderson.85@protonmail.com>2024-02-08 22:06:02 -0300
commit907238ae517879c7eade60cc3fb5824b088b643b (patch)
treeb58508e50e10d04fc7aee297582702f8b86b3490 /pkgs/by-name/wa/waf/setup-hook.sh
parentad2200abfe4e863c775b5d5df746d5dfb0b30a54 (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.sh94
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