From ebf6790c393f4e89eede6d8049c95dc738734bea Mon Sep 17 00:00:00 2001 From: Someone Serge Date: Thu, 15 Aug 2024 23:37:46 +0000 Subject: [PATCH] stdenv: concatTo: fall back to old behaviour for "*Array" variables Fixes e.g. the `sudo` build failure --- pkgs/stdenv/generic/setup.sh | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/pkgs/stdenv/generic/setup.sh b/pkgs/stdenv/generic/setup.sh index ea61ec7509ce..ef645e4e513e 100644 --- a/pkgs/stdenv/generic/setup.sh +++ b/pkgs/stdenv/generic/setup.sh @@ -400,8 +400,15 @@ concatTo() { -a*) targetref+=( "${nameref[@]}" ) ;; *) - # shellcheck disable=SC2206 - targetref+=( ${nameref-} ) ;; + if [[ "$name" = *"Array" ]]; then + nixErrorLog "concatTo(): $name is not declared as array, treating as a singleton. This will become an error in future" + # Reproduces https://github.com/NixOS/nixpkgs/pull/318614/files#diff-7c7ca80928136cfc73a02d5b28350bd900e331d6d304857053ffc9f7beaad576L359 + targetref+=( ${nameref+"${nameref[@]}"} ) + else + # shellcheck disable=SC2206 + targetref+=( ${nameref-} ) + fi + ;; esac fi done