with structuredAttrs lists will be bash arrays which cannot be exported
which will be a issue with some patches and some wrappers like cc-wrapper
this makes it clearer that NIX_CFLAGS_COMPILE must be a string as lists
in env cause a eval failure
`-Werror` flag usually causes build failures due to minor changes in
compiler versions. They might be useful for developers themselves but
are rarely useful for distributions.
For example right now `libcamera` fails to compile on `gcc-13` due to a
`gcc` infelicity: https://gcc.gnu.org/PR107488
While this concrete instance is a compiler bug generally `-Werror` makes
users' lives harder. Specific `-Werror=<foo>` are better way to prevent
certain classes of bugs.
The change removes planket `-Werror` with `-Dwerror=false` flag.
Nix modifies binaries after they are installed, which results in the wrong
signature. There is no easy way to avoid these modifications, so the best fix
is to simply regenerate the signatures after the fixup phase.