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