This patches the clang-offload-bundler tool to add a compression option
from a more recent version of clang.
This compression option reduces the size of ROCm's fat binaries.
Those binaries contain .hip_fatbin sections with GPU-specific code,
for each target.
Compression is automatically turned on for all produced outputs
via a wrapper, because it's difficult to identify all the places
where the -compression argument would be needed.
Once upsteam introduces handeling for this argument,
we should drop the wrapper again.
This transistion will create inconsistsency, but I do not think that
it will impact any actual users and it's what's practical to implement.
This change adapts c3157ea4aa for ROCm 6,
in case it fixes the same problem right out of the gate.
Since rocAL is getting deprecated, dropping this and moving the
rocAL build to its own derivation is also a possibility.
MIVisionX needs as specific older version of libjpeg-turbo.
The more recent version that is in nixpgks now is built
with a completely different set of patches, so I have resurreced the
only patch that was applied previously from an older verion of nixpkgs.
See:
git show 2cc1925c040c7a564079cf187a187031d5f2c0b1:pkgs/development/libraries/libjpeg-turbo/0001-Compile-transupp.c-as-part-of-the-library.patch
This change adapts 65b9c40639 for ROCm 6,
in case it fixes the same problem right out of the gate.
Using the latest version of libjpeg-turbo form nixpkgs and not changing
the patches might also be worth a try.
MIVisionX needs as specific older version of libjpeg-turbo.
The more recent version that is in nixpgks now is built
with a completely different set of patches, so I have resurreced the
only patch that was applied previously from an older verion of nixpkgs.
See:
git show 2cc1925c040c7a564079cf187a187031d5f2c0b1:pkgs/development/libraries/libjpeg-turbo/0001-Compile-transupp.c-as-part-of-the-library.patch
Per the rocRAND README:
"As of version 5.0, [hipRAND] was split into a separate library. As of
version 6.0, hipRAND can no longer be built from rocRAND."
Also fixes `buildTests = true` behaviour for rocRAND.
The nixpkgs-unstable channel's programs.sqlite was used to identify
packages producing exactly one binary, and these automatically added
to their package definitions wherever possible.