One should depend on
- `stdenv.cc.bintools`: for executables at build time
- `libbfd` or `libiberty`: for those libraries
- `targetPackages.cc.bintools`: for exectuables at *run* time
- `binutils`: only for specifically GNU Binutils's executables, regardless of
the host platform, at run time.
Alternative fix for #27534 that prevents the use of a double wrapper
(creating even uglier script names than usual, like
..diffoscope-wrapped-wrapped).
This was my bad in 96d7f35e96.
diffoscope was looking for the tools it uses during runtime, but the
tools there neither part of the closure nor were they in the
PATH. This commit fixes this.
This reduces diffoscope's closure size from 2470 MiB to 579 MiB by
leaving out some less crucial dependencies (like GHC and Free
Pascal). These can be re-enabled by turning on enableBloat.
Relevant changes:
- Python version switched to Python 3
- ssdeep library got replaced with tlsh
- the 'magic' Python package got replaced with a different one
- Minor build system improvements == less work for us
Upstream has changed the project name to 'diffoscope' since "debbindiff
has grown way beyond a being just a tool to compare Debian packages."
Besides the rename, there are new dependencies on ssdeep, libarchive-c
and sqlite.