nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1# shellcheck shell=bash
2
3# shellcheck disable=SC2034
4readonly zigDefaultCpuFlag=@zig_default_cpu_flag@
5readonly zigDefaultOptimizeFlag=@zig_default_optimize_flag@
6
7function zigConfigurePhase {
8 runHook preConfigure
9
10 ZIG_GLOBAL_CACHE_DIR=$(mktemp -d)
11 export ZIG_GLOBAL_CACHE_DIR
12
13 runHook postConfigure
14}
15
16function zigBuildPhase {
17 runHook preBuild
18
19 local buildCores=1
20
21 # Parallel building is enabled by default.
22 if [ "${enableParallelBuilding-1}" ]; then
23 buildCores="$NIX_BUILD_CORES"
24 fi
25
26 local flagsArray=(
27 "-j$buildCores"
28 )
29 concatTo flagsArray \
30 zigBuildFlags zigBuildFlagsArray
31
32 if [ -z "${dontSetZigDefaultFlags:-}" ]; then
33 concatTo flagsArray \
34 zigDefaultCpuFlag zigDefaultOptimizeFlag
35 fi
36
37 echoCmd 'zig build flags' "${flagsArray[@]}"
38 TERM=dumb zig build "${flagsArray[@]}" --verbose
39
40 runHook postBuild
41}
42
43function zigCheckPhase {
44 runHook preCheck
45
46 local buildCores=1
47
48 # Parallel building is enabled by default.
49 if [ "${enableParallelChecking-1}" ]; then
50 buildCores="$NIX_BUILD_CORES"
51 fi
52
53 local flagsArray=(
54 "-j$buildCores"
55 )
56 concatTo flagsArray \
57 zigCheckFlags zigCheckFlagsArray
58
59 if [ -z "${dontSetZigDefaultFlags:-}" ]; then
60 concatTo flagsArray \
61 zigDefaultCpuFlag zigDefaultOptimizeFlag
62 fi
63
64 echoCmd 'zig check flags' "${flagsArray[@]}"
65 TERM=dumb zig build test "${flagsArray[@]}" --verbose
66
67 runHook postCheck
68}
69
70function zigInstallPhase {
71 runHook preInstall
72
73 local buildCores=1
74
75 # Parallel building is enabled by default.
76 if [ "${enableParallelInstalling-1}" ]; then
77 buildCores="$NIX_BUILD_CORES"
78 fi
79
80 local flagsArray=(
81 "-j$buildCores"
82 )
83
84 concatTo flagsArray \
85 zigBuildFlags zigBuildFlagsArray \
86 zigInstallFlags zigInstallFlagsArray
87
88 if [ -z "${dontSetZigDefaultFlags:-}" ]; then
89 concatTo flagsArray \
90 zigDefaultCpuFlag zigDefaultOptimizeFlag
91 fi
92
93 if [ -z "${dontAddPrefix-}" ] && [ -n "$prefix" ]; then
94 # Zig does not recognize `--prefix=/dir/`, only `--prefix /dir/`
95 flagsArray+=("${prefixKey:---prefix}" "$prefix")
96 fi
97
98 echoCmd 'zig install flags' "${flagsArray[@]}"
99 TERM=dumb zig build install "${flagsArray[@]}" --verbose
100
101 runHook postInstall
102}
103
104if [ -z "${dontUseZigConfigure-}" ] && [ -z "${configurePhase-}" ]; then
105 configurePhase=zigConfigurePhase
106fi
107
108if [ -z "${dontUseZigBuild-}" ] && [ -z "${buildPhase-}" ]; then
109 buildPhase=zigBuildPhase
110fi
111
112if [ -z "${dontUseZigCheck-}" ] && [ -z "${checkPhase-}" ]; then
113 checkPhase=zigCheckPhase
114fi
115
116if [ -z "${dontUseZigInstall-}" ] && [ -z "${installPhase-}" ]; then
117 installPhase=zigInstallPhase
118fi