aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Ammerlaan <andrewammerlaan@gentoo.org>2022-12-11 23:56:44 +0100
committerAndrew Ammerlaan <andrewammerlaan@gentoo.org>2022-12-11 23:56:44 +0100
commitb485ae43a8567e1879c5611452cdcc10c89dc277 (patch)
treec996963b8b62e74ecd7e5baa6d838a343a01dca8
parentsci-libs/oneDAL: new package, add 2021.7.1_p20221207 (diff)
downloadsci-b485ae43a8567e1879c5611452cdcc10c89dc277.tar.gz
sci-b485ae43a8567e1879c5611452cdcc10c89dc277.tar.bz2
sci-b485ae43a8567e1879c5611452cdcc10c89dc277.zip
dev-python/dpctl: new package, add 0.14.0
Signed-off-by: Andrew Ammerlaan <andrewammerlaan@gentoo.org>
-rw-r--r--dev-python/dpctl/Manifest1
-rw-r--r--dev-python/dpctl/dpctl-0.14.0.ebuild60
-rw-r--r--dev-python/dpctl/files/dpctl-0.14.0-dont-fetch-level-zero.patch82
-rw-r--r--dev-python/dpctl/files/dpctl-0.14.0-dont-fetch-pybind.patch21
-rw-r--r--dev-python/dpctl/files/dpctl-0.14.0-find-opencl.patch13
-rw-r--r--dev-python/dpctl/files/dpctl-0.14.0-include-tuple.patch47
-rw-r--r--dev-python/dpctl/metadata.xml12
7 files changed, 236 insertions, 0 deletions
diff --git a/dev-python/dpctl/Manifest b/dev-python/dpctl/Manifest
new file mode 100644
index 000000000..2016ce822
--- /dev/null
+++ b/dev-python/dpctl/Manifest
@@ -0,0 +1 @@
+DIST dpctl-0.14.0.gh.tar.gz 399378 BLAKE2B 3a9cbea965941c8c0a85938f0736705fd0bbdc611e02a44363a670119555ff95fbae130526caa25f42ee499d5b36c83b8c574db1b2368a1cbe7855b84fabe9f1 SHA512 37d76653112556ebeadec846cc6b156cb84e7b82bc6a9477072a3721b3a830c5fcb7d6e92e76aa7c7449547e925b07d5dda42d2777813e7d1db1d97ea852e22a
diff --git a/dev-python/dpctl/dpctl-0.14.0.ebuild b/dev-python/dpctl/dpctl-0.14.0.ebuild
new file mode 100644
index 000000000..ffb22d0cf
--- /dev/null
+++ b/dev-python/dpctl/dpctl-0.14.0.ebuild
@@ -0,0 +1,60 @@
+# 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="Data Parallel Control "
+HOMEPAGE="https://github.com/IntelPython/dpctl"
+SRC_URI="https://github.com/IntelPython/dpctl/archive/refs/tags/${PV}.tar.gz -> ${P}.gh.tar.gz"
+
+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-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
+"
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+ "${FILESDIR}/${P}-find-opencl.patch"
+ "${FILESDIR}/${P}-dont-fetch-level-zero.patch"
+ "${FILESDIR}/${P}-dont-fetch-pybind.patch"
+ "${FILESDIR}/${P}-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
+}
diff --git a/dev-python/dpctl/files/dpctl-0.14.0-dont-fetch-level-zero.patch b/dev-python/dpctl/files/dpctl-0.14.0-dont-fetch-level-zero.patch
new file mode 100644
index 000000000..ac0301886
--- /dev/null
+++ b/dev-python/dpctl/files/dpctl-0.14.0-dont-fetch-level-zero.patch
@@ -0,0 +1,82 @@
+diff --git a/libsyclinterface/cmake/modules/GetLevelZeroHeaders.cmake b/libsyclinterface/cmake/modules/GetLevelZeroHeaders.cmake
+index 2929c33..731f054 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."
+- )
+- 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."
+- )
+- 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."
+- )
+- 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."
+- )
+- 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.0-dont-fetch-pybind.patch b/dev-python/dpctl/files/dpctl-0.14.0-dont-fetch-pybind.patch
new file mode 100644
index 000000000..b2b8c5d81
--- /dev/null
+++ b/dev-python/dpctl/files/dpctl-0.14.0-dont-fetch-pybind.patch
@@ -0,0 +1,21 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index da138c1..ecab139 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -28,15 +28,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.1.tar.gz
+- URL_HASH SHA256=111014b516b625083bef701df7880f78c2243835abdb263065b6b59b960b6bad
+-)
+-FetchContent_MakeAvailable(pybind11)
++include(/usr/share/cmake/pybind11/pybind11Config.cmake)
+
+ add_subdirectory(dpctl)
+
diff --git a/dev-python/dpctl/files/dpctl-0.14.0-find-opencl.patch b/dev-python/dpctl/files/dpctl-0.14.0-find-opencl.patch
new file mode 100644
index 000000000..3841816ee
--- /dev/null
+++ b/dev-python/dpctl/files/dpctl-0.14.0-find-opencl.patch
@@ -0,0 +1,13 @@
+diff --git a/libsyclinterface/cmake/modules/FindIntelSycl.cmake b/libsyclinterface/cmake/modules/FindIntelSycl.cmake
+index 84e8946..ccc2591 100644
+--- a/libsyclinterface/cmake/modules/FindIntelSycl.cmake
++++ b/libsyclinterface/cmake/modules/FindIntelSycl.cmake
+@@ -134,7 +134,7 @@ if(${clangxx_result} MATCHES "0")
+ find_file(
+ IntelSycl_OPENCL_LIBRARY
+ NAMES "libOpenCL.so"
+- PATHS ${IntelSycl_LIBRARY_DIR}
++ PATHS /usr/lib64
+ )
+ endif()
+
diff --git a/dev-python/dpctl/files/dpctl-0.14.0-include-tuple.patch b/dev-python/dpctl/files/dpctl-0.14.0-include-tuple.patch
new file mode 100644
index 000000000..44b950cb6
--- /dev/null
+++ b/dev-python/dpctl/files/dpctl-0.14.0-include-tuple.patch
@@ -0,0 +1,47 @@
+From d0d3e6f1a9ffbac91f24cc06abce6dcad6509a6b Mon Sep 17 00:00:00 2001
+From: Julien Jerphanion <git@jjerphan.xyz>
+Date: Tue, 6 Dec 2022 10:24:26 +0100
+Subject: [PATCH 1/2] MAINT Include tuple in 'utils/strided_iters.hpp'
+
+This include directive seems to have been forgotten and it is impossible
+for me to compile dpctl without it.
+---
+ dpctl/tensor/libtensor/include/utils/strided_iters.hpp | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/dpctl/tensor/libtensor/include/utils/strided_iters.hpp b/dpctl/tensor/libtensor/include/utils/strided_iters.hpp
+index c24ed54941..595ad3f4a7 100644
+--- a/dpctl/tensor/libtensor/include/utils/strided_iters.hpp
++++ b/dpctl/tensor/libtensor/include/utils/strided_iters.hpp
+@@ -30,6 +30,7 @@
+ #include <array>
+ #include <numeric> // std::iota
+ #include <vector>
++#include <tuple>
+
+ /* An N-dimensional array can be stored in a single
+ * contiguous chunk of memory by contiguously laying
+
+From f75ccd8c8aeaae92f0cb03874f93be5e7a63a6a7 Mon Sep 17 00:00:00 2001
+From: Julien Jerphanion <git@jjerphan.xyz>
+Date: Tue, 6 Dec 2022 14:45:40 +0100
+Subject: [PATCH 2/2] Make clang-format happy
+
+---
+ dpctl/tensor/libtensor/include/utils/strided_iters.hpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/dpctl/tensor/libtensor/include/utils/strided_iters.hpp b/dpctl/tensor/libtensor/include/utils/strided_iters.hpp
+index 595ad3f4a7..0abd7f4f2a 100644
+--- a/dpctl/tensor/libtensor/include/utils/strided_iters.hpp
++++ b/dpctl/tensor/libtensor/include/utils/strided_iters.hpp
+@@ -29,8 +29,8 @@
+ #include <algorithm> // sort
+ #include <array>
+ #include <numeric> // std::iota
+-#include <vector>
+ #include <tuple>
++#include <vector>
+
+ /* An N-dimensional array can be stored in a single
+ * contiguous chunk of memory by contiguously laying
diff --git a/dev-python/dpctl/metadata.xml b/dev-python/dpctl/metadata.xml
new file mode 100644
index 000000000..06d339ee1
--- /dev/null
+++ b/dev-python/dpctl/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci@gentoo.org</email>
+ <name>Gentoo Science Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">IntelPython/dpctl</remote-id>
+ <remote-id type="pypi">dpctl</remote-id>
+ </upstream>
+</pkgmetadata>