Merge pull request #230874 from Ninlives/runPhase

This commit is contained in:
Artturi 2023-11-07 20:00:47 +02:00 committed by GitHub
commit 71f42b7f1a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -1526,6 +1526,44 @@ showPhaseFooter() {
} }
runPhase() {
local curPhase="$*"
if [[ "$curPhase" = unpackPhase && -n "${dontUnpack:-}" ]]; then return; fi
if [[ "$curPhase" = patchPhase && -n "${dontPatch:-}" ]]; then return; fi
if [[ "$curPhase" = configurePhase && -n "${dontConfigure:-}" ]]; then return; fi
if [[ "$curPhase" = buildPhase && -n "${dontBuild:-}" ]]; then return; fi
if [[ "$curPhase" = checkPhase && -z "${doCheck:-}" ]]; then return; fi
if [[ "$curPhase" = installPhase && -n "${dontInstall:-}" ]]; then return; fi
if [[ "$curPhase" = fixupPhase && -n "${dontFixup:-}" ]]; then return; fi
if [[ "$curPhase" = installCheckPhase && -z "${doInstallCheck:-}" ]]; then return; fi
if [[ "$curPhase" = distPhase && -z "${doDist:-}" ]]; then return; fi
if [[ -n $NIX_LOG_FD ]]; then
echo "@nix { \"action\": \"setPhase\", \"phase\": \"$curPhase\" }" >&"$NIX_LOG_FD"
fi
showPhaseHeader "$curPhase"
dumpVars
local startTime=$(date +"%s")
# Evaluate the variable named $curPhase if it exists, otherwise the
# function named $curPhase.
eval "${!curPhase:-$curPhase}"
local endTime=$(date +"%s")
showPhaseFooter "$curPhase" "$startTime" "$endTime"
if [ "$curPhase" = unpackPhase ]; then
# make sure we can cd into the directory
[ -n "${sourceRoot:-}" ] && chmod +x "${sourceRoot}"
cd "${sourceRoot:-.}"
fi
}
genericBuild() { genericBuild() {
# variable used by our gzip wrapper to add -n. # variable used by our gzip wrapper to add -n.
# gzip is in common-path.nix and is added to nix-shell but we only want to change its behaviour in nix builds. do not move to a setupHook in gzip. # gzip is in common-path.nix and is added to nix-shell but we only want to change its behaviour in nix builds. do not move to a setupHook in gzip.
@ -1552,39 +1590,7 @@ genericBuild() {
# phase name is space-free, which it must be because it's the name # phase name is space-free, which it must be because it's the name
# of either a shell variable or a shell function. # of either a shell variable or a shell function.
for curPhase in ${phases[*]}; do for curPhase in ${phases[*]}; do
if [[ "$curPhase" = unpackPhase && -n "${dontUnpack:-}" ]]; then continue; fi runPhase "$curPhase"
if [[ "$curPhase" = patchPhase && -n "${dontPatch:-}" ]]; then continue; fi
if [[ "$curPhase" = configurePhase && -n "${dontConfigure:-}" ]]; then continue; fi
if [[ "$curPhase" = buildPhase && -n "${dontBuild:-}" ]]; then continue; fi
if [[ "$curPhase" = checkPhase && -z "${doCheck:-}" ]]; then continue; fi
if [[ "$curPhase" = installPhase && -n "${dontInstall:-}" ]]; then continue; fi
if [[ "$curPhase" = fixupPhase && -n "${dontFixup:-}" ]]; then continue; fi
if [[ "$curPhase" = installCheckPhase && -z "${doInstallCheck:-}" ]]; then continue; fi
if [[ "$curPhase" = distPhase && -z "${doDist:-}" ]]; then continue; fi
if [[ -n $NIX_LOG_FD ]]; then
echo "@nix { \"action\": \"setPhase\", \"phase\": \"$curPhase\" }" >&"$NIX_LOG_FD"
fi
showPhaseHeader "$curPhase"
dumpVars
local startTime=$(date +"%s")
# Evaluate the variable named $curPhase if it exists, otherwise the
# function named $curPhase.
eval "${!curPhase:-$curPhase}"
local endTime=$(date +"%s")
showPhaseFooter "$curPhase" "$startTime" "$endTime"
if [ "$curPhase" = unpackPhase ]; then
# make sure we can cd into the directory
[ -n "${sourceRoot:-}" ] && chmod +x "${sourceRoot}"
cd "${sourceRoot:-.}"
fi
done done
} }