Files
nixpkgs/pkgs/development/python-modules/meson-python/add-build-flags.sh

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)