These cannot be in /usr/lib/OpenCL/vendor/... because eselect-opencl
doesn't know how to handle unified headers, resulting in build failures
due to missing header files. Seeing as we are planning to deprecate
eselect-opencl soon anyway, adapt this and opencl-icd-loader to the new
approach so that they can be used for transition testing without
breaking the more established ICD loader i.e. ocl-icd.
Note that this WILL cause massive dependency issues until
opencl-icd-loader has been added to virtual/opencl. Use with caution.
Signed-off-by: Marek Szuba <marecki@gentoo.org>
EAPI=7
-inherit multilib-minimal
-
MY_PN="OpenCL-Headers"
MY_P="${MY_PN}-${PV}"
SLOT="0"
KEYWORDS="~amd64 ~x86"
+# To avoid file collisions in /usr/include/CL/
+DEPEND="!app-eselect/eselect-opencl"
+RDEPEND="${DEPEND}"
+
S="${WORKDIR}/${MY_P}"
-multilib_src_install() {
- # Ideally we would install these directly into /usr/include but that would conflict
- # with eselect-opencl, therefore we install these into the vendor directory used by
- # dev-libs/opencl-icd-loader. Hopefully we will get this resolved soon and we can
- # stop messing with multilib in this package.
- local ocl_dir="/usr/$(get_libdir)/OpenCL/vendors/opencl-icd-loader"
- insinto "${ocl_dir}"/include
+src_install() {
+ insinto /usr/include
doins -r "${S}"/CL
}