pipBuildHook: handle pipBuildFlags `__structuredAttrs`-agnostically

Changed files
+16 -11
pkgs
development
interpreters
python
python-modules
meson-python
+15 -10
pkgs/development/interpreters/python/hooks/pip-build-hook.sh
···
# Setup hook to use for pip projects
-
echo "Sourcing pip-build-hook"
-
declare -a pipBuildFlags
pipBuildPhase() {
echo "Executing pipBuildPhase"
runHook preBuild
mkdir -p dist
echo "Creating a wheel..."
-
@pythonInterpreter@ -m pip wheel \
-
--verbose \
-
--no-index \
-
--no-deps \
-
--no-clean \
-
--no-build-isolation \
-
--wheel-dir dist \
-
$pipBuildFlags .
echo "Finished creating a wheel..."
runHook postBuild
···
# Setup hook to use for pip projects
+
# shellcheck shell=bash
+
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..."
+
echoCmd 'pip build flags' "${flagsArray[@]}"
+
@pythonInterpreter@ -m pip wheel "${flagsArray[@]}" .
echo "Finished creating a wheel..."
runHook postBuild
+1 -1
pkgs/development/python-modules/meson-python/add-build-flags.sh
···
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"
done
}
···
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
+
appendToVar pipBuildFlags "--config-settings=setup-args=$f"
done
}