mirror of
https://github.com/NixOS/nixpkgs.git
synced 2026-06-07 22:03:37 +00:00
27 lines
1.1 KiB
Bash
27 lines
1.1 KiB
Bash
mesonPythonBuildFlagsHook() {
|
|
# Use a build directory with a deterministic path by setting `build-dir` [1]
|
|
# and allow consumers to override it via `mesonBuildDir`.
|
|
# Setting `build-dir` also causes the build directory to be _persistent_,
|
|
# i.e., it won't be deleted after the build [2].
|
|
#
|
|
# [1] https://github.com/mesonbuild/meson-python/issues/671
|
|
# [2] https://mesonbuild.com/meson-python/how-to-guides/config-settings.html#using-a-persistent-build-directory
|
|
#
|
|
: ${mesonBuildDir:=build}
|
|
appendToVar pypaBuildFlags "-Cbuild-dir=$mesonBuildDir"
|
|
appendToVar pipBuildFlags "-Cbuild-dir=$mesonBuildDir"
|
|
|
|
# Add all of mesonFlags to `setup-args`
|
|
local flagsArray=()
|
|
concatTo flagsArray mesonFlags mesonFlagsArray
|
|
for f in "${flagsArray[@]}"; do
|
|
appendToVar pypaBuildFlags "-Csetup-args=$f"
|
|
|
|
# Using the same config key multiple times requires pip>=23.1, see:
|
|
# https://meson-python.readthedocs.io/en/latest/how-to-guides/config-settings.html
|
|
appendToVar pipBuildFlags "-Csetup-args=$f"
|
|
done
|
|
}
|
|
|
|
postConfigureHooks+=(mesonPythonBuildFlagsHook)
|