This is the same thing every other obsolete kernel module does, and
it's better than an assertion because an assertion prevents testing
evaluation of all the modules for a particular kernel.
We don't need to check versions any more, because we no longer package
any kernels older than 4.4, so this is broken for all kernel versions
in Nixpkgs.
The `platform` field is pointless nesting: it's just stuff that happens
to be defined together, and that should be an implementation detail.
This instead makes `linux-kernel` and `gcc` top level fields in platform
configs. They join `rustc` there [all are optional], which was put there
and not in `platform` in anticipation of a change like this.
`linux-kernel.arch` in particular also becomes `linuxArch`, to match the
other `*Arch`es.
The next step after is this to combine the *specific* machines from
`lib.systems.platforms` with `lib.systems.examples`, keeping just the
"multiplatform" ones for defaulting.
additionally we use the PR 137 instead of the patch files from AUR.
This avoids changes in source files and pins the patch to exactly what we want
It also removes one fetchpatch call