commit: 8fcf5337564e25c725e6b77d0a491a3e4c590f11
Author: Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
AuthorDate: Sun Dec 11 23:59:29 2022 +0000
Commit: Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
CommitDate: Sun Dec 11 23:59:29 2022 +0000
URL: https://gitweb.gentoo.org/proj/sci.git/commit/?id=8fcf5337
sci-libs/daal4py: new package, add 2021.7.1
Signed-off-by: Andrew Ammerlaan <andrewammerlaan <AT> gentoo.org>
sci-libs/daal4py/daal4py-2021.7.1.ebuild | 57 ++++++++++++++++++
.../daal4py-2021.7.1-dont-use-entire-include.patch | 69 ++++++++++++++++++++++
sci-libs/daal4py/metadata.xml | 11 ++++
3 files changed, 137 insertions(+)
diff --git a/sci-libs/daal4py/daal4py-2021.7.1.ebuild
b/sci-libs/daal4py/daal4py-2021.7.1.ebuild
new file mode 100644
index 000000000..d571121e7
--- /dev/null
+++ b/sci-libs/daal4py/daal4py-2021.7.1.ebuild
@@ -0,0 +1,57 @@
+# Copyright 2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{8..11} )
+DISTUTILS_USE_PEP517=setuptools
+inherit distutils-r1
+
+DESCRIPTION="Python API to the oneAPI Data Analytics Library"
+HOMEPAGE="https://github.com/intel/scikit-learn-intelex"
+SRC_URI="https://github.com/intel/scikit-learn-intelex/archive/refs/tags/${PV}.tar.gz
-> ${P}.tar.gz"
+S="${WORKDIR}/scikit-learn-intelex-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+
+BDEPEND="
+ dev-python/cython[${PYTHON_USEDEP}]
+ dev-python/pybind11[${PYTHON_USEDEP}]
+ dev-util/cmake
+ sys-devel/DPC++
+ test? (
+ sci-libs/scikit-learn[${PYTHON_USEDEP}]
+ dev-python/pandas[${PYTHON_USEDEP}]
+ )
+"
+
+DEPEND="
+ dev-python/jinja[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/dpctl[${PYTHON_USEDEP}]
+ sci-libs/oneDAL
+ virtual/mpi
+"
+RDEPEND="${DEPEND}"
+
+distutils_enable_tests pytest
+
+PATCHES=(
+ "${FILESDIR}/${P}-dont-use-entire-include.patch"
+)
+
+python_prepare_all() {
+ # DPC++ compiler required for full functionality
+ export CC="${ESYSROOT}/usr/lib/llvm/intel/bin/clang"
+ export CXX="${ESYSROOT}/usr/lib/llvm/intel/bin/clang++"
+ export DPCPPROOT="${ESYSROOT}/usr/lib/llvm/intel"
+ export
CPLUS_INCLUDE_PATH="${ESYSROOT}/usr/lib/llvm/intel/include:${ESYSROOT}/usr/lib/llvm/intel/include/sycl"
+ export MPIROOT="${ESYSROOT}/usr"
+ export DALROOT="${ESYSROOT}/usr"
+ # Parallel build is broken
+ export MAKEOPTS="-j1"
+
+ distutils-r1_python_prepare_all
+}
diff --git
a/sci-libs/daal4py/files/daal4py-2021.7.1-dont-use-entire-include.patch
b/sci-libs/daal4py/files/daal4py-2021.7.1-dont-use-entire-include.patch
new file mode 100644
index 000000000..5d3754d56
--- /dev/null
+++ b/sci-libs/daal4py/files/daal4py-2021.7.1-dont-use-entire-include.patch
@@ -0,0 +1,69 @@
+diff --git a/generator/gen_daal4py.py b/generator/gen_daal4py.py
+index 203c870..7fdac1e 100755
+--- a/generator/gen_daal4py.py
++++ b/generator/gen_daal4py.py
+@@ -34,7 +34,7 @@ from .wrappers import (required, ignore, defaults, has_dist,
ifaces,
+ enum_maps, enum_params, wrap_algo, result_to_compute)
+ from .wrapper_gen import wrapper_gen
+ from .format import mk_var
+-from shutil import copytree, rmtree
++from shutil import copytree, copyfile, rmtree
+ from subprocess import call
+
+ try:
+@@ -1045,7 +1045,13 @@ def gen_daal4py(daalroot, outdir, version,
warn_all=False,
+ head_path = jp("build", "include")
+ algo_path = jp(head_path, "algorithms")
+ rmtree(head_path, ignore_errors=True)
+- copytree(orig_path, head_path)
++ copytree(jp(orig_path, 'services'), jp(head_path, 'services'))
++ copytree(jp(orig_path, 'oneapi', 'dal'), jp(head_path, 'oneapi', 'dal'))
++ copytree(jp(orig_path, 'data_management'), jp(head_path,
'data_management'))
++ copytree(jp(orig_path, 'algorithms'), jp(head_path, 'algorithms'))
++ copyfile(jp(orig_path, 'daal.h'), jp(head_path, 'daal.h'))
++ copyfile(jp(orig_path, 'daal_sycl.h'), jp(head_path, 'daal_sycl.h'))
++ copyfile(jp(orig_path, 'oneapi', 'dal.hpp'), jp(head_path, 'oneapi',
'dal.hpp'))
+ for (dirpath, dirnames, filenames) in os.walk(algo_path):
+ for filename in filenames:
+ call([shutil.which("clang-format"), "-i", jp(dirpath, filename)])
+diff --git a/scripts/build_backend.py b/scripts/build_backend.py
+index a252a1d..c36a312 100755
+--- a/scripts/build_backend.py
++++ b/scripts/build_backend.py
+@@ -116,10 +116,8 @@ def custom_build_cmake_clib(iface, cxx=None):
+ python_library_dir = win_python_path_lib if IS_WIN else
get_config_var('LIBDIR')
+ numpy_include = np.get_include()
+
+- if iface == 'dpc':
+- cxx = 'dpcpp'
+- elif cxx is None:
+- raise RuntimeError('CXX compiler shall be specified')
++ if cxx is None:
++ cxx=os.environ.get('CXX')
+
+ cmake_args = [
+ "cmake",
+diff --git a/setup.py b/setup.py
+index 864ab5d..7eaa52f 100755
+--- a/setup.py
++++ b/setup.py
+@@ -47,7 +47,7 @@ if dal_root is None:
+
+ if 'linux' in sys.platform:
+ IS_LIN = True
+- lib_dir = jp(dal_root, 'lib', 'intel64')
++ lib_dir = jp(dal_root, 'lib64')
+ elif sys.platform == 'darwin':
+ IS_MAC = True
+ lib_dir = jp(dal_root, 'lib')
+@@ -306,8 +306,8 @@ def build_oneapi_backend():
+ eca, ela, includes = get_build_options()
+
+ return build_backend.build_cpp(
+- cc='dpcpp',
+- cxx='dpcpp',
++ cc=os.environ.get('CC'),
++ cxx=os.environ.get('CXX'),
+ sources=['src/oneapi/oneapi_backend.cpp'],
+ targetname='oneapi_backend',
+ targetprefix='' if IS_WIN else 'lib',
diff --git a/sci-libs/daal4py/metadata.xml b/sci-libs/daal4py/metadata.xml
new file mode 100644
index 000000000..247707c87
--- /dev/null
+++ b/sci-libs/daal4py/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>[email protected]</email>
+ <name>Gentoo Science Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">intel/scikit-learn-intelex</remote-id>
+ </upstream>
+</pkgmetadata>