Moves the bootstrap code into main derivation because it’s only used there, and
this helps let the main derivation decide when to evaluate it in the first
place (depending on the system), which helps on Hydra.
Not actually enabled by default on any systems yet.
Update the binary used to bootstrap SBCL versions on Darwin (Mac OS) x86-64
systems (i.e. Intel, i.e. non-ARM) from 1.2.11 (released in 2015) to
2.2.9 (released September 2022). Generally, the more recent the bootstrap
binary, the fewer the problems. This bootstrap binary can be used to compile
other SBCL versions (for this target) from source. Those don’t have binary
releases by the SBCL team.
This is useful because building SBCL 2.x from source, using the binary release
of 1.2.11, on this system configuration, ended up in an endless loop. See also
this thread on the Mac ports forum, where people are having the same issue:
https://trac.macports.org/ticket/64621
Now that SBCL has released a more recent binary build for this system, the
problem is solved.
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
* pkgs: refactor needless quoting of homepage meta attribute
A lot of packages are needlessly quoting the homepage meta attribute
(about 1400, 22%), this commit refactors all of those instances.
* pkgs: Fixing some links that were wrongfully unquoted in the previous
commit
* Fixed some instances
clisp bootstrap is very slow and clisp doesn't compile on arm
now it is possible to also bootstrap using ccl:
sbclBootstrapHost = "${ccl}/bin/${ccl.CCL_RUNTIME} -b -n";
or alternatively using clisp
sbclBootstrapHost = "${clisp}/bin/clisp -norc";