diff --git a/pkgs/by-name/er/eresi/package.nix b/pkgs/by-name/er/eresi/package.nix index 817cd76ef664..0e2783ad658b 100644 --- a/pkgs/by-name/er/eresi/package.nix +++ b/pkgs/by-name/er/eresi/package.nix @@ -84,6 +84,8 @@ stdenv.mkDerivation rec { installTargets = lib.singleton "install" ++ lib.optional stdenv.hostPlatform.is64bit "install64"; + __structuredAttrs = true; + meta = { description = "ERESI Reverse Engineering Software Interface"; license = lib.licenses.gpl2Only; diff --git a/pkgs/stdenv/generic/setup.sh b/pkgs/stdenv/generic/setup.sh index 7f20b3b5de93..1c5c82be25b7 100644 --- a/pkgs/stdenv/generic/setup.sh +++ b/pkgs/stdenv/generic/setup.sh @@ -1455,7 +1455,16 @@ configurePhase() { fi if [[ -z "${dontAddPrefix:-}" && -n "$prefix" ]]; then - prependToVar configureFlags "${prefixKey:---prefix=}$prefix" + # For __structuredAttrs: if prefixKey ends in a space, + # we need to add the prefixKey and the prefix as separate entries, + # and since we prepend, we do it in reverse order. + local -r prefixKeyOrDefault="${prefixKey:---prefix=}" + if [ "${prefixKeyOrDefault: -1}" = " " ]; then + prependToVar configureFlags "$prefix" + prependToVar configureFlags "${prefixKeyOrDefault::-1}" + else + prependToVar configureFlags "$prefixKeyOrDefault$prefix" + fi fi if [[ -f "$configureScript" ]]; then