Skip to content

Commit

Permalink
dev-libs/ocl-icd: use dev-util/opencl-headers instead of bundled ones
Browse files Browse the repository at this point in the history
Builds just fine against these, which is not surprising given both sets
are official Khronos Group OpenCL 2.2 headers - the only difference
being the bundled ones are legacy and the separately packaged ones are
unified. Furthermore, without having to worry about file collisions in
/usr/include/CL, it will become possible for packages depending on
unified headers (e.g. dev-libs/intel-neo, which too uses a bundled copy
for now) to use dev-util/opencl-headers regardless of which ICD loader
provides the library. Last but not least, one bundling less to worry
about!

Note that this change makes USE=khronos-headers redundant, that said we
keep it in IUSE - at least for now anyway - so that ebuilds explicitly
requesting this USE flag needn't be modified.

No revbump because the first commit introducing -r3 has at the time of
me writing this not had been pushed to Gentoo servers yet.

Committed directly due to prolonged absence of the maintainer.

Signed-off-by: Marek Szuba <[email protected]>
  • Loading branch information
Marek Szuba committed Apr 10, 2020
1 parent 0de4bbd commit 780818b
Showing 1 changed file with 10 additions and 8 deletions.
18 changes: 10 additions & 8 deletions dev-libs/ocl-icd/ocl-icd-2.2.12-r3.ebuild
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,16 @@ LICENSE="BSD-2"
SLOT="0"
KEYWORDS="~amd64 ~x86"

# Does nothing now but by keeping it here we avoid having to have virtual/opencl
# handle ebuilds both with and without this flag.
IUSE="+khronos-headers"

BDEPEND="${RUBY_DEPS}"
RDEPEND="!app-eselect/eselect-opencl
DEPEND="dev-util/opencl-headers"
# nvidia-drivers block is hopefully temporary, until it has ceased
# to depend on eselect-opencl
RDEPEND="${DEPEND}
!app-eselect/eselect-opencl
!dev-libs/opencl-icd-loader
!x11-drivers/nvidia-drivers"

Expand All @@ -30,18 +36,14 @@ src_prepare() {
}

multilib_src_configure() {
ECONF_SOURCE="${S}" econf --enable-pthread-once
# dev-util/opencl-headers ARE official Khronos Group headers, what this option
# does is disable the use of the bundled ones
ECONF_SOURCE="${S}" econf --enable-pthread-once --disable-official-khronos-headers
}

multilib_src_install() {
default

# Drop .la files
find "${ED}" -name '*.la' -delete || die

# Install vendor headers
if use khronos-headers; then
insinto /usr/include
doins -r "${S}/khronos-headers/CL"
fi
}

0 comments on commit 780818b

Please sign in to comment.