aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Ammerlaan <andrewammerlaan@gentoo.org>2023-02-26 06:18:54 +0100
committerAndrew Ammerlaan <andrewammerlaan@gentoo.org>2023-02-26 06:18:54 +0100
commit7efc4ce881506e11f924d65f842063caf3920cf7 (patch)
treeb466d75234135ca043dadeac7198d9346336ba77 /dev-python/dpctl
parentdev-python/dpnp: add 0.11.1_rc1 (diff)
downloadsci-7efc4ce881506e11f924d65f842063caf3920cf7.tar.gz
sci-7efc4ce881506e11f924d65f842063caf3920cf7.tar.bz2
sci-7efc4ce881506e11f924d65f842063caf3920cf7.zip
dev-python/dpctl: add 0.14.1_rc2
Signed-off-by: Andrew Ammerlaan <andrewammerlaan@gentoo.org>
Diffstat (limited to 'dev-python/dpctl')
-rw-r--r--dev-python/dpctl/Manifest1
-rw-r--r--dev-python/dpctl/dpctl-0.14.1_rc2.ebuild69
-rw-r--r--dev-python/dpctl/files/dpctl-0.14.1_rc2-dont-fetch-level-zero.patch82
-rw-r--r--dev-python/dpctl/files/dpctl-0.14.1_rc2-dont-fetch-pybind.patch21
4 files changed, 173 insertions, 0 deletions
diff --git a/dev-python/dpctl/Manifest b/dev-python/dpctl/Manifest
index aab57723a..f6f26fffb 100644
--- a/dev-python/dpctl/Manifest
+++ b/dev-python/dpctl/Manifest
@@ -1,2 +1,3 @@
DIST dpctl-0.13.0.gh.tar.gz 363708 BLAKE2B 82eaf296cb0aaaad1a9c23334b027d4b38ef8d580c43a6ea1fb7542b20f5511c09edf7fdd3bd98a5b48cdf55176fcaeea787c6d93ef65fc6c94004cbb0c61255 SHA512 5ddefe9671ef77e0ff507e3c92c80b147a4f19f50ee9b64dd940960e181edea16b5dbbdb990aa3dc37da80e6015979f702fba60210b8677a83780224cdd30e76
DIST dpctl-0.14.0.gh.tar.gz 399378 BLAKE2B 3a9cbea965941c8c0a85938f0736705fd0bbdc611e02a44363a670119555ff95fbae130526caa25f42ee499d5b36c83b8c574db1b2368a1cbe7855b84fabe9f1 SHA512 37d76653112556ebeadec846cc6b156cb84e7b82bc6a9477072a3721b3a830c5fcb7d6e92e76aa7c7449547e925b07d5dda42d2777813e7d1db1d97ea852e22a
+DIST dpctl-0.14.1_rc2.gh.tar.gz 409028 BLAKE2B 481be08bb6a7b1a439580d600b0e14036f10793e568314f9373ffa46daad7d3e43d33fc66c3c48ec7e3de71e9d0a7256cdfdd984c38fa7f1694dcc0227dae93f SHA512 91ab20a51893e3afc9e140ab9dfd1aa19b24e58227a001faefb9ceba6ffc4aa235214663c7456e977acf556796be097eabacc9b01b94eb42e8c70677a2f2dd9d
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 "larry@gentoo.org" || 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)
+