summaryrefslogtreecommitdiff
path: root/pkgs/development/interpreters/python/hooks/setuptools-build-hook.sh
blob: 9f2185265b12fe0767b6d9709179d4abf2d7ae98 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# Setup hook for setuptools.
# shellcheck shell=bash

echo "Sourcing setuptools-build-hook"

setuptoolsBuildPhase() {
    echo "Executing setuptoolsBuildPhase"
    local setuptools_has_parallel=@setuptools_has_parallel@
    runHook preBuild

    cp -f @setuppy@ nix_run_setup
    local -a flagsArray=()
    if [ -n "${setupPyGlobalFlags[*]-}" ]; then
        concatTo flagsArray setupPyGlobalFlags
    fi
    if [ -n "$enableParallelBuilding" ]; then
        if [ -n "$setuptools_has_parallel" ]; then
            appendToVar setupPyBuildFlags --parallel "$NIX_BUILD_CORES"
        fi
    fi
    if [ -n "${setupPyBuildFlags[*]-}" ]; then
        flagsArray+=(build_ext)
        concatTo flagsArray setupPyBuildFlags
    fi
    echoCmd 'setup.py build flags' "${flagsArray[@]}"
    @pythonInterpreter@ nix_run_setup "${flagsArray[@]}" bdist_wheel

    runHook postBuild
    echo "Finished executing setuptoolsBuildPhase"
}

if [ -z "${dontUseSetuptoolsBuild-}" ] && [ -z "${buildPhase-}" ]; then
    echo "Using setuptoolsBuildPhase"
    buildPhase=setuptoolsBuildPhase
fi