From c4bc1a8bb6038a26ac3d18a84841428bdedbd711 Mon Sep 17 00:00:00 2001 From: Yueh-Shun Li Date: Wed, 11 Sep 2024 04:23:36 +0800 Subject: [PATCH] pipBuildHook: handle pipBuildFlags `__structuredAttrs`-agnostically --- .../python/hooks/pip-build-hook.sh | 25 +++++++++++-------- .../meson-python/add-build-flags.sh | 2 +- 2 files changed, 16 insertions(+), 11 deletions(-) diff --git a/pkgs/development/interpreters/python/hooks/pip-build-hook.sh b/pkgs/development/interpreters/python/hooks/pip-build-hook.sh index 3d70de729f2d..430951bac7c9 100644 --- a/pkgs/development/interpreters/python/hooks/pip-build-hook.sh +++ b/pkgs/development/interpreters/python/hooks/pip-build-hook.sh @@ -1,22 +1,27 @@ # Setup hook to use for pip projects -echo "Sourcing pip-build-hook" +# shellcheck shell=bash -declare -a pipBuildFlags +echo "Sourcing pip-build-hook" pipBuildPhase() { echo "Executing pipBuildPhase" runHook preBuild mkdir -p dist + + local -a flagsArray=( + --verbose + --no-index + --no-deps + --no-clean + --no-build-isolation + --wheel-dir dist + ) + concatTo flagsArray pipBuildFlags + echo "Creating a wheel..." - @pythonInterpreter@ -m pip wheel \ - --verbose \ - --no-index \ - --no-deps \ - --no-clean \ - --no-build-isolation \ - --wheel-dir dist \ - $pipBuildFlags . + echoCmd 'pip build flags' "${flagsArray[@]}" + @pythonInterpreter@ -m pip wheel "${flagsArray[@]}" . echo "Finished creating a wheel..." runHook postBuild 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 d9327960eb1d..d781b1f966f6 100644 --- a/pkgs/development/python-modules/meson-python/add-build-flags.sh +++ b/pkgs/development/python-modules/meson-python/add-build-flags.sh @@ -3,7 +3,7 @@ mesonPythonBuildFlagsHook() { for f in $mesonFlags; do pypaBuildFlags+=" -Csetup-args=$f" # This requires pip>23.0.1, see: https://meson-python.readthedocs.io/en/latest/how-to-guides/config-settings.html - pipBuildFlags+=" --config-settings=setup-args=$f" + appendToVar pipBuildFlags "--config-settings=setup-args=$f" done }