commit:     f0cb6e744add38bf4d3a05c0703dabb1f8ee4e5d
Author:     Marek Szuba <marecki <AT> gentoo <DOT> org>
AuthorDate: Wed Apr  1 20:43:11 2020 +0000
Commit:     Marek Szuba <marecki <AT> gentoo <DOT> org>
CommitDate: Wed Apr  1 21:14:57 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f0cb6e74

virtual/opencl: add dev-libs/ocl-icd as the fallback provider

Advantages:
 * keyworded x86
 * supports multilib on amd64
 * all OpenCL-aware software should compile and link fine against it
 * should make it easier for user to deploy out-of-tree OpenCL
   providers (side note: all actual OpenCL providers currently
   in the tree except x11-drivers/nvidia-drivers actually *require*
   this to work), should they choose to do so

Disadvantages:
 * essentially a hack to ensure the integrity of the dependency tree
   on x86 and amd64/abi_x86_32 - most of the actual OpenCL providers
   currently in the tree are 64-bit only anyway

Signed-off-by: Marek Szuba <marecki <AT> gentoo.org>

 virtual/opencl/opencl-2.ebuild | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/virtual/opencl/opencl-2.ebuild b/virtual/opencl/opencl-2.ebuild
index 2e7f0791234..50fcd113e31 100644
--- a/virtual/opencl/opencl-2.ebuild
+++ b/virtual/opencl/opencl-2.ebuild
@@ -12,6 +12,9 @@ CARDS=( amdgpu i965 nvidia r600 radeonsi )
 IUSE="${CARDS[@]/#/video_cards_}"
 
 # intel-neo and intel-ocl-sdk are amd64-only
+# ocl-icd is essentially a dummy/you-are-on-your-own provider - it installs
+# header files to include in the source code and a library to link against
+# but does not support any actual devices
 RDEPEND="app-eselect/eselect-opencl
        || (
                video_cards_i965? (
@@ -28,4 +31,5 @@ RDEPEND="app-eselect/eselect-opencl
                video_cards_radeonsi? (
                        >=media-libs/mesa-9.1.6[opencl,X(+),${MULTILIB_USEDEP}] 
)
                abi_x86_64? ( !abi_x86_32? ( dev-util/intel-ocl-sdk ) )
+               dev-libs/ocl-icd[khronos-headers,${MULTILIB_USEDEP}]
        )"

Reply via email to