From: Marek Szuba Date: Wed, 8 Apr 2020 15:10:15 +0000 (+0100) Subject: dev-util/intel-ocl-sdk: require an ICD loader instead of running standalone X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=1b2237b3a3f151cd80f893460ce7f3609484ecda;p=gentoo.git dev-util/intel-ocl-sdk: require an ICD loader instead of running standalone At least version 4.4.0.117 works fine with a loader, and in any case using in standalone mode an OpenCL implementation which exclusively targets CPUs is of limited use. Approved-by: Rick Farina Signed-off-by: Marek Szuba --- diff --git a/dev-util/intel-ocl-sdk/intel-ocl-sdk-4.4.0.117-r2.ebuild b/dev-util/intel-ocl-sdk/intel-ocl-sdk-4.4.0.117-r2.ebuild new file mode 100644 index 000000000000..0d0b0d0a8d3c --- /dev/null +++ b/dev-util/intel-ocl-sdk/intel-ocl-sdk-4.4.0.117-r2.ebuild @@ -0,0 +1,78 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +inherit rpm multilib + +DESCRIPTION="Intel's implementation of the OpenCL standard" +HOMEPAGE="https://software.intel.com/en-us/articles/opencl-sdk/" +SRC_URI="https://registrationcenter.intel.com/irc_nas/4181/intel_sdk_for_ocl_applications_2014_ubuntu_${PV}_x64.tgz" + +LICENSE="Intel-SDP" +SLOT="0" +IUSE="android +system-tbb system-clang +system-boost" +KEYWORDS="-* ~amd64" +RESTRICT="bindist mirror" + +RDEPEND=">=virtual/opencl-3 + sys-process/numactl + system-tbb? ( >=dev-cpp/tbb-4.2.20131118 ) + system-clang? ( =sys-devel/clang-3.4* ) + system-boost? ( >=dev-libs/boost-1.52.0:= ) +" +DEPEND="" + +S=${WORKDIR}/intel_sdk_for_ocl_applications_2014_ubuntu_${PV}_x64/ +INTEL_CL=opt/intel/opencl-1.2-${PV} +INTEL_VENDOR_DIR=usr/$(get_libdir)/OpenCL/vendors/intel/ + +QA_PREBUILT="${INTEL_OCL}/*" + +src_unpack() { + default + + PKGS="base devel intel-cpu intel-devel" + + use android && PKGS="$PKGS intel-devel-android" + + for PKG in ${PKGS}; do + FILENAME="opencl-1.2-${PKG}-4.4.0.117-1.x86_64.deb" + einfo "Extracting \"${FILENAME}\"..." + ar x "${S}/$FILENAME" || die + unpack ./data.tar.gz + done +} + +src_prepare() { + # Remove bundled stuff + if use system-boost; then + rm -f "${WORKDIR}/${INTEL_CL}"/lib64/libboost*.so* + fi + if use system-clang; then + rm -f "${WORKDIR}/${INTEL_CL}"/lib64/libclang* + fi + if use system-tbb; then + rm -f "${WORKDIR}/${INTEL_CL}"/lib64/libtbb* + fi +} + +src_install() { + insinto /etc/OpenCL/vendors/ + doins "${WORKDIR}/${INTEL_CL}"/etc/intel64.icd + + insinto /"${INTEL_CL}"/lib64 + insopts -m 755 + doins "${WORKDIR}/${INTEL_CL}"/lib64/* + + insinto /"${INTEL_CL}"/bin + doins "${WORKDIR}"/"${INTEL_CL}"/bin/* + + # TODO put this somewhere + # doins ${INTEL_CL}/eclipse-plug-in/OpenCL_SDK_0.1.0.jar + + dodir "${INTEL_VENDOR_DIR}" + dosym "/opt/intel/opencl-1.2-${PV}/lib64/libOpenCL.so" "${INTEL_VENDOR_DIR}/libOpenCL.so" + dosym "/opt/intel/opencl-1.2-${PV}/lib64/libOpenCL.so.1" "${INTEL_VENDOR_DIR}/libOpenCL.so.1" + dosym "/opt/intel/opencl-1.2-${PV}/lib64/libOpenCL.so.1.2" "${INTEL_VENDOR_DIR}/libOpenCL.so.1.2" +}