From 3a79bc3aee323c79b534cb5ca80d85daf60b4182 Mon Sep 17 00:00:00 2001 From: Yueh-Shun Li Date: Mon, 7 Oct 2024 07:58:17 +0800 Subject: [PATCH] pythonRelaxDepsHook: handle attributes `__structuredAttrs`-agnostically Make the interation across pythonRelaxDeps and pythonRemoveDeps work regardless of __structuredAttrs. --- .../interpreters/python/hooks/python-relax-deps-hook.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/development/interpreters/python/hooks/python-relax-deps-hook.sh b/pkgs/development/interpreters/python/hooks/python-relax-deps-hook.sh index 7da5c0b0ac27..cccb49313469 100644 --- a/pkgs/development/interpreters/python/hooks/python-relax-deps-hook.sh +++ b/pkgs/development/interpreters/python/hooks/python-relax-deps-hook.sh @@ -42,13 +42,13 @@ _pythonRelaxDeps() { local -r metadata_file="$1" - if [[ -z "${pythonRelaxDeps:-}" ]] || [[ "$pythonRelaxDeps" == 0 ]]; then + if [[ -z "${pythonRelaxDeps[*]-}" ]] || [[ "$pythonRelaxDeps" == 0 ]]; then return elif [[ "$pythonRelaxDeps" == 1 ]]; then sed -i "$metadata_file" -r \ -e 's/(Requires-Dist: [a-zA-Z0-9_.-]+\s*(\[[^]]+\])?)[^;]*(;.*)?/\1\3/' else - for dep in $pythonRelaxDeps; do + for dep in ${pythonRelaxDeps[*]}; do sed -i "$metadata_file" -r \ -e "s/(Requires-Dist: $dep\s*(\[[^]]+\])?)[^;]*(;.*)?/\1\3/i" done @@ -58,13 +58,13 @@ _pythonRelaxDeps() { _pythonRemoveDeps() { local -r metadata_file="$1" - if [[ -z "${pythonRemoveDeps:-}" ]] || [[ "$pythonRemoveDeps" == 0 ]]; then + if [[ -z "${pythonRemoveDeps[*]-}" ]] || [[ "$pythonRemoveDeps" == 0 ]]; then return elif [[ "$pythonRemoveDeps" == 1 ]]; then sed -i "$metadata_file" \ -e '/Requires-Dist:.*/d' else - for dep in $pythonRemoveDeps; do + for dep in ${pythonRemoveDeps[*]-}; do sed -i "$metadata_file" \ -e "/Requires-Dist: $dep/d" done