# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 DISTUTILS_USE_PEP517=no DISTUTILS_EXT=1 PYTHON_COMPAT=( python3_{12..14} ) inherit distutils-r1 MY_PN=${PN//-/_} MY_BASE="https://files.pythonhosted.org/packages" DESCRIPTION="NVIDIA CUTLASS Python DSL — base shared libs" HOMEPAGE=" https://github.com/NVIDIA/cutlass https://pypi.org/project/nvidia-cutlass-dsl-libs-base/ " SRC_URI=" python_targets_python3_12? ( ${MY_BASE}/ce/38/e91f66739d2f8711d1a2457e68cd86d6fbae307ce66ce270a405d4dc6dc7/${MY_PN}-${PV}-cp312-cp312-manylinux_2_28_x86_64.whl ) python_targets_python3_13? ( ${MY_BASE}/7f/67/6c21b2d140bbd1ad94a2e22a0e2881457f9e363bdff1b35898a2d7d25aa2/${MY_PN}-${PV}-cp313-cp313-manylinux_2_28_x86_64.whl ) python_targets_python3_14? ( ${MY_BASE}/81/f3/72b53467741043e45a2d776485753b37bca6a3466d9964a75aaccccd82db/${MY_PN}-${PV}-cp314-cp314-manylinux_2_28_x86_64.whl ) " S="${WORKDIR}" LICENSE="NVIDIA-CUTLASS" SLOT="0" KEYWORDS="-* ~amd64" # The CUTLASS EULA prohibits redistributing the binary payload. RESTRICT="bindist mirror strip" # Binary-only split wheel. iket is its sole protobuf consumer and works with # 7.35.1, so omit upstream's <7 cap. verified 2026-08-04 RDEPEND=" ~dev-python/nvidia-cutlass-dsl-libs-core-${PV}[${PYTHON_USEDEP}] >=dev-python/cuda-python-12.8[${PYTHON_USEDEP}] dev-python/numpy[${PYTHON_USEDEP}] >=dev-python/protobuf-6.30.2[${PYTHON_USEDEP}] >=dev-python/typing-extensions-4.10.0[${PYTHON_USEDEP}] " 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 } # Since 4.6.0, base and cu13 payloads are disjoint; no collision dedup is # needed. The parent wheel's .pth enables `import cutlass`. verified 2026-08-04 python_install() { 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 python_optimize }