stdenv: fix propagatedUserEnvPkgs when __structuredAttrs is true

This is a follow-up of #388908.

Previously, $out/nix-support/propagated-user-env-packages was not
created when __structuredAttrs is true, the first element of
propagatedUserEnvPkgs is null and the length of propagatedUserEnvPkgs
is at least 2.

Fixes #388829

Lin Jian 75281ae8 ff58e3da

Changed files
+2 -2
pkgs
stdenv
+1 -1
pkgs/stdenv/generic/builder.sh
···
# Allow the user to install stdenv using nix-env and get the packages
# in stdenv.
mkdir $out/nix-support
-
if [ "$propagatedUserEnvPkgs" ]; then
+
if [ "${propagatedUserEnvPkgs[*]}" ]; then
printf '%s ' "${propagatedUserEnvPkgs[@]}" > $out/nix-support/propagated-user-env-packages
fi
+1 -1
pkgs/stdenv/generic/setup.sh
···
# Propagate user-env packages into the output with binaries, TODO?
-
if [ -n "${propagatedUserEnvPkgs:-}" ]; then
+
if [ -n "${propagatedUserEnvPkgs[*]:-}" ]; then
mkdir -p "${!outputBin}/nix-support"
printWords "${propagatedUserEnvPkgs[@]}" > "${!outputBin}/nix-support/propagated-user-env-packages"
fi