summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarek Szuba <marecki@gentoo.org>2020-04-01 23:36:31 +0100
committerMarek Szuba <marecki@gentoo.org>2020-04-02 01:20:14 +0100
commit2285b1c837666dc816122187a8b4efbae563334a (patch)
treeee135ecd17d97f64c5f9d3c4b4dc0f921cde6597 /dev-util/opencl-headers
parentcmake.eclass: do not append -DNDEBUG to CPPFLAGS (diff)
downloadgentoo-2285b1c837666dc816122187a8b4efbae563334a.tar.gz
gentoo-2285b1c837666dc816122187a8b4efbae563334a.tar.bz2
gentoo-2285b1c837666dc816122187a8b4efbae563334a.zip
dev-util/opencl-headers: new package
The first release of unified Khronos OpenCL headers, which unlike old headers (which is what app-eselect/eselect-opencl installs) work with all released OpenCL versions rather than having different versions supported by files from different directories. Note that in order to avoid file collisions with eselect-opencl this package presently installs header files into /usr/$(get_libdir)/OpenCL/vendors/opencl-icd-loader/include , which is why it needs multilib support and why it will likely not work right when installed standalone (in contrast to being pulled in by dev-libs/opencl-icd-loader). Signed-off-by: Marek Szuba <marecki@gentoo.org>
Diffstat (limited to 'dev-util/opencl-headers')
-rw-r--r--dev-util/opencl-headers/Manifest1
-rw-r--r--dev-util/opencl-headers/metadata.xml24
-rw-r--r--dev-util/opencl-headers/opencl-headers-2020.03.13.ebuild29
3 files changed, 54 insertions, 0 deletions
diff --git a/dev-util/opencl-headers/Manifest b/dev-util/opencl-headers/Manifest
new file mode 100644
index 000000000000..21be9a936d4a
--- /dev/null
+++ b/dev-util/opencl-headers/Manifest
@@ -0,0 +1 @@
+DIST opencl-headers-2020.03.13.tar.gz 48540 BLAKE2B 5befbf7b1ed9df7e45789f1a5c3ec15a2bb0bee4cf50f89e424b6c69534c045c0774fd6f6424d5311c5415c9e6714033b6c70d3c641f60c037a9c3fab3e00bb6 SHA512 4bf368325f6034b2c59b9d3a22f7c12eec078e5e5a0bdcc3f1f5870e211bf7d03ae7137897262440a9c98a35592f4405d85fae1b53246e56b5544af51bf9b39a
diff --git a/dev-util/opencl-headers/metadata.xml b/dev-util/opencl-headers/metadata.xml
new file mode 100644
index 000000000000..f5bc8eb8de51
--- /dev/null
+++ b/dev-util/opencl-headers/metadata.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>marecki@gentoo.org</email>
+ <name>Marek Szuba</name>
+ </maintainer>
+ <longdescription lang="en">
+ The OpenCL API headers in this package are unified headers and are designed to work
+ with all released OpenCL versions. This differs from previous OpenCL API headers,
+ where version-specific API headers either existed in separate branches, or
+ in separate folders in a branch.
+
+ By default, the OpenCL API headers in this repository are for the latest OpenCL
+ version supported. To use these API headers to target a different OpenCL version,
+ an application may #define the preprocessor value CL_TARGET_OPENCL_VERSION before
+ including the OpenCL API headers. The CL_TARGET_OPENCL_VERSION is a three digit
+ decimal value representing the OpenCL API version.
+ </longdescription>
+ <upstream>
+ <remote-id type="github">KhronosGroup/OpenCL-Headers</remote-id>
+ </upstream>
+</pkgmetadata>
+
diff --git a/dev-util/opencl-headers/opencl-headers-2020.03.13.ebuild b/dev-util/opencl-headers/opencl-headers-2020.03.13.ebuild
new file mode 100644
index 000000000000..0c64e9cc994a
--- /dev/null
+++ b/dev-util/opencl-headers/opencl-headers-2020.03.13.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit multilib-minimal
+
+MY_PN="OpenCL-Headers"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Unified C language headers for the OpenCL API"
+HOMEPAGE="https://github.com/KhronosGroup/OpenCL-Headers"
+SRC_URI="https://github.com/KhronosGroup/${MY_PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+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
+ doins -r "${S}"/CL
+}