dev-python/pyopencl - 2026.1.2 (gentoo)

Search

Install

Install this version:

emerge -a =dev-python/pyopencl-2026.1.2

If this version is masked, you can unmask it using the autounmask tool or standard emerge options:

autounmask =dev-python/pyopencl-2026.1.2

Or alternatively:

emerge --autounmask-write -a =dev-python/pyopencl-2026.1.2

Package Information

Description:
Python wrapper for OpenCL
Homepage:
https://mathema.tician.de/software/pyopencl/ https://github.com/inducer/pyopencl/ https://pypi.org/project/pyopencl/
License:
GPL-2

Ebuild Details

Version EAPI Keywords Slot
2026.1.2 8 ~amd64 ~ppc64 ~riscv 0
View Raw Ebuild
# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=8

DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=scikit-build-core
PYPI_VERIFY_REPO=https://github.com/inducer/pyopencl
PYTHON_COMPAT=( python3_{12..14} )

inherit distutils-r1 multiprocessing pypi

DESCRIPTION="Python wrapper for OpenCL"
HOMEPAGE="
	https://mathema.tician.de/software/pyopencl/
	https://github.com/inducer/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-2025.1.6[${PYTHON_USEDEP}]
"
BDEPEND="
	dev-python/numpy[${PYTHON_USEDEP}]
	dev-python/nanobind[${PYTHON_USEDEP}]
	test? ( dev-libs/pocl )
"

PATCHES=(
	"${FILESDIR}"/${PN}-2025.1-nanobind-flags.patch
)

EPYTEST_PLUGINS=()
EPYTEST_XDIST=1
distutils_enable_tests pytest

python_configure_all() {
	DISTUTILS_ARGS=(
		-DPYOPENCL_ENABLE_GL=$(usex opengl)
	)
}

python_test() {
	# Use dev-libs/pocl for testing; ignore any other OpenCL devices that might be present
	local -x PYOPENCL_TEST="portable:cpu"
	# Set the number of threads to match MAKEOPTS
	local -x POCL_MAX_PTHREAD_COUNT=$(makeopts_jobs)

	rm -rf pyopencl || die
	epytest
}

python_install_all() {
	if use examples; then
		dodoc -r examples
		docompress -x /usr/share/doc/${PF}/examples
	fi

	distutils-r1_python_install_all
}

USE Flags

Manage flags for this package: euse -i <flag> -p dev-python/pyopencl | euse -E <flag> -p dev-python/pyopencl | euse -D <flag> -p dev-python/pyopencl

Global/Standard Flags

Inherited Eclasses

Dependencies

DEPEND

	>=virtual/opencl-2
	opengl? ( media-libs/libglvnd )

RDEPEND

	>=virtual/opencl-2
	>=dev-python/mako-0.3.6[]
	dev-python/numpy[]
	>=dev-python/platformdirs-2.2.0[]
	>=dev-python/pytools-2025.1.6[]

BDEPEND

	dev-python/numpy[]
	dev-python/nanobind[]
	test? ( dev-libs/pocl )