Join GitHub today
GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.Sign up
Reduce AsciiDoctor closure size #77149
Motivation for this change
In the documentation format wars, a frequent criticism of AsciiDoctor has been its use closure size. On master, it’s currently 968.1M. With all these changes, it’s 125M. At this point I think we’ve hit the point of diminishing returns — it’s possible to shave off a few more megabytes, but it’s probably not worth it.
Some of these changes are a little risky. I’d like to test with nix-review that nothing that builds before this change fails to build after it. Enough things depend on AsciiDoctor that I think this provides reasonable test coverage. I haven’t done this yet.
Can you make this PR without libxml2? Potentially that PR could merged straight into master and then send the libxml2 changes to staging.
Another solution would be to add a withPython parameter to libxml2 and then override the version without the python packages just for ruby and its dependencies.
I'm not sure why this was disabled, but it looks like a pretty harmless way to bring down closure size and remove references to compilers and stuff.
This makes RbConfig["CC"] return an invalid path, but I hope nothing is depending on that anyway...
ext/ isn't needed once the extensions have been built, contains references to a bunch of huge dependencies, and contains megabytes of tests.
8 packages failed to build:
245 packages built:
Didn't try to build other packages, as it would take a long time.