commit: e2897f066d926deecb6649d886514758eba1acf0
Author: Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
AuthorDate: Sat Feb 25 08:54:07 2023 +0000
Commit: Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
CommitDate: Sat Feb 25 08:54:07 2023 +0000
URL: https://gitweb.gentoo.org/proj/sci.git/commit/?id=e2897f06
sys-devel/oneDPL: add 2022.0.0
Signed-off-by: Andrew Ammerlaan <andrewammerlaan <AT> gentoo.org>
sys-devel/oneDPL/metadata.xml | 3 ++
sys-devel/oneDPL/oneDPL-2022.0.0.ebuild | 60 +++++++++++++++++++++++++++++++++
2 files changed, 63 insertions(+)
diff --git a/sys-devel/oneDPL/metadata.xml b/sys-devel/oneDPL/metadata.xml
index 5fbeb1b05..474176a00 100644
--- a/sys-devel/oneDPL/metadata.xml
+++ b/sys-devel/oneDPL/metadata.xml
@@ -8,4 +8,7 @@
<upstream>
<remote-id type="github">oneapi-src/oneDPL</remote-id>
</upstream>
+ <use>
+ <flag name="esimd_emulator">enable ESIMD CPU emulation</flag>
+ </use>
</pkgmetadata>
diff --git a/sys-devel/oneDPL/oneDPL-2022.0.0.ebuild
b/sys-devel/oneDPL/oneDPL-2022.0.0.ebuild
new file mode 100644
index 000000000..6d36dc409
--- /dev/null
+++ b/sys-devel/oneDPL/oneDPL-2022.0.0.ebuild
@@ -0,0 +1,60 @@
+# Copyright 2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Missing deps for documentation
+# PYTHON_COMPAT=( python3_{10..11} )
+# DOCS_BUILDER="sphinx"
+# DOCS_DIR="documentation/library_guide"
+# DOCS_AUTODOC=0
+inherit cmake #python-any-r1 docs
+
+DESCRIPTION="oneAPI Data Parallel C++ Library"
+HOMEPAGE="https://github.com/oneapi-src/oneDPL"
+SRC_URI="https://github.com/oneapi-src/oneDPL/archive/refs/tags/${P}-release.tar.gz"
+S="${WORKDIR}/${PN}-${P}-release"
+
+LICENSE="Apache-2.0-with-LLVM-exceptions"
+SLOT="0"
+KEYWORDS="~amd64"
+
+IUSE="esimd_emulator"
+#TODO: Figure out how to use the test
+RESTRICT="test"
+
+BDEPEND="virtual/pkgconfig"
+
+DEPEND="
+ sys-devel/DPC++:0/6[esimd_emulator?]
+ dev-libs/level-zero
+ dev-cpp/tbb
+"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ # Not using the DPC++ compiler doesn't really make sense here
+ export CXX="${ESYSROOT}/usr/lib/llvm/intel/bin/clang++"
+ export CC="${ESYSROOT}/usr/lib/llvm/intel/bin/clang"
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DONEDPL_DEVICE_BACKEND="level_zero"
+ -DONEDPL_BACKEND="dpcpp"
+ -DONEDPL_ENABLE_SIMD="$(usex esimd_emulator)"
+ )
+
+ cmake_src_configure
+}
+
+src_compile() {
+ cmake_src_compile
+ # docs_compile
+}
+
+src_install() {
+ einstalldocs
+ doheader -r "${S}/include/oneapi"
+}