diff options
author | Andrew Ammerlaan <andrewammerlaan@gentoo.org> | 2022-12-11 23:56:44 +0100 |
---|---|---|
committer | Andrew Ammerlaan <andrewammerlaan@gentoo.org> | 2022-12-11 23:56:44 +0100 |
commit | b485ae43a8567e1879c5611452cdcc10c89dc277 (patch) | |
tree | c996963b8b62e74ecd7e5baa6d838a343a01dca8 | |
parent | sci-libs/oneDAL: new package, add 2021.7.1_p20221207 (diff) | |
download | sci-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/Manifest | 1 | ||||
-rw-r--r-- | dev-python/dpctl/dpctl-0.14.0.ebuild | 60 | ||||
-rw-r--r-- | dev-python/dpctl/files/dpctl-0.14.0-dont-fetch-level-zero.patch | 82 | ||||
-rw-r--r-- | dev-python/dpctl/files/dpctl-0.14.0-dont-fetch-pybind.patch | 21 | ||||
-rw-r--r-- | dev-python/dpctl/files/dpctl-0.14.0-find-opencl.patch | 13 | ||||
-rw-r--r-- | dev-python/dpctl/files/dpctl-0.14.0-include-tuple.patch | 47 | ||||
-rw-r--r-- | dev-python/dpctl/metadata.xml | 12 |
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> |