Build is currently failing:
```
/nix/store/za0pnll14dv61b124n6xxnjapd150lcr-go-1.19.4/share/go/pkg/tool/darwin_amd64/link: running clang failed: exit status 1
Undefined symbols for architecture x86_64:
"_pam_start_confdir", referenced from:
__cgo_897673d6bfaf_Cfunc_pam_start_confdir in 000032.o
_check_pam_start_confdir in 000033.o
(maybe you meant: _check_pam_start_confdir, __cgo_897673d6bfaf_Cfunc_check_pam_start_confdir , __cgo_897673d6bfaf_Cfunc_pam_start_confdir )
ld: symbol(s) not found for architecture x86_64
clang-11: error: linker command failed with exit code 1 (use -v to see invocation)
error: builder for '/nix/store/zqr2xx5a66km81m8av714sm45gy3ym0g-gitea-1.18.0.drv' failed with exit code 1;
```
This commit causes Hydra to build `nixStatic` on non-NixOS platforms
for which nixStatic is known to build correctly.
Providing Hydra builds of `nixStatic` on these platforms allows users
to bootstrap their local nixpkgs system without either having to:
a. Trust binaries that came from a source other than Hydra or
b. Fight with their host distribution to satisfy all of nix's large
set of build dependencies (this is not easy!)
Currently there are two platforms in this set: mips64el-linux-gnuabi64
and powerpc64le-linux-gnu.
There's nothing about edk2 specific to the host OS, and it builds fine
with e.g. a NetBSD toolchain, so we should only restrict
meta.platforms by architecture, not by OS.
Cross-compilation of anything downstream of gtk3 requires qemu (due to
gobject-introspection) with --target-list=*-linux-user. Without this commit,
those qemu builds will fail on a powerpc64le host due to qemu being configured
with --cpu=powerpc64le instead of --cpu=ppc64le. Unfortunately the build
failure message from qemu in this situation is extremely cryptic.
The root cause turns out not to be the qemu expression, but rather the fact that
on powerpc64le hostPlatform.uname.processor returns the gnu-name (powerpc64le)
for the cpu instead of the linux-name (ppc64le) for the cpu.
uname.processor on mips64el also needs adjustment -- the Linux-name is "mips64"
for both big and little endian (unlike powerpc64, where the Linux-name includes
a "le" suffix):
```
nix@oak:/tmp$ uname -m; lscpu | head -n2
mips64
Architecture: mips64
Byte Order: Little Endian
```
uname.processor on powerpc32 has also been adjusted.