# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 inherit dot-a desktop toolchain-funcs inherit git-r3 DESCRIPTION="NVIDIA Accelerated Graphics Driver" HOMEPAGE="https://github.com/NVIDIA" EGIT_REPO_URI="${HOMEPAGE}/${PN}.git" LICENSE=" NVIDIA-2025 Apache-2.0 Boost-1.0 BSD BSD-2 GPL-2 MIT ZLIB curl openssl public-domain " SLOT="0" IUSE="+wayland static-libs" COMMON_DEPEND=" acct-group/video acct-user/nvpd net-libs/libtirpc:= app-accessibility/at-spi2-core dev-libs/glib:2 dev-libs/jansson:= media-libs/harfbuzz:= x11-libs/cairo x11-libs/gdk-pixbuf:2 x11-libs/gtk+:3[X] x11-libs/libX11 x11-libs/libXext x11-libs/libXxf86vm x11-libs/pango " RDEPEND="${COMMON_DEPEND}" DEPEND="${COMMON_DEPEND}" src_prepare() { default use wayland || sed -i 's/ WAYLAND_LIB_install$//' src/Makefile || die } src_compile() { tc-export AR CC CXX LD OBJCOPY OBJDUMP PKG_CONFIG NV_ARGS=( PREFIX="${EPREFIX}"/usr NV_USE_BUNDLED_LIBJANSSON=0 NV_VERBOSE=1 DO_STRIP= MANPAGE_GZIP= OUTPUTDIR=out ) # avoid noisy *very* noisy logs with deprecation warnings CFLAGS="-Wno-deprecated-declarations ${CFLAGS}" emake "${NV_ARGS[@]}" } src_install() { local libdir=$(get_libdir) libdir32=$(ABI=x86 get_libdir) NV_ARGS=( PREFIX="${EPREFIX}"/usr DESTDIR="${D}" LIBDIR="${ED}"/usr/${libdir} ) local -A paths=( [APPLICATION_PROFILE]=/usr/share/nvidia [CUDA_ICD]=/etc/OpenCL/vendors [EGL_EXTERNAL_PLATFORM_JSON]=/usr/share/egl/egl_external_platform.d [FIRMWARE]=/lib/firmware/nvidia/${PV} [GBM_BACKEND_LIB_SYMLINK]=/usr/${libdir}/gbm [GLVND_EGL_ICD_JSON]=/usr/share/glvnd/egl_vendor.d [OPENGL_DATA]=/usr/share/nvidia [VULKANSC_ICD_JSON]=/usr/share/vulkansc [VULKAN_ICD_JSON]=/usr/share/vulkan [WINE_LIB]=/usr/${libdir}/nvidia/wine [XORG_OUTPUTCLASS_CONFIG]=/usr/share/X11/xorg.conf.d [GLX_MODULE_SHARED_LIB]=/usr/${libdir}/xorg/modules/extensions [GLX_MODULE_SYMLINK]=/usr/${libdir}/xorg/modules [XMODULE_SHARED_LIB]=/usr/${libdir}/xorg/modules ) local DISABLE_AUTOFORMATTING=yes local DOCS=( doc/{FRAMELOCK,NV-CONTROL-API}.txt ) doicon doc/nvidia-settings.png domenu doc/nvidia-settings.desktop exeinto /etc/X11/xinit/xinitrc.d newexe "${FILESDIR}"/95-nvidia-settings-r1 95-nvidia-settings if use static-libs; then dolib.a src/out/libXNVCtrl.a strip-lto-bytecode insinto /usr/include/NVCtrl doins src/libXNVCtrl/NVCtrl{Lib,}.h fi }