From 4caf9a61f94bd730bd178ec6f543b8972ee43552 Mon Sep 17 00:00:00 2001 From: Ivan Trubach Date: Tue, 18 Jun 2024 21:37:28 +0300 Subject: [PATCH] buildDotnetModule: convert makeWrapperArgs to an array --- .../build-dotnet-module/hooks/dotnet-fixup-hook.sh | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/pkgs/build-support/dotnet/build-dotnet-module/hooks/dotnet-fixup-hook.sh b/pkgs/build-support/dotnet/build-dotnet-module/hooks/dotnet-fixup-hook.sh index f9aba29a4355..a9701f2898b2 100644 --- a/pkgs/build-support/dotnet/build-dotnet-module/hooks/dotnet-fixup-hook.sh +++ b/pkgs/build-support/dotnet/build-dotnet-module/hooks/dotnet-fixup-hook.sh @@ -1,3 +1,12 @@ +# For compatibility, convert makeWrapperArgs to an array unless we are using +# structured attributes. That is, we ensure that makeWrapperArgs is always an +# array. +# See https://github.com/NixOS/nixpkgs/blob/858f4db3048c5be3527e183470e93c1a72c5727c/pkgs/build-support/dotnet/build-dotnet-module/hooks/dotnet-fixup-hook.sh#L1-L3 +# and https://github.com/NixOS/nixpkgs/pull/313005#issuecomment-2175482920 +if [[ -z $__structuredAttrs ]]; then + makeWrapperArgs=( ${makeWrapperArgs-} ) +fi + # First argument is the executable you want to wrap, # the second is the destination for the wrapper. wrapDotnetProgram() { @@ -17,10 +26,8 @@ dotnetFromEnv' if [[ -n $__structuredAttrs ]]; then local -r dotnetRuntimeDepsArray=( "${dotnetRuntimeDeps[@]}" ) - local -r makeWrapperArgsArray=( "${makeWrapperArgs[@]}" ) else local -r dotnetRuntimeDepsArray=($dotnetRuntimeDeps) - local -r makeWrapperArgsArray=($makeWrapperArgs) fi local dotnetRuntimeDepsFlags=() @@ -49,7 +56,7 @@ dotnetFromEnv' "${dotnetRuntimeDepsFlags[@]}" \ "${dotnetRootFlagsArray[@]}" \ "${gappsWrapperArgs[@]}" \ - "${makeWrapperArgsArray[@]}" + "${makeWrapperArgs[@]}" echo "installed wrapper to "$2"" }