commit:     7efc4ce881506e11f924d65f842063caf3920cf7
Author:     Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
AuthorDate: Sun Feb 26 05:18:54 2023 +0000
Commit:     Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
CommitDate: Sun Feb 26 05:18:54 2023 +0000
URL:        https://gitweb.gentoo.org/proj/sci.git/commit/?id=7efc4ce8

dev-python/dpctl: add 0.14.1_rc2

Signed-off-by: Andrew Ammerlaan <andrewammerlaan <AT> gentoo.org>

 dev-python/dpctl/dpctl-0.14.1_rc2.ebuild           | 69 ++++++++++++++++++
 .../dpctl-0.14.1_rc2-dont-fetch-level-zero.patch   | 82 ++++++++++++++++++++++
 .../files/dpctl-0.14.1_rc2-dont-fetch-pybind.patch | 21 ++++++
 3 files changed, 172 insertions(+)

diff --git a/dev-python/dpctl/dpctl-0.14.1_rc2.ebuild 
b/dev-python/dpctl/dpctl-0.14.1_rc2.ebuild
new file mode 100644
index 000000000..65526b110
--- /dev/null
+++ b/dev-python/dpctl/dpctl-0.14.1_rc2.ebuild
@@ -0,0 +1,69 @@
+# Copyright 2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..11} )
+DISTUTILS_USE_PEP517=setuptools
+inherit distutils-r1
+
+DESCRIPTION="Data Parallel Control "
+HOMEPAGE="https://github.com/IntelPython/dpctl";
+SRC_URI="https://github.com/IntelPython/dpctl/archive/refs/tags/${PV//_rc/dev}.tar.gz
 -> ${P}.gh.tar.gz"
+S="${WORKDIR}/${PN}-${PV//_rc/dev}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+
+BDEPEND="
+       dev-python/cython[${PYTHON_USEDEP}]
+       dev-python/scikit-build[${PYTHON_USEDEP}]
+       dev-python/pybind11[${PYTHON_USEDEP}]
+       dev-python/versioneer[${PYTHON_USEDEP}]
+       dev-util/cmake
+       dev-vcs/git
+       sys-devel/DPC++
+"
+
+DEPEND="
+       dev-libs/level-zero
+       dev-libs/opencl-icd-loader
+       dev-python/numpy[${PYTHON_USEDEP}]
+       dev-python/wheel[${PYTHON_USEDEP}]
+       sci-libs/oneDAL
+       sys-devel/DPC++:0/6
+"
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+       "${FILESDIR}/${PN}-0.14.0-find-opencl.patch"
+       "${FILESDIR}/${PN}-0.14.1_rc2-dont-fetch-level-zero.patch"
+       "${FILESDIR}/${PN}-0.14.1_rc2-dont-fetch-pybind.patch"
+       #"${FILESDIR}/${PN}-0.14.1_rc2-include-tuple.patch"
+)
+
+distutils_enable_tests pytest
+
+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"
+
+       # Build system reads version from git tag
+       git init -q || die
+       git config --global user.email "[email protected]" || die
+       git config --global user.name "Larry the Cow" || die
+       git add . || die
+       git commit -qm "init" || die
+       git tag -a "${PV}" -m "${PN} version ${PV}" || die
+
+       distutils-r1_python_prepare_all
+}
+
+python_test() {
+       export 
PYTHONPATH="${BUILD_DIR}/install/usr/lib/${EPYTHON}/site-packages"
+       # We don't use epytest because it overwrites our PYTHONPATH
+       pytest -vv || die
+}

diff --git 
a/dev-python/dpctl/files/dpctl-0.14.1_rc2-dont-fetch-level-zero.patch 
b/dev-python/dpctl/files/dpctl-0.14.1_rc2-dont-fetch-level-zero.patch
new file mode 100644
index 000000000..a7a4adf8b
--- /dev/null
+++ b/dev-python/dpctl/files/dpctl-0.14.1_rc2-dont-fetch-level-zero.patch
@@ -0,0 +1,82 @@
+diff --git a/libsyclinterface/cmake/modules/GetLevelZeroHeaders.cmake 
b/libsyclinterface/cmake/modules/GetLevelZeroHeaders.cmake
+index fe109fc..55595e9 100644
+--- a/libsyclinterface/cmake/modules/GetLevelZeroHeaders.cmake
++++ b/libsyclinterface/cmake/modules/GetLevelZeroHeaders.cmake
+@@ -26,76 +26,10 @@
+ 
+ function(get_level_zero_headers)
+ 
+-    if(EXISTS level-zero)
+-      # Update the checkout
+-        execute_process(
+-            COMMAND ${GIT_EXECUTABLE} fetch
+-            RESULT_VARIABLE result
+-            ERROR_VARIABLE error
+-            WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/level-zero
+-            OUTPUT_STRIP_TRAILING_WHITESPACE
+-            ERROR_STRIP_TRAILING_WHITESPACE
+-        )
+-
+-        if(NOT result EQUAL 0)
+-            message(FATAL_ERROR
+-                "Could not update Level Zero sources. Return code: ${result}"
+-            )
+-        endif()
+-    else()
+-        # Clone the Level Zero git repo
+-        execute_process(
+-            COMMAND ${GIT_EXECUTABLE} clone 
https://github.com/oneapi-src/level-zero.git
+-            RESULT_VARIABLE result
+-            ERROR_VARIABLE error
+-            OUTPUT_STRIP_TRAILING_WHITESPACE
+-            ERROR_STRIP_TRAILING_WHITESPACE
+-        )
+-
+-        if(NOT result EQUAL 0)
+-            message(FATAL_ERROR
+-                "Could not clone Level Zero sources from 
github.com/oneapi-src/level-zero. Return code: ${result}"
+-            )
+-        endif()
+-    endif()
+-
+-    # Use git describe to get latest tag name
+-    execute_process(
+-        COMMAND ${GIT_EXECUTABLE} describe --tags --abbrev=0
+-        RESULT_VARIABLE result
+-        OUTPUT_VARIABLE latest_tag
+-        ERROR_VARIABLE error
+-        WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/level-zero
+-        OUTPUT_STRIP_TRAILING_WHITESPACE
+-        ERROR_STRIP_TRAILING_WHITESPACE
+-    )
+-
+-    if(NOT result EQUAL 0)
+-        message(FATAL_ERROR
+-            "Could not get the name for the latest release. Return code: 
${result}"
+-        )
+-    endif()
+-
+-    # Use git describe to get latest tag name
+-    execute_process(
+-        COMMAND ${GIT_EXECUTABLE} checkout ${latest_tag}
+-        RESULT_VARIABLE result
+-        ERROR_VARIABLE error
+-        WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/level-zero
+-        OUTPUT_STRIP_TRAILING_WHITESPACE
+-        ERROR_STRIP_TRAILING_WHITESPACE
+-    )
+-
+-    if(NOT result EQUAL 0)
+-        message(FATAL_ERROR
+-            "Could not checkout the latest release. Return code: ${result}"
+-        )
+-    endif()
+-
+     # Populate the path to the headers
+     find_path(LEVEL_ZERO_INCLUDE_DIR
+         NAMES zet_api.h
+-        PATHS ${CMAKE_BINARY_DIR}/level-zero/include
++        PATHS /usr/include/level_zero
+         NO_DEFAULT_PATH
+         NO_CMAKE_ENVIRONMENT_PATH
+         NO_CMAKE_PATH

diff --git a/dev-python/dpctl/files/dpctl-0.14.1_rc2-dont-fetch-pybind.patch 
b/dev-python/dpctl/files/dpctl-0.14.1_rc2-dont-fetch-pybind.patch
new file mode 100644
index 000000000..d56dc27b3
--- /dev/null
+++ b/dev-python/dpctl/files/dpctl-0.14.1_rc2-dont-fetch-pybind.patch
@@ -0,0 +1,21 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index d97ca9a..3914bd9 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -32,15 +32,7 @@ install(FILES ${_dpctl_capi_headers}
+ # Define CMAKE_INSTALL_xxx: LIBDIR, INCLUDEDIR
+ include(GNUInstallDirs)
+ 
+-# Fetch pybind11
+-include(FetchContent)
+-
+-FetchContent_Declare(
+-    pybind11
+-    URL https://github.com/pybind/pybind11/archive/refs/tags/v2.10.2.tar.gz
+-    URL_HASH 
SHA256=93bd1e625e43e03028a3ea7389bba5d3f9f2596abc074b068e70f4ef9b1314ae
+-)
+-FetchContent_MakeAvailable(pybind11)
++include(/usr/share/cmake/pybind11/pybind11Config.cmake)
+ 
+ add_subdirectory(dpctl)
+ 

Reply via email to