Following legacy packing conventions, `isArm` was defined just for
32-bit ARM instruction set. This is confusing to non packagers though,
because Aarch64 is an ARM instruction set.
The official ARM overview for ARMv8[1] is surprisingly not confusing,
given the overall state of affairs for ARM naming conventions, and
offers us a solution. It divides the nomenclature into three levels:
```
ISA: ARMv8 {-A, -R, -M}
/ \
Mode: Aarch32 Aarch64
| / \
Encoding: A64 A32 T32
```
At the top is the overall v8 instruction set archicture. Second are the
two modes, defined by bitwidth but differing in other semantics too, and
buttom are the encodings, (hopefully?) isomorphic if they encode the
same mode.
The 32 bit encodings are mostly backwards compatible with previous
non-Thumb and Thumb encodings, and if so we can pun the mode names to
instead mean "sets of compatable or isomorphic encodings", and then
voilà we have nice names for 32-bit and 64-bit arm instruction sets
which do not use the word ARM so as to not confused either laymen or
experienced ARM packages.
[1]: https://developer.arm.com/products/architecture/a-profile
mariadb.org appears to have changed their URL schemes, and the tarball URL used
by this derivation no longer works, which makes this unbuildable from scratch.
This change updates that URL to a mariadb.org location that will still serve
this tarball.
Hash is unchanged.
CMake in its usual infinite wisdom searches all over the system for java
and finds the host OSX java and JNI headers. It then decides to build the
connector and fails later on because we didn't actually tell Nix that we
wanted java in scope. So instead, we just tell CMake that we don't want
the jdbc connector. I believe it does the same with GSS, so I disable
that stuff too. None of this should affect Linux, but let me know if it
does somheow.
libmysqlclient is all that most closures need; now it's smaller and
quick to build. For cases that need a server (via executable or lib),
there's a full build for now; later it could be slimmed by removing the
client stuff.