First of all, the RPM packaging code hadn't been updated in quite a
while (it was still using the LKM), so this updates it to build with
darlingserver instead of the LKM.
Second, this update also adds a dependency generator that is used at
build time to automatically pick up the ELF dependencies in installed
Mach-Os. I prefer Debian's approach to this (simply having the option to
dynamically generate the requirements into a file at build time). This
seems like a convoluted approach (having to install a `fileattribute`
globally on the build machine), but at least it works.
Finally, this update also splits the package into multiple component
packages like the Debian packages. Note that `darling-cli-devenv` needs
to install files with the same names as those installed by
`darling-gui`, so it has to be built as a completely separate package. To
avoid having to rebuild a large portion of the project (about 8000
files), we simply generate a binary "source" tarball when building the
main Darling packages and then use this as the source for
`darling-cli-devenv`.
This is mainly used for the modular build, so that we have
dependency-free stubs for certain GUI frameworks that Xcode loads but
doesn't actually use in the CLI.
We originally stopped using it because we were running into the disk space limit, but the builds were much faster with it. I've recently stumbled into a neat trick that should let us have more disk space on the runners.
In addition, this commit also moves the darling-swift repository away from LFS. Note that it is now necessary to run a post-checkout script.
* Auto-Calculate Darling Prefix in tools/uninstall
Also switched the shebang to ```/bin/sh``` since the script seemed ```sh``` compatible, and there are faster ```sh``` implementations than ```bash``` like ```dash```.
* Improve Readability
This combines the C function stub generator and
the Objective-C class generator.
It also detects the dylib current and compat
versions.
It basically creates a stub folder that you can
copy directly into /src.