retdec: split up, greatly reduce in size (by default) #34539
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Due almost entirely to signatures in "retdec-support",
retdec is too large for the binary cache :(.
This makes retdec much less convenient to install/use,
requiring both a giant download followed by building
LLVM and the many vendored dependencies.
Upstream has improved the dependency situation
significantly (not in a tagged release yet),
leaving the signatures to account for.
This PR significantly reduces the footprint by
optionally removing the PE (Windows) signatures
which brings the uncompressed signature size
down from 3.8GB to a much more manageable 642MB.
build-use-sandbox
innix.conf
on non-NixOS)nix-shell -p nox --run "nox-review wip"
./result/bin/
)In the future it might be neat to split the signatures into multiple packages
(ELF, PE, maybe by architecture...) and use a setup-hook or something to
convince retdec to use whatever has been installed; this would also
make it possible to add/remove/update signatures independently from
building/upgrading retdec itself.
(at least within signature compatibility limits, not sure)
Anyway that's a possible future :).
for now, let's just make this sane for folks to use :).