gentoo/dev-util/nsight-graphics/nsight-graphics-2025.2.0.ebuild
Paul Zander c96cdae14c
dev-util/nsight-graphics: use edo, ebuild cleanup
Signed-off-by: Paul Zander <negril.nx+gentoo@gmail.com>
Signed-off-by: Sam James <sam@gentoo.org>
2025-04-22 01:37:47 +01:00

131 lines
3.1 KiB
Bash

# Copyright 2024-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit desktop edo unpacker
DESCRIPTION="standalone developer tool with ray-tracing support"
HOMEPAGE="https://developer.nvidia.com/nsight-graphics"
MY_PV="$(ver_rs 1-3 '_')"
MY_PN="${PN//nsight-}"
MY_PN_SHORT="gfx"
PV_BUILD="25073"
SRC_URI="
https://developer.nvidia.com/downloads/assets/tools/secure/${PN}/${MY_PV}/linux/NVIDIA_Nsight_Graphics_${PV}.${PV_BUILD}.run
mirror+https://developer.download.nvidia.com/images/nvidia-nsight-${MY_PN}-icon-gbp-shaded-128.png
-> nvidia-nsight-${MY_PN}-icon-gbp-shaded-128.20231126.png
"
S="${WORKDIR}/pkg"
LICENSE="NVIDIA-r2"
SLOT="$(ver_cut 1-2)"
KEYWORDS="~amd64"
RESTRICT="bindist mirror strip test"
RDEPEND="
dev-libs/glib:2
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-apps/util-linux
x11-drivers/nvidia-drivers
x11-libs/libX11
x11-libs/libxcb
x11-libs/libxkbcommon
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() {
rm EULA.txt || die
pushd host/linux-desktop-nomad-* >/dev/null || die
local rpaths rpath
readarray -t rpaths < <(find . -maxdepth 1 -name '*.bin')
for rpath in "${rpaths[@]}"; do
edob -m "fixing rpath for ${rpath}" \
patchelf --set-rpath '$ORIGIN' "${rpath}"
# 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)" \
|| 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_dirs
readarray -t arch_dirs < <(find "${ED}${dir}/host" -mindepth 1 -maxdepth 1 -name 'linux-*' -exec basename {} \;)
if [[ -z "${arch_dirs[*]}" ]]; then
die "failed to find arch dir"
fi
if [[ "$(echo "${#arch_dirs[@]}" | wc -l )" -gt 1 ]]; then
eerror "${arch_dirs[*]}"
die "found ${#arch_dirs[*]} arch dirs"
fi
cp \
"${DISTDIR}/nvidia-nsight-${MY_PN}-icon-gbp-shaded-128.20231126.png" \
"${ED}${dir}/host/${arch_dirs[0]}/n${MY_PN_SHORT}-ui.png" \
|| die
newmenu - "${P}.desktop" <<-EOF || die
[Desktop Entry]
Type=Application
Name=NVIDIA Nsight ${MY_PN^} ${PV}
GenericName=NVIDIA Nsight ${MY_PN^}
Icon=${EPREFIX}${dir}/host/${arch_dirs[0]}/n${MY_PN_SHORT}-ui.png
Exec=env WAYLAND_DISPLAY= ${EPREFIX}${dir}/host/${arch_dirs[0]}/n${MY_PN_SHORT}-ui
TryExec=${EPREFIX}${dir}/host/${arch_dirs[0]}/n${MY_PN_SHORT}-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
}