diff --git a/pkgs/development/python-modules/meson-python/add-build-flags.sh b/pkgs/development/python-modules/meson-python/add-build-flags.sh index 8604ba9ebe7c..870ad01fb107 100644 --- a/pkgs/development/python-modules/meson-python/add-build-flags.sh +++ b/pkgs/development/python-modules/meson-python/add-build-flags.sh @@ -1,4 +1,16 @@ 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 -Csetup-args for pypa builds local flagsArray=() concatTo flagsArray mesonFlags mesonFlagsArray