> For mono specifically it cannot be bootstrapped easily, there are some patent risks, and increased maintenance costs due to patching required (according to the Parabola bug #2894) so there are valid reasons as well not to include it.
I tried bootstrapping Mono, but I didn't finish it because downloading very old versions of the Mono source codeĀ from git takes a long time. It should be possible to bootstrap it using DotGNU.
When I used DotGNU to compile Mono 0.10, it failed because there was a glib declaration in the I/O subsystem to check the existence of a network connection. If that was patched somehow, then the compilation should succeed.
The patent risks are still an issue though.
> For shipping Mono in Guix it would most likely need to be bootstrapped from source somehow or at least from some generated source code (like Vala) which probably require a lot more work.
There aren't any known bootstrappable C# compilers except DotGNU(pnet), so bootstrapping Mono will probably have to use it to bootstrap.
I sent patches to Guix to package DotGNU, but the latest patchset revision hasn't been reviewed yet:
https://issues.guix.gnu.org/57625