# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 DISTUTILS_USE_PEP517=no PYTHON_COMPAT=( python3_{12..14} ) inherit distutils-r1 MY_PN=${PN//-/_} MY_BASE="https://files.pythonhosted.org/packages" DESCRIPTION="NVIDIA CUTLASS Python DSL — CUDA-13-specific shared libs" HOMEPAGE=" https://github.com/NVIDIA/cutlass https://pypi.org/project/nvidia-cutlass-dsl-libs-cu13/ " SRC_URI=" python_targets_python3_12? ( ${MY_BASE}/b1/0f/bd8b25e6307764a7bfefa519241d6e417f3ba1c75ce548aa76b712a4fd15/${MY_PN}-${PV}-cp312-cp312-manylinux_2_28_x86_64.whl ) python_targets_python3_13? ( ${MY_BASE}/59/1d/e39c5b41e5ca59d5a0809fdfb9ac548430ed957a5e806ad85a77d132c15a/${MY_PN}-${PV}-cp313-cp313-manylinux_2_28_x86_64.whl ) python_targets_python3_14? ( ${MY_BASE}/1e/0e/97edc0011dd226a6ac1359b45469493dcc7c1e6a7627952869f2368da013/${MY_PN}-${PV}-cp314-cp314-manylinux_2_28_x86_64.whl ) " S="${WORKDIR}" LICENSE="NVIDIA-CUDA" SLOT="0" KEYWORDS="-* ~amd64" RESTRICT="bindist mirror" # Wheel-only on PyPI — CUDA-13-specific binary kernels of NVIDIA's # CUTLASS Python DSL. Selected by the parent nvidia-cutlass-dsl when # the cu13 extra is enabled (the right pick with CUDA 13.3 at # /opt/cuda). protobuf<7 (iket profiler only) is omitted as in the base # split; nvidia-cuda-nvdisasm is provided by the CUDA toolkit. # # verified 2026-07-04 against 4.6.0. RDEPEND=" ~dev-python/nvidia-cutlass-dsl-libs-base-${PV}[${PYTHON_USEDEP}] dev-python/cuda-python[${PYTHON_USEDEP}] dev-python/numpy[${PYTHON_USEDEP}] dev-python/typing-extensions[${PYTHON_USEDEP}] >=dev-util/nvidia-cuda-toolkit-13.3 " QA_PREBUILT="usr/lib/python3.*/site-packages/nvidia_cutlass_dsl/*" src_unpack() { mkdir -p "${S}/wheel" || die local f for f in ${A}; do cp "${DISTDIR}/${f}" "${S}/wheel/" || die done } src_install() { python_foreach_impl install_wheel } install_wheel() { local pyver=${EPYTHON#python} local cptag=cp${pyver//./} local whl="${MY_PN}-${PV}-${cptag}-${cptag}-manylinux_2_28_x86_64.whl" [[ -f ${S}/wheel/${whl} ]] || die "expected wheel ${whl} not found" ${EPYTHON} -m installer --destdir="${D}" "${S}/wheel/${whl}" || die }