# Copyright 2024-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 inherit desktop unpacker DESCRIPTION="performance analysis tool designed to visualize an application’s algorithms" HOMEPAGE="https://developer.nvidia.com/nsight-systems" MY_PV=$(ver_cut 1-3) MY_PV=${MY_PV//./_} PV_BUILD="35528883" SRC_URI=" amd64? ( https://developer.nvidia.com/downloads/assets/tools/secure/${PN}/${MY_PV}/${PN}-linux-${PV}-${PV_BUILD}.run ) arm64? ( https://developer.nvidia.com/downloads/assets/tools/secure/${PN}/${MY_PV}/${PN}-armserver-${PV}-${PV_BUILD}.run ) mirror+https://developer.download.nvidia.com/images/nvidia-nsight-compute-icon-gbp-shaded-128.png -> nvidia-nsight-compute-icon-gbp-shaded-128.20231126.png " S="${WORKDIR}/pkg" LICENSE="NVIDIA-r2" SLOT="${PV}" KEYWORDS="~amd64 ~arm64" RESTRICT="bindist mirror strip test" RDEPEND=" dev-libs/expat dev-libs/glib:2 dev-libs/nspr dev-libs/nss dev-libs/wayland dev-qt/qtdeclarative:6 dev-qt/qtpositioning:6 dev-qt/qtwayland:6 dev-qt/qtwebchannel:6 dev-qt/qtwebengine:6 media-libs/fontconfig media-libs/libglvnd media-libs/tiff-compat:4 sys-apps/dbus sys-cluster/rdma-core x11-drivers/nvidia-drivers x11-libs/libX11 x11-libs/libXcomposite x11-libs/libXdamage x11-libs/libXext x11-libs/libXfixes x11-libs/libXi x11-libs/libXrandr x11-libs/libXrender x11-libs/libXtst x11-libs/libdrm x11-libs/libxcb:= x11-libs/libxkbcommon x11-libs/libxkbfile x11-libs/libxshmfence x11-libs/xcb-util-cursor x11-libs/xcb-util-image x11-libs/xcb-util-keysyms x11-libs/xcb-util-renderutil x11-libs/xcb-util-wm " BDEPEND=" dev-util/patchelf " QA_PREBUILT="/opt/nvidia/${PN}/$(ver_cut 1-2)" src_prepare() { if [[ -n "${EPREFIX}" ]]; then sed -e "s#=/#=${EPREFIX}/#g" -i usr/share/applications/*.desktop || die fi pushd host/linux-desktop-* >/dev/null || die readarray -t rpath_bins < <(find . -maxdepth 1 -name '*.bin') for rpath_bin in "${rpath_bins[@]}"; do ebegin "fixing rpath for ${rpath_bin}" patchelf --set-rpath '$ORIGIN' "${rpath_bin}" || die eend $? # OpenGLVersionChecker stumbles on "OpenGL ES profile version string" so disable the check sed \ -e "s/NV_AGORA_PATH/NV_AGORA_PATH_/g" \ -e "4i export QT_PLUGIN_PATH=\"\${NV_AGORA_PATH_}/Plugins\"" \ -e "s/AGORA_USE_MESA_FALLBACK=true/AGORA_USE_MESA_FALLBACK=false/" \ -i "$(basename "${rpath_bin}" .bin)" \ || die done popd &>/dev/null || die eapply_user } src_configure() { : } src_compile() { : } src_install() { local dir dir="/opt/nvidia/${PN}/$(ver_cut 1-2)" dodir "${dir}" mv ./* "${ED}${dir}" || die local arch_dir="$(find "${ED}${dir}/host" -mindepth 1 -maxdepth 1 -name 'linux-*' -exec basename {} \;)" if [[ -z "${arch_dir}" ]]; then die "failed to find arch dir" fi if [[ "$(echo "${arch_dir}" | wc -l )" -gt 1 ]]; then echo ${arch_dir} die "found $(echo "${arch_dir}" | wc -l )" fi cp \ "${DISTDIR}/nvidia-nsight-compute-icon-gbp-shaded-128.20231126.png" \ "${ED}${dir}/host/${arch_dir}/ncu-ui.png" \ || die newmenu - "${P}.desktop" <<-EOF || die [Desktop Entry] Type=Application Name=NVIDIA Nsight Compute ${PV} GenericName=NVIDIA Nsight Compute Icon=${EPREFIX}${dir}/host/${arch_dir}/ncu-ui.png Exec=env WAYLAND_DISPLAY= ${EPREFIX}${dir}/host/${arch_dir}/ncu-ui TryExec=${EPREFIX}${dir}/host/${arch_dir}/ncu-ui Keywords=cuda;gpu;nvidia;nsight; X-AppInstall-Keywords=cuda;gpu;nvidia;nsight; X-GNOME-Keywords=cuda;gpu;nvidia;nsight; Terminal=false Categories=Development;Profiling;ParallelComputing EOF }