I'm working on packaging the Radeon Open Compute (ROC) packages for Gentoo with first goal being to get the OpenCL runtime working.

The OpenCL runtime can be found at: https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime

It has a mess of dependencies; I can handle most of them (not that it'll be easy, but at least I know what to do). The 3 troublemakers I'd like to discuss are the ROC forks of:
llvm: https://github.com/RadeonOpenCompute/llvm/
clang: https://github.com/RadeonOpenCompute/clang/
ldd: https://github.com/RadeonOpenCompute/ldd/

Potential approaches include:
1) Create new packages for each: sys-devel/radeon-open-compute-llvm, sys-devel/radeon-open-compute-clang, sys-devel/radeon-open-compute-lld 2) Add use flags to existing packages that apply the ROC changes as a patch 3) Add use flags to existing packages that use ROC archives as the SRC_URIs 4) Take the approach justxi did in his overlay which is to bundle these dependencies wherever they're needed; for example, take a look at https://github.com/justxi/rocm/blob/master/media-libs/ROCm-OpenCL-Runtime/ROCm-OpenCL-Runtime-1.7.0-r3.ebuild

Personally, I dislike (4), as it's contrary to the bundling policy that Gentoo tries to follow.

For (2), I'm concerned that generating and maintaining that patch may be really annoying and a lot of work.

For (3), it's not great to have different base archives.

Since ROC will eventually upstream all of it's work, (2) is ideal - but I have no idea what the timeline on that upstreaming effort may be, and I can't find anything that gives a hint.

What is the best way forward? And what would be acceptable to the Gentoo LLVM project?


Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to