* [gentoo-commits] repo/gentoo:master commit in: dev-python/pyopencl/, dev-python/pyopencl/files/
@ 2023-08-20 17:00 Marek Szuba
0 siblings, 0 replies; 2+ messages in thread
From: Marek Szuba @ 2023-08-20 17:00 UTC (permalink / raw
To: gentoo-commits
commit: 85d4a5c8f4fc13d77a81e857447ef92a86e89097
Author: Marek Szuba <marecki <AT> gentoo <DOT> org>
AuthorDate: Sun Aug 20 16:50:34 2023 +0000
Commit: Marek Szuba <marecki <AT> gentoo <DOT> org>
CommitDate: Sun Aug 20 16:50:38 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=85d4a5c8
dev-python/pyopencl: add 2023.1.2
Now with py3.12 support thanks to a patch which uses the canonical NumPy
way of getting the location of its header files instead of messing with
imp.find_module(). Upstream said in the relevant file they did it that
way because importing numpy "screws up distutils", however either this
is no longer the case with the current versions of everything involved
or PEP-517 installation is not affected.
Signed-off-by: Marek Szuba <marecki <AT> gentoo.org>
dev-python/pyopencl/Manifest | 1 +
.../pyopencl-2023.1.2_numpy-include-dir.patch | 16 +++++
dev-python/pyopencl/pyopencl-2023.1.2.ebuild | 76 ++++++++++++++++++++++
3 files changed, 93 insertions(+)
diff --git a/dev-python/pyopencl/Manifest b/dev-python/pyopencl/Manifest
index 581263015123..02b743defb6b 100644
--- a/dev-python/pyopencl/Manifest
+++ b/dev-python/pyopencl/Manifest
@@ -1 +1,2 @@
DIST pyopencl-2023.1.1.tar.gz 472723 BLAKE2B 4960db0b9096ef624f0459f6711a6d1fc4561599f96c3b01c5efe3c183c8cc4284b63038b2a5e98d43c194a8e5ce3331886f675c0bc5f44073bc353675400985 SHA512 50c23132028bb2c35816b6c83c054eaf929d333fbb172230e0d696a5e6103ad6ee6ccbbbd0b5d3d2d3c5f02505340a885422097eccecb1bf51845658c7938c8f
+DIST pyopencl-2023.1.2.tar.gz 473684 BLAKE2B 3912885395df515f3e935149c0bac618c371b75791ac670d1a2cd25ffe5e3ff1c4d0e82d8a475e26d3280aaa659d900ed7df66b3f6952f54266d3cd2ad3b44c2 SHA512 3414b011f0bd0420df4725904b715d54bad0ae77cb4b8619d8d769cd25b56d44a8d34788c23de80b5da5ae757f38231db980f3abcb2544117b7be7627592bf0e
diff --git a/dev-python/pyopencl/files/pyopencl-2023.1.2_numpy-include-dir.patch b/dev-python/pyopencl/files/pyopencl-2023.1.2_numpy-include-dir.patch
new file mode 100644
index 000000000000..7a5ce5f52bdc
--- /dev/null
+++ b/dev-python/pyopencl/files/pyopencl-2023.1.2_numpy-include-dir.patch
@@ -0,0 +1,16 @@
+--- a/aksetup_helper.py
++++ b/aksetup_helper.py
+@@ -43,11 +43,8 @@
+
+
+ def get_numpy_incpath():
+- from imp import find_module
+- # avoid actually importing numpy, it screws up distutils
+- file, pathname, descr = find_module("numpy")
+- from os.path import join
+- return join(pathname, "core", "include")
++ import numpy as np
++ return np.get_include()
+
+
+ class NumpyExtension(Extension):
diff --git a/dev-python/pyopencl/pyopencl-2023.1.2.ebuild b/dev-python/pyopencl/pyopencl-2023.1.2.ebuild
new file mode 100644
index 000000000000..b25bb0a7ec5d
--- /dev/null
+++ b/dev-python/pyopencl/pyopencl-2023.1.2.ebuild
@@ -0,0 +1,76 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+
+inherit distutils-r1 multiprocessing pypi
+
+DESCRIPTION="Python wrapper for OpenCL"
+HOMEPAGE="
+ https://mathema.tician.de/software/pyopencl/
+ https://pypi.org/project/pyopencl/
+"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc64 ~riscv"
+IUSE="examples opengl"
+
+# Running tests on GPUs requires both appropriate hardware and additional permissions
+# having been granted to the user running them. Testing on CPUs with dev-libs/pocl
+# is in theory possible but has been found to be very fragile, see e.g. Bug #872308.
+RESTRICT="test"
+
+COMMON=">=virtual/opencl-2"
+# libglvnd is only needed for the headers
+DEPEND="${COMMON}
+ opengl? ( media-libs/libglvnd )"
+RDEPEND="${COMMON}
+ >=dev-python/mako-0.3.6[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ >=dev-python/platformdirs-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/pytools-2021.2.7[${PYTHON_USEDEP}]"
+BDEPEND="dev-python/numpy[${PYTHON_USEDEP}]
+ >=dev-python/pybind11-2.5.0[${PYTHON_USEDEP}]
+ test? ( dev-libs/pocl )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2023.1.2_numpy-include-dir.patch
+)
+
+distutils_enable_tests pytest
+
+python_configure_all() {
+ local myconf=()
+ if use opengl; then
+ myconf+=(--cl-enable-gl)
+ fi
+
+ "${EPYTHON}" configure.py \
+ "${myconf[@]}"
+}
+
+python_test() {
+ # Use dev-libs/pocl for testing; ignore any other OpenCL devices that might be present
+ local -x PYOPENCL_TEST="portable:pthread"
+ # Set the number of threads to match MAKEOPTS
+ local -x POCL_MAX_PTHREAD_COUNT=$(makeopts_jobs)
+ # Change to the 'test' directory so that python does not try to import pyopencl from the source directory
+ # (Importing from the source directory fails, because the compiled '_cl' module is only in the build directory)
+ pushd test >/dev/null || die
+ epytest
+ popd >/dev/null || die
+}
+
+python_install_all() {
+ if use examples; then
+ dodoc -r examples
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+
+ distutils-r1_python_install_all
+}
^ permalink raw reply related [flat|nested] 2+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-python/pyopencl/, dev-python/pyopencl/files/
@ 2023-11-25 10:35 Michał Górny
0 siblings, 0 replies; 2+ messages in thread
From: Michał Górny @ 2023-11-25 10:35 UTC (permalink / raw
To: gentoo-commits
commit: 205ea2fc5cf9cacc645c7775300f8c0138ddf9b8
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Nov 25 10:34:24 2023 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Nov 25 10:34:24 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=205ea2fc
dev-python/pyopencl: Remove old
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
dev-python/pyopencl/Manifest | 1 -
.../pyopencl-2023.1.2_numpy-include-dir.patch | 16 -----
dev-python/pyopencl/pyopencl-2023.1.2.ebuild | 76 ----------------------
3 files changed, 93 deletions(-)
diff --git a/dev-python/pyopencl/Manifest b/dev-python/pyopencl/Manifest
index d9ab93703370..e950e0a69346 100644
--- a/dev-python/pyopencl/Manifest
+++ b/dev-python/pyopencl/Manifest
@@ -1,2 +1 @@
-DIST pyopencl-2023.1.2.tar.gz 473684 BLAKE2B 3912885395df515f3e935149c0bac618c371b75791ac670d1a2cd25ffe5e3ff1c4d0e82d8a475e26d3280aaa659d900ed7df66b3f6952f54266d3cd2ad3b44c2 SHA512 3414b011f0bd0420df4725904b715d54bad0ae77cb4b8619d8d769cd25b56d44a8d34788c23de80b5da5ae757f38231db980f3abcb2544117b7be7627592bf0e
DIST pyopencl-2023.1.4.tar.gz 473899 BLAKE2B 7d836d77b14f89b6dbf0dd2a189f3cb9442f224ff5c9c9db902aa93dc582278450b3d47576885bbe3738ee25f979a260d5c6f906366279adc30be7d3cc3545e1 SHA512 2508d21856d9b846bce14bcd11d007eedddc1cc5c1ce9f8d2ac18743ab9aa5d673c85792b535779b2f414caf47e39ed53c07d7ee8a061bcfa020a15f59463861
diff --git a/dev-python/pyopencl/files/pyopencl-2023.1.2_numpy-include-dir.patch b/dev-python/pyopencl/files/pyopencl-2023.1.2_numpy-include-dir.patch
deleted file mode 100644
index 7a5ce5f52bdc..000000000000
--- a/dev-python/pyopencl/files/pyopencl-2023.1.2_numpy-include-dir.patch
+++ /dev/null
@@ -1,16 +0,0 @@
---- a/aksetup_helper.py
-+++ b/aksetup_helper.py
-@@ -43,11 +43,8 @@
-
-
- def get_numpy_incpath():
-- from imp import find_module
-- # avoid actually importing numpy, it screws up distutils
-- file, pathname, descr = find_module("numpy")
-- from os.path import join
-- return join(pathname, "core", "include")
-+ import numpy as np
-+ return np.get_include()
-
-
- class NumpyExtension(Extension):
diff --git a/dev-python/pyopencl/pyopencl-2023.1.2.ebuild b/dev-python/pyopencl/pyopencl-2023.1.2.ebuild
deleted file mode 100644
index ea1de1178ad4..000000000000
--- a/dev-python/pyopencl/pyopencl-2023.1.2.ebuild
+++ /dev/null
@@ -1,76 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..12} )
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-
-inherit distutils-r1 multiprocessing pypi
-
-DESCRIPTION="Python wrapper for OpenCL"
-HOMEPAGE="
- https://mathema.tician.de/software/pyopencl/
- https://pypi.org/project/pyopencl/
-"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 ~ppc64 ~riscv"
-IUSE="examples opengl"
-
-# Running tests on GPUs requires both appropriate hardware and additional permissions
-# having been granted to the user running them. Testing on CPUs with dev-libs/pocl
-# is in theory possible but has been found to be very fragile, see e.g. Bug #872308.
-RESTRICT="test"
-
-COMMON=">=virtual/opencl-2"
-# libglvnd is only needed for the headers
-DEPEND="${COMMON}
- opengl? ( media-libs/libglvnd )"
-RDEPEND="${COMMON}
- >=dev-python/mako-0.3.6[${PYTHON_USEDEP}]
- dev-python/numpy[${PYTHON_USEDEP}]
- >=dev-python/platformdirs-2.2.0[${PYTHON_USEDEP}]
- >=dev-python/pytools-2021.2.7[${PYTHON_USEDEP}]"
-BDEPEND="dev-python/numpy[${PYTHON_USEDEP}]
- >=dev-python/pybind11-2.5.0[${PYTHON_USEDEP}]
- test? ( dev-libs/pocl )"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-2023.1.2_numpy-include-dir.patch
-)
-
-distutils_enable_tests pytest
-
-python_configure_all() {
- local myconf=()
- if use opengl; then
- myconf+=(--cl-enable-gl)
- fi
-
- "${EPYTHON}" configure.py \
- "${myconf[@]}"
-}
-
-python_test() {
- # Use dev-libs/pocl for testing; ignore any other OpenCL devices that might be present
- local -x PYOPENCL_TEST="portable:pthread"
- # Set the number of threads to match MAKEOPTS
- local -x POCL_MAX_PTHREAD_COUNT=$(makeopts_jobs)
- # Change to the 'test' directory so that python does not try to import pyopencl from the source directory
- # (Importing from the source directory fails, because the compiled '_cl' module is only in the build directory)
- pushd test >/dev/null || die
- epytest
- popd >/dev/null || die
-}
-
-python_install_all() {
- if use examples; then
- dodoc -r examples
- docompress -x /usr/share/doc/${PF}/examples
- fi
-
- distutils-r1_python_install_all
-}
^ permalink raw reply related [flat|nested] 2+ messages in thread
end of thread, other threads:[~2023-11-25 10:35 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-11-25 10:35 [gentoo-commits] repo/gentoo:master commit in: dev-python/pyopencl/, dev-python/pyopencl/files/ Michał Górny
-- strict thread matches above, loose matches on Subject: below --
2023-08-20 17:00 Marek Szuba
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox