commit:     4e4563a83bb0a3c409d4a6b8fddca189ede344b8
Author:     Jeroen Roovers <jer <AT> gentoo <DOT> org>
AuthorDate: Mon Mar 11 22:26:04 2019 +0000
Commit:     Jeroen Roovers <jer <AT> gentoo <DOT> org>
CommitDate: Mon Mar 11 22:28:19 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4e4563a8

x11-drivers/nvidia-drivers: Call docinto after readme.gentoo_create_doc

readme.gentoo-r1.eclass claims it knows where README.gentoo is stored,
but it does not control docinto itself. Work around it by calling
docinto for the HTML content after calling readme.gentoo_create_doc.

Package-Manager: Portage-2.3.62, Repoman-2.3.12
Fixes: https://bugs.gentoo.org/680088
Signed-off-by: Jeroen Roovers <jer <AT> gentoo.org>

 ...-r1.ebuild => nvidia-drivers-340.107-r1.ebuild} | 366 +++++++++------------
 ...-r1.ebuild => nvidia-drivers-390.116-r2.ebuild} |  36 +-
 ...-r1.ebuild => nvidia-drivers-410.104-r2.ebuild} |  36 +-
 ...7-r1.ebuild => nvidia-drivers-415.27-r2.ebuild} |  36 +-
 ...3-r1.ebuild => nvidia-drivers-418.43-r2.ebuild} |  36 +-
 5 files changed, 221 insertions(+), 289 deletions(-)

diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-390.116-r1.ebuild 
b/x11-drivers/nvidia-drivers/nvidia-drivers-340.107-r1.ebuild
similarity index 61%
copy from x11-drivers/nvidia-drivers/nvidia-drivers-390.116-r1.ebuild
copy to x11-drivers/nvidia-drivers/nvidia-drivers-340.107-r1.ebuild
index aa55b3cdd05..51360af7719 100644
--- a/x11-drivers/nvidia-drivers/nvidia-drivers-390.116-r1.ebuild
+++ b/x11-drivers/nvidia-drivers/nvidia-drivers-340.107-r1.ebuild
@@ -5,20 +5,17 @@ EAPI=6
 inherit eutils flag-o-matic linux-info linux-mod multilib-minimal 
nvidia-driver \
        portability toolchain-funcs unpacker user udev
 
-DESCRIPTION="NVIDIA Accelerated Graphics Driver"
-HOMEPAGE="http://www.nvidia.com/";
-
-AMD64_FBSD_NV_PACKAGE="NVIDIA-FreeBSD-x86_64-${PV}"
+NV_URI="https://us.download.nvidia.com/XFree86/";
+X86_NV_PACKAGE="NVIDIA-Linux-x86-${PV}"
 AMD64_NV_PACKAGE="NVIDIA-Linux-x86_64-${PV}"
-ARM_NV_PACKAGE="NVIDIA-Linux-armv7l-gnueabihf-${PV}"
 X86_FBSD_NV_PACKAGE="NVIDIA-FreeBSD-x86-${PV}"
-X86_NV_PACKAGE="NVIDIA-Linux-x86-${PV}"
+AMD64_FBSD_NV_PACKAGE="NVIDIA-FreeBSD-x86_64-${PV}"
 
-NV_URI="https://us.download.nvidia.com/XFree86/";
+DESCRIPTION="NVIDIA Accelerated Graphics Driver"
+HOMEPAGE="http://www.nvidia.com/";
 SRC_URI="
        amd64-fbsd? ( 
${NV_URI}FreeBSD-x86_64/${PV}/${AMD64_FBSD_NV_PACKAGE}.tar.gz )
        amd64? ( ${NV_URI}Linux-x86_64/${PV}/${AMD64_NV_PACKAGE}.run )
-       arm? ( ${NV_URI}Linux-x86-ARM/${PV}/${ARM_NV_PACKAGE}.run )
        x86-fbsd? ( ${NV_URI}FreeBSD-x86/${PV}/${X86_FBSD_NV_PACKAGE}.tar.gz )
        x86? ( ${NV_URI}Linux-x86/${PV}/${X86_NV_PACKAGE}.run )
        tools? (
@@ -29,59 +26,52 @@ SRC_URI="
 LICENSE="GPL-2 NVIDIA-r2"
 SLOT="0/${PV%.*}"
 KEYWORDS="-* ~amd64 ~x86 ~amd64-fbsd ~x86-fbsd"
+IUSE="acpi multilib kernel_FreeBSD kernel_linux static-libs +tools +X"
 RESTRICT="bindist mirror"
 EMULTILIB_PKG="true"
 
-IUSE="acpi compat +driver gtk3 kernel_FreeBSD kernel_linux +kms multilib 
static-libs +tools uvm wayland +X"
-REQUIRED_USE="
-       tools? ( X )
-       static-libs? ( tools )
-"
-
 COMMON="
        app-eselect/eselect-opencl
        kernel_linux? ( >=sys-libs/glibc-2.6.1 )
        tools? (
+               >=x11-libs/gtk+-2.4:2
                dev-libs/atk
                dev-libs/glib:2
                dev-libs/jansson
-               gtk3? (
-                       x11-libs/gtk+:3
-               )
-               x11-libs/cairo
                x11-libs/gdk-pixbuf[X]
-               x11-libs/gtk+:2
                x11-libs/libX11
                x11-libs/libXext
-               x11-libs/libXrandr
                x11-libs/libXv
-               x11-libs/libXxf86vm
                x11-libs/pango[X]
        )
        X? (
                >=app-eselect/eselect-opengl-1.0.9
-               app-misc/pax-utils
        )
 "
 DEPEND="
        ${COMMON}
+       app-arch/xz-utils
        kernel_linux? ( virtual/linux-sources )
-       tools? ( sys-apps/dbus )
 "
 RDEPEND="
        ${COMMON}
        acpi? ( sys-power/acpid )
        tools? ( !media-video/nvidia-settings )
-       wayland? ( dev-libs/wayland[${MULTILIB_USEDEP}] )
        X? (
                <x11-base/xorg-server-1.20.99:=
-               >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}]
-               >=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}]
-               >=x11-libs/libvdpau-1.0[${MULTILIB_USEDEP}]
+               >=x11-libs/libvdpau-0.3-r1
                sys-libs/zlib[${MULTILIB_USEDEP}]
+               multilib? (
+                       >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}]
+                       >=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}]
+               )
        )
 "
+
+REQUIRED_USE="tools? ( X )"
+
 QA_PREBUILT="opt/* usr/lib*"
+
 S=${WORKDIR}/
 
 nvidia_drivers_versions_check() {
@@ -91,13 +81,13 @@ nvidia_drivers_versions_check() {
                die "Unexpected \${DEFAULT_ABI} = ${DEFAULT_ABI}"
        fi
 
-       if use kernel_linux && kernel_is ge 5 1; then
+       if use kernel_linux && kernel_is ge 4 18; then
                ewarn "Gentoo supports kernels which are supported by NVIDIA"
                ewarn "which are limited to the following kernels:"
-               ewarn "<sys-kernel/gentoo-sources-5.1"
-               ewarn "<sys-kernel/vanilla-sources-5.1"
+               ewarn "<sys-kernel/gentoo-sources-4.18"
+               ewarn "<sys-kernel/vanilla-sources-4.18"
                ewarn ""
-               ewarn "You are free to utilize epatch_user to provide whatever"
+               ewarn "You are free to utilize eapply_user to provide whatever"
                ewarn "support you feel is appropriate, but will not receive"
                ewarn "support as a result of those changes."
                ewarn ""
@@ -130,10 +120,8 @@ pkg_setup() {
        export DISTCC_DISABLE=1
        export CCACHE_DISABLE=1
 
-       if use driver && use kernel_linux; then
+       if use kernel_linux; then
                MODULE_NAMES="nvidia(video:${S}/kernel)"
-               use uvm && MODULE_NAMES+=" nvidia-uvm(video:${S}/kernel)"
-               use kms && MODULE_NAMES+=" nvidia-modeset(video:${S}/kernel) 
nvidia-drm(video:${S}/kernel)"
 
                # This needs to run after MODULE_NAMES (so that the eclass 
checks
                # whether the kernel supports loadable modules) but before 
BUILD_PARAMS
@@ -141,7 +129,7 @@ pkg_setup() {
                linux-mod_pkg_setup
 
                BUILD_PARAMS="IGNORE_CC_MISMATCH=yes V=1 SYSSRC=${KV_DIR} \
-               SYSOUT=${KV_OUT_DIR} CC=$(tc-getBUILD_CC) NV_VERBOSE=1"
+               SYSOUT=${KV_OUT_DIR} CC=$(tc-getBUILD_CC)"
 
                # linux-mod_src_compile calls set_arch_to_kernel, which
                # sets the ARCH to x86 but NVIDIA's wrapping Makefile
@@ -150,10 +138,6 @@ pkg_setup() {
                BUILD_FIXES="ARCH=$(uname -m | sed -e 's/i.86/i386/')"
        fi
 
-       if use kernel_linux && kernel_is lt 2 6 9; then
-               eerror "You must build this against 2.6.9 or higher kernels."
-       fi
-
        # set variables to where files are in the package structure
        if use kernel_FreeBSD; then
                use x86-fbsd   && S="${WORKDIR}/${X86_FBSD_NV_PACKAGE}"
@@ -177,25 +161,24 @@ pkg_setup() {
 }
 
 src_prepare() {
+       # Please add a brief description for every added patch
+
+       if use kernel_linux; then
+               if kernel_is lt 2 6 9 ; then
+                       eerror "You must build this against 2.6.9 or higher 
kernels."
+               fi
+
+               # If greater than 2.6.5 use M= instead of SUBDIR=
+#              convert_to_m "${NV_SRC}"/Makefile.kbuild
+       fi
+
        local man_file
        for man_file in "${NV_MAN}"/*1.gz; do
                gunzip $man_file || die
        done
 
-       if use tools; then
-               cp "${FILESDIR}"/nvidia-settings-linker.patch "${WORKDIR}" || 
die
-               sed -i \
-                       -e "s:@PV@:${PV}:g" \
-                       "${WORKDIR}"/nvidia-settings-linker.patch || die
-               eapply "${WORKDIR}"/nvidia-settings-linker.patch
-       fi
-
-       default
-
-       if ! [ -f nvidia_icd.json ]; then
-               cp nvidia_icd.json.template nvidia_icd.json || die
-               sed -i -e 's:__NV_VK_ICD__:libGLX_nvidia.so.0:g' 
nvidia_icd.json || die
-       fi
+       # Allow user patches so they can support RC kernels and whatever else
+       eapply_user
 }
 
 src_compile() {
@@ -207,78 +190,74 @@ src_compile() {
        if use kernel_FreeBSD; then
                MAKE="$(get_bmake)" CFLAGS="-Wno-sign-compare" emake 
CC="$(tc-getCC)" \
                        LD="$(tc-getLD)" LDFLAGS="$(raw-ldflags)" || die
-       elif use driver && use kernel_linux; then
-               BUILD_TARGETS=module linux-mod_src_compile \
-                       KERNELRELEASE="${KV_FULL}" \
-                       src="${KERNEL_DIR}"
+       elif use kernel_linux; then
+               BUILD_TARGETS=module linux-mod_src_compile
        fi
 
        if use tools; then
-               emake -C "${S}"/nvidia-settings-${PV}/src \
+               emake -C "${S}"/nvidia-settings-${PV}/src/libXNVCtrl clean
+               emake -C "${S}"/nvidia-settings-${PV}/src/libXNVCtrl \
                        AR="$(tc-getAR)" \
                        CC="$(tc-getCC)" \
-                       DO_STRIP= \
-                       LD="$(tc-getCC)" \
-                       LIBDIR="$(get_libdir)" \
-                       NVLD="$(tc-getLD)" \
-                       NV_VERBOSE=1 \
                        RANLIB="$(tc-getRANLIB)" \
-                       build-xnvctrl
-
+                       libXNVCtrl.a
                emake -C "${S}"/nvidia-settings-${PV}/src \
+                       AR="$(tc-getAR)" \
                        CC="$(tc-getCC)" \
-                       DO_STRIP= \
-                       GTK3_AVAILABLE=$(usex gtk3 1 0) \
                        LD="$(tc-getCC)" \
                        LIBDIR="$(get_libdir)" \
-                       NVLD="$(tc-getLD)" \
                        NVML_ENABLED=0 \
                        NV_USE_BUNDLED_LIBJANSSON=0 \
-                       NV_VERBOSE=1
+                       NV_VERBOSE=1 \
+                       RANLIB="$(tc-getRANLIB)" \
+                       STRIP_CMD=true
        fi
 }
 
 # Install nvidia library:
 # the first parameter is the library to install
 # the second parameter is the provided soversion
-# the third parameter is the target directory if it is not /usr/lib
+# the third parameter is the target directory if its not /usr/lib
 donvidia() {
-       # Full path to library
-       nv_LIB="${1}"
+       # Full path to library minus SOVER
+       MY_LIB="$1"
 
        # SOVER to use
-       nv_SOVER="$(scanelf -qF'%S#F' ${nv_LIB})"
+       MY_SOVER="$2"
 
        # Where to install
-       nv_DEST="${2}"
-
-       # Get just the library name
-       nv_LIBNAME=$(basename "${nv_LIB}")
+       MY_DEST="$3"
 
-       if [[ "${nv_DEST}" ]]; then
-               exeinto ${nv_DEST}
-               action="doexe"
-       else
-               nv_DEST="/usr/$(get_libdir)"
+       if [[ -z "${MY_DEST}" ]]; then
+               MY_DEST="/usr/$(get_libdir)"
                action="dolib.so"
+       else
+               exeinto ${MY_DEST}
+               action="doexe"
        fi
 
-       # Install the library
-       ${action} ${nv_LIB} || die "failed to install ${nv_LIBNAME}"
+       # Get just the library name
+       libname=$(basename $1)
+
+       # Install the library with the correct SOVER
+       ${action} ${MY_LIB}.${MY_SOVER} || \
+               die "failed to install ${libname}"
 
-       # If the library has a SONAME and SONAME does not match the library 
name,
-       # then we need to create a symlink
-       if [[ ${nv_SOVER} ]] && ! [[ "${nv_SOVER}" = "${nv_LIBNAME}" ]]; then
-               dosym ${nv_LIBNAME} ${nv_DEST}/${nv_SOVER} \
-                       || die "failed to create ${nv_DEST}/${nv_SOVER} symlink"
+       # If SOVER wasn't 1, then we need to create a .1 symlink
+       if [[ "${MY_SOVER}" != "1" ]]; then
+               dosym ${libname}.${MY_SOVER} \
+                       ${MY_DEST}/${libname}.1 || \
+                       die "failed to create ${libname} symlink"
        fi
 
-       dosym ${nv_LIBNAME} ${nv_DEST}/${nv_LIBNAME/.so*/.so} \
-               || die "failed to create ${nv_LIBNAME/.so*/.so} symlink"
+       # Always create the symlink from the raw lib to the .1
+       dosym ${libname}.1 \
+               ${MY_DEST}/${libname} || \
+               die "failed to create ${libname} symlink"
 }
 
 src_install() {
-       if use driver && use kernel_linux; then
+       if use kernel_linux; then
                linux-mod_src_install
 
                # Add the aliases
@@ -286,14 +265,6 @@ src_install() {
                # pkg_preinst, see bug #491414
                insinto /etc/modprobe.d
                newins "${FILESDIR}"/nvidia-169.07 nvidia.conf
-               if use uvm; then
-                       doins "${FILESDIR}"/nvidia-rmmod.conf
-                       udev_newrules "${FILESDIR}"/nvidia-uvm.udev-rule 
99-nvidia-uvm.rules
-               else
-                       sed -e 's|nvidia-uvm ||g' 
"${FILESDIR}"/nvidia-rmmod.conf \
-                               > "${T}"/nvidia-rmmod.conf || die
-                       doins "${T}"/nvidia-rmmod.conf
-               fi
 
                # Ensures that our device nodes are created when not using X
                exeinto "$(get_udevdir)"
@@ -310,84 +281,49 @@ src_install() {
        fi
 
        # NVIDIA kernel <-> userspace driver config lib
-       donvidia ${NV_OBJ}/libnvidia-cfg.so.${NV_SOVER}
+       donvidia "${NV_OBJ}"/libnvidia-cfg.so ${NV_SOVER}
 
        # NVIDIA framebuffer capture library
-       donvidia ${NV_OBJ}/libnvidia-fbc.so.${NV_SOVER}
+       donvidia "${NV_OBJ}"/libnvidia-fbc.so ${NV_SOVER}
 
        # NVIDIA video encode/decode <-> CUDA
        if use kernel_linux; then
-               donvidia ${NV_OBJ}/libnvcuvid.so.${NV_SOVER}
-               donvidia ${NV_OBJ}/libnvidia-encode.so.${NV_SOVER}
+               donvidia "${NV_OBJ}"/libnvcuvid.so ${NV_SOVER}
+               donvidia "${NV_OBJ}"/libnvidia-encode.so ${NV_SOVER}
        fi
 
        if use X; then
                # Xorg DDX driver
                insinto /usr/$(get_libdir)/xorg/modules/drivers
-               doins ${NV_X11}/nvidia_drv.so
+               doins "${NV_X11}"/nvidia_drv.so
 
                # Xorg GLX driver
-               donvidia ${NV_X11}/libglx.so.${NV_SOVER} \
+               donvidia "${NV_X11}"/libglx.so ${NV_SOVER} \
                        /usr/$(get_libdir)/opengl/nvidia/extensions
-
-               # Xorg nvidia.conf
-               if has_version '>=x11-base/xorg-server-1.16'; then
-                       insinto /usr/share/X11/xorg.conf.d
-                       newins {,50-}nvidia-drm-outputclass.conf
-               fi
-
-               insinto /usr/share/glvnd/egl_vendor.d
-               doins ${NV_X11}/10_nvidia.json
-       fi
-
-       if use wayland; then
-               insinto /usr/share/egl/egl_external_platform.d
-               doins ${NV_X11}/10_nvidia_wayland.json
        fi
 
        # OpenCL ICD for NVIDIA
        if use kernel_linux; then
                insinto /etc/OpenCL/vendors
-               doins ${NV_OBJ}/nvidia.icd
-       fi
-
-       # Documentation
-       if use kernel_FreeBSD; then
-               dodoc "${NV_DOC}/README"
-               use X && doman "${NV_MAN}"/nvidia-xconfig.1
-               use tools && doman "${NV_MAN}"/nvidia-settings.1
-       else
-               # Docs
-               newdoc "${NV_DOC}/README.txt" README
-               dodoc "${NV_DOC}/NVIDIA_Changelog"
-               doman "${NV_MAN}"/nvidia-smi.1
-               use X && doman "${NV_MAN}"/nvidia-xconfig.1
-               use tools && doman "${NV_MAN}"/nvidia-settings.1
-               doman "${NV_MAN}"/nvidia-cuda-mps-control.1
+               doins "${NV_OBJ}"/nvidia.icd
        fi
 
-       docinto html
-       dodoc -r ${NV_DOC}/html/*
-
        # Helper Apps
        exeinto /opt/bin/
 
        if use X; then
-               doexe ${NV_OBJ}/nvidia-xconfig
-
-               insinto /etc/vulkan/icd.d
-               doins nvidia_icd.json
+               doexe "${NV_OBJ}"/nvidia-xconfig
        fi
 
-       if use kernel_linux; then
-               doexe ${NV_OBJ}/nvidia-cuda-mps-control
-               doexe ${NV_OBJ}/nvidia-cuda-mps-server
-               doexe ${NV_OBJ}/nvidia-debugdump
-               doexe ${NV_OBJ}/nvidia-persistenced
-               doexe ${NV_OBJ}/nvidia-smi
+       if use kernel_linux ; then
+               doexe "${NV_OBJ}"/nvidia-cuda-mps-control
+               doexe "${NV_OBJ}"/nvidia-cuda-mps-server
+               doexe "${NV_OBJ}"/nvidia-debugdump
+               doexe "${NV_OBJ}"/nvidia-persistenced
+               doexe "${NV_OBJ}"/nvidia-smi
 
                # install nvidia-modprobe setuid and symlink in /usr/bin (bug 
#505092)
-               doexe ${NV_OBJ}/nvidia-modprobe
+               doexe "${NV_OBJ}"/nvidia-modprobe
                fowners root:video /opt/bin/nvidia-modprobe
                fperms 4710 /opt/bin/nvidia-modprobe
                dosym /{opt,usr}/bin/nvidia-modprobe
@@ -403,12 +339,9 @@ src_install() {
        if use tools; then
                emake -C "${S}"/nvidia-settings-${PV}/src/ \
                        DESTDIR="${D}" \
-                       GTK3_AVAILABLE=$(usex gtk3 1 0) \
                        LIBDIR="${D}/usr/$(get_libdir)" \
-                       NV_USE_BUNDLED_LIBJANSSON=0 \
-                       NV_VERBOSE=1 \
                        PREFIX=/usr \
-                       DO_STRIP= \
+                       NV_USE_BUNDLED_LIBJANSSON=0 \
                        install
 
                if use static-libs; then
@@ -427,19 +360,22 @@ src_install() {
 
                # There is no icon in the FreeBSD tarball.
                use kernel_FreeBSD || \
-                       doicon ${NV_OBJ}/nvidia-settings.png
+                       doicon "${NV_OBJ}"/nvidia-settings.png
 
                domenu "${FILESDIR}"/nvidia-settings.desktop
 
                exeinto /etc/X11/xinit/xinitrc.d
                newexe "${FILESDIR}"/95-nvidia-settings-r1 95-nvidia-settings
+
        fi
 
-       dobin ${NV_OBJ}/nvidia-bug-report.sh
+       dobin "${NV_OBJ}"/nvidia-bug-report.sh
+
+       #doenvd "${FILESDIR}"/50nvidia-prelink-blacklist
 
-       if has_multilib_profile && use multilib; then
+       if has_multilib_profile && use multilib ; then
                local OABI=${ABI}
-               for ABI in $(get_install_abis); do
+               for ABI in $(get_install_abis) ; do
                        src_install-libs
                done
                ABI=${OABI}
@@ -450,7 +386,25 @@ src_install() {
 
        is_final_abi || die "failed to iterate through all ABIs"
 
+       # Documentation
+       if use kernel_FreeBSD; then
+               dodoc "${NV_DOC}"/README
+               use X && doman "${NV_MAN}"/nvidia-xconfig.1
+               use tools && doman "${NV_MAN}"/nvidia-settings.1
+       else
+               # Docs
+               newdoc "${NV_DOC}"/README.txt README
+               dodoc "${NV_DOC}"/NVIDIA_Changelog
+               doman "${NV_MAN}"/nvidia-smi.1
+               use X && doman "${NV_MAN}"/nvidia-xconfig.1
+               use tools && doman "${NV_MAN}"/nvidia-settings.1
+               doman "${NV_MAN}"/nvidia-cuda-mps-control.1
+       fi
+
        readme.gentoo_create_doc
+
+       docinto html
+       dodoc -r "${NV_DOC}"/html/*
 }
 
 src_install-libs() {
@@ -459,74 +413,52 @@ src_install-libs() {
        local CL_ROOT="/usr/$(get_libdir)/OpenCL/vendors/nvidia"
        local nv_libdir="${NV_OBJ}"
 
-       if use kernel_linux && has_multilib_profile && [[ ${ABI} == "x86" ]]; 
then
+       if use kernel_linux && has_multilib_profile && \
+                       [[ ${ABI} == "x86" ]] ; then
                nv_libdir="${NV_OBJ}"/32
        fi
 
        if use X; then
-               NV_GLX_LIBRARIES=(
-                       "libEGL.so.$(usex compat ${NV_SOVER} 1.1.0) ${GL_ROOT}"
-                       "libEGL_nvidia.so.${NV_SOVER} ${GL_ROOT}"
-                       "libGL.so.$(usex compat ${NV_SOVER} 1.7.0) ${GL_ROOT}"
-                       "libGLESv1_CM.so.1.2.0 ${GL_ROOT}"
-                       "libGLESv1_CM_nvidia.so.${NV_SOVER} ${GL_ROOT}"
-                       "libGLESv2.so.2.1.0 ${GL_ROOT}"
-                       "libGLESv2_nvidia.so.${NV_SOVER} ${GL_ROOT}"
-                       "libGLX.so.0 ${GL_ROOT}"
-                       "libGLX_nvidia.so.${NV_SOVER} ${GL_ROOT}"
-                       "libGLdispatch.so.0 ${GL_ROOT}"
-                       "libOpenCL.so.1.0.0 ${CL_ROOT}"
-                       "libOpenGL.so.0 ${GL_ROOT}"
-                       "libcuda.so.${NV_SOVER}"
-                       "libnvcuvid.so.${NV_SOVER}"
-                       "libnvidia-compiler.so.${NV_SOVER}"
-                       "libnvidia-eglcore.so.${NV_SOVER}"
-                       "libnvidia-encode.so.${NV_SOVER}"
-                       "libnvidia-fatbinaryloader.so.${NV_SOVER}"
-                       "libnvidia-fbc.so.${NV_SOVER}"
-                       "libnvidia-glcore.so.${NV_SOVER}"
-                       "libnvidia-glsi.so.${NV_SOVER}"
-                       "libnvidia-ifr.so.${NV_SOVER}"
-                       "libnvidia-opencl.so.${NV_SOVER}"
-                       "libnvidia-ptxjitcompiler.so.${NV_SOVER}"
-                       "libvdpau_nvidia.so.${NV_SOVER}"
-               )
-
-               if use wayland && has_multilib_profile && [[ ${ABI} == "amd64" 
]];
-               then
-                       NV_GLX_LIBRARIES+=(
-                               "libnvidia-egl-wayland.so.1.0.2"
-                       )
+               # The GLX libraries
+               donvidia "${nv_libdir}"/libEGL.so ${NV_SOVER} ${GL_ROOT}
+               donvidia "${nv_libdir}"/libGL.so ${NV_SOVER} ${GL_ROOT}
+               donvidia "${nv_libdir}"/libGLESv1_CM.so ${NV_SOVER} ${GL_ROOT}
+               donvidia "${nv_libdir}"/libnvidia-eglcore.so ${NV_SOVER}
+               donvidia "${nv_libdir}"/libnvidia-glcore.so ${NV_SOVER}
+               donvidia "${nv_libdir}"/libnvidia-glsi.so ${NV_SOVER}
+               donvidia "${nv_libdir}"/libnvidia-ifr.so ${NV_SOVER}
+               if use kernel_FreeBSD; then
+                       donvidia "${nv_libdir}"/libnvidia-tls.so ${NV_SOVER}
+               else
+                       donvidia "${nv_libdir}"/tls/libnvidia-tls.so ${NV_SOVER}
                fi
 
-               if use kernel_linux && has_multilib_profile && [[ ${ABI} == 
"amd64" ]];
-               then
-                       NV_GLX_LIBRARIES+=(
-                               "libnvidia-wfb.so.${NV_SOVER}"
-                       )
-               fi
+               # VDPAU
+               donvidia "${nv_libdir}"/libvdpau_nvidia.so ${NV_SOVER}
 
-               if use kernel_FreeBSD; then
-                       NV_GLX_LIBRARIES+=(
-                               "libnvidia-tls.so.${NV_SOVER}"
-                       )
-               fi
+               # GLES v2 libraries
+               insinto ${GL_ROOT}
+               doexe "${nv_libdir}"/libGLESv2.so.${PV}
+               dosym libGLESv2.so.${PV} ${GL_ROOT}/libGLESv2.so.2
+               dosym libGLESv2.so.2 ${GL_ROOT}/libGLESv2.so
+       fi
 
-               if use kernel_linux; then
-                       NV_GLX_LIBRARIES+=(
-                               "libnvidia-ml.so.${NV_SOVER}"
-                               "tls/libnvidia-tls.so.${NV_SOVER}"
-                       )
-               fi
+       # NVIDIA monitoring library
+       if use kernel_linux ; then
+               donvidia "${nv_libdir}"/libnvidia-ml.so ${NV_SOVER}
+       fi
 
-               for NV_LIB in "${NV_GLX_LIBRARIES[@]}"; do
-                       donvidia "${nv_libdir}"/${NV_LIB}
-               done
+       # CUDA & OpenCL
+       if use kernel_linux; then
+               donvidia "${nv_libdir}"/libcuda.so ${NV_SOVER}
+               donvidia "${nv_libdir}"/libnvidia-compiler.so ${NV_SOVER}
+               donvidia "${nv_libdir}"/libOpenCL.so 1.0.0 ${CL_ROOT}
+               donvidia "${nv_libdir}"/libnvidia-opencl.so ${NV_SOVER}
        fi
 }
 
 pkg_preinst() {
-       if use driver && use kernel_linux; then
+       if use kernel_linux; then
                linux-mod_pkg_preinst
 
                local videogroup="$(egetent group video | cut -d ':' -f 3)"
@@ -543,17 +475,17 @@ pkg_preinst() {
 
        # Clean the dynamic libGL stuff's home to ensure
        # we dont have stale libs floating around
-       if [ -d "${ROOT}"/usr/lib/opengl/nvidia ]; then
+       if [ -d "${ROOT}"/usr/lib/opengl/nvidia ] ; then
                rm -rf "${ROOT}"/usr/lib/opengl/nvidia/*
        fi
        # Make sure we nuke the old nvidia-glx's env.d file
-       if [ -e "${ROOT}"/etc/env.d/09nvidia ]; then
+       if [ -e "${ROOT}"/etc/env.d/09nvidia ] ; then
                rm -f "${ROOT}"/etc/env.d/09nvidia
        fi
 }
 
 pkg_postinst() {
-       use driver && use kernel_linux && linux-mod_pkg_postinst
+       use kernel_linux && linux-mod_pkg_postinst
 
        # Switch to the nvidia implementation
        use X && "${ROOT}"/usr/bin/eselect opengl set --use-old nvidia
@@ -584,6 +516,6 @@ pkg_prerm() {
 }
 
 pkg_postrm() {
-       use driver && use kernel_linux && linux-mod_pkg_postrm
+       use kernel_linux && linux-mod_pkg_postrm
        use X && "${ROOT}"/usr/bin/eselect opengl set --use-old xorg-x11
 }

diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-390.116-r1.ebuild 
b/x11-drivers/nvidia-drivers/nvidia-drivers-390.116-r2.ebuild
similarity index 100%
rename from x11-drivers/nvidia-drivers/nvidia-drivers-390.116-r1.ebuild
rename to x11-drivers/nvidia-drivers/nvidia-drivers-390.116-r2.ebuild
index aa55b3cdd05..b14bd5d1f66 100644
--- a/x11-drivers/nvidia-drivers/nvidia-drivers-390.116-r1.ebuild
+++ b/x11-drivers/nvidia-drivers/nvidia-drivers-390.116-r2.ebuild
@@ -351,24 +351,6 @@ src_install() {
                doins ${NV_OBJ}/nvidia.icd
        fi
 
-       # Documentation
-       if use kernel_FreeBSD; then
-               dodoc "${NV_DOC}/README"
-               use X && doman "${NV_MAN}"/nvidia-xconfig.1
-               use tools && doman "${NV_MAN}"/nvidia-settings.1
-       else
-               # Docs
-               newdoc "${NV_DOC}/README.txt" README
-               dodoc "${NV_DOC}/NVIDIA_Changelog"
-               doman "${NV_MAN}"/nvidia-smi.1
-               use X && doman "${NV_MAN}"/nvidia-xconfig.1
-               use tools && doman "${NV_MAN}"/nvidia-settings.1
-               doman "${NV_MAN}"/nvidia-cuda-mps-control.1
-       fi
-
-       docinto html
-       dodoc -r ${NV_DOC}/html/*
-
        # Helper Apps
        exeinto /opt/bin/
 
@@ -450,7 +432,25 @@ src_install() {
 
        is_final_abi || die "failed to iterate through all ABIs"
 
+       # Documentation
+       if use kernel_FreeBSD; then
+               dodoc "${NV_DOC}/README"
+               use X && doman "${NV_MAN}"/nvidia-xconfig.1
+               use tools && doman "${NV_MAN}"/nvidia-settings.1
+       else
+               # Docs
+               newdoc "${NV_DOC}/README.txt" README
+               dodoc "${NV_DOC}/NVIDIA_Changelog"
+               doman "${NV_MAN}"/nvidia-smi.1
+               use X && doman "${NV_MAN}"/nvidia-xconfig.1
+               use tools && doman "${NV_MAN}"/nvidia-settings.1
+               doman "${NV_MAN}"/nvidia-cuda-mps-control.1
+       fi
+
        readme.gentoo_create_doc
+
+       docinto html
+       dodoc -r ${NV_DOC}/html/*
 }
 
 src_install-libs() {

diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-410.104-r1.ebuild 
b/x11-drivers/nvidia-drivers/nvidia-drivers-410.104-r2.ebuild
similarity index 100%
rename from x11-drivers/nvidia-drivers/nvidia-drivers-410.104-r1.ebuild
rename to x11-drivers/nvidia-drivers/nvidia-drivers-410.104-r2.ebuild
index 4a4029ee9d4..0451caf0436 100644
--- a/x11-drivers/nvidia-drivers/nvidia-drivers-410.104-r1.ebuild
+++ b/x11-drivers/nvidia-drivers/nvidia-drivers-410.104-r2.ebuild
@@ -344,24 +344,6 @@ src_install() {
                doins ${NV_OBJ}/nvidia.icd
        fi
 
-       # Documentation
-       if use kernel_FreeBSD; then
-               dodoc "${NV_DOC}/README"
-               use X && doman "${NV_MAN}"/nvidia-xconfig.1
-               use tools && doman "${NV_MAN}"/nvidia-settings.1
-       else
-               # Docs
-               newdoc "${NV_DOC}/README.txt" README
-               dodoc "${NV_DOC}/NVIDIA_Changelog"
-               doman "${NV_MAN}"/nvidia-smi.1
-               use X && doman "${NV_MAN}"/nvidia-xconfig.1
-               use tools && doman "${NV_MAN}"/nvidia-settings.1
-               doman "${NV_MAN}"/nvidia-cuda-mps-control.1
-       fi
-
-       docinto html
-       dodoc -r ${NV_DOC}/html/*
-
        # Helper Apps
        exeinto /opt/bin/
 
@@ -443,7 +425,25 @@ src_install() {
 
        is_final_abi || die "failed to iterate through all ABIs"
 
+       # Documentation
+       if use kernel_FreeBSD; then
+               dodoc "${NV_DOC}/README"
+               use X && doman "${NV_MAN}"/nvidia-xconfig.1
+               use tools && doman "${NV_MAN}"/nvidia-settings.1
+       else
+               # Docs
+               newdoc "${NV_DOC}/README.txt" README
+               dodoc "${NV_DOC}/NVIDIA_Changelog"
+               doman "${NV_MAN}"/nvidia-smi.1
+               use X && doman "${NV_MAN}"/nvidia-xconfig.1
+               use tools && doman "${NV_MAN}"/nvidia-settings.1
+               doman "${NV_MAN}"/nvidia-cuda-mps-control.1
+       fi
+
        readme.gentoo_create_doc
+
+       docinto html
+       dodoc -r ${NV_DOC}/html/*
 }
 
 src_install-libs() {

diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-415.27-r1.ebuild 
b/x11-drivers/nvidia-drivers/nvidia-drivers-415.27-r2.ebuild
similarity index 100%
rename from x11-drivers/nvidia-drivers/nvidia-drivers-415.27-r1.ebuild
rename to x11-drivers/nvidia-drivers/nvidia-drivers-415.27-r2.ebuild
index 3e96bb07188..f00c9506c65 100644
--- a/x11-drivers/nvidia-drivers/nvidia-drivers-415.27-r1.ebuild
+++ b/x11-drivers/nvidia-drivers/nvidia-drivers-415.27-r2.ebuild
@@ -344,24 +344,6 @@ src_install() {
                doins ${NV_OBJ}/nvidia.icd
        fi
 
-       # Documentation
-       if use kernel_FreeBSD; then
-               dodoc "${NV_DOC}/README"
-               use X && doman "${NV_MAN}"/nvidia-xconfig.1
-               use tools && doman "${NV_MAN}"/nvidia-settings.1
-       else
-               # Docs
-               newdoc "${NV_DOC}/README.txt" README
-               dodoc "${NV_DOC}/NVIDIA_Changelog"
-               doman "${NV_MAN}"/nvidia-smi.1
-               use X && doman "${NV_MAN}"/nvidia-xconfig.1
-               use tools && doman "${NV_MAN}"/nvidia-settings.1
-               doman "${NV_MAN}"/nvidia-cuda-mps-control.1
-       fi
-
-       docinto html
-       dodoc -r ${NV_DOC}/html/*
-
        # Helper Apps
        exeinto /opt/bin/
 
@@ -443,7 +425,25 @@ src_install() {
 
        is_final_abi || die "failed to iterate through all ABIs"
 
+       # Documentation
+       if use kernel_FreeBSD; then
+               dodoc "${NV_DOC}/README"
+               use X && doman "${NV_MAN}"/nvidia-xconfig.1
+               use tools && doman "${NV_MAN}"/nvidia-settings.1
+       else
+               # Docs
+               newdoc "${NV_DOC}/README.txt" README
+               dodoc "${NV_DOC}/NVIDIA_Changelog"
+               doman "${NV_MAN}"/nvidia-smi.1
+               use X && doman "${NV_MAN}"/nvidia-xconfig.1
+               use tools && doman "${NV_MAN}"/nvidia-settings.1
+               doman "${NV_MAN}"/nvidia-cuda-mps-control.1
+       fi
+
        readme.gentoo_create_doc
+
+       docinto html
+       dodoc -r ${NV_DOC}/html/*
 }
 
 src_install-libs() {

diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-418.43-r1.ebuild 
b/x11-drivers/nvidia-drivers/nvidia-drivers-418.43-r2.ebuild
similarity index 100%
rename from x11-drivers/nvidia-drivers/nvidia-drivers-418.43-r1.ebuild
rename to x11-drivers/nvidia-drivers/nvidia-drivers-418.43-r2.ebuild
index 422f58398a8..069ac0fbe70 100644
--- a/x11-drivers/nvidia-drivers/nvidia-drivers-418.43-r1.ebuild
+++ b/x11-drivers/nvidia-drivers/nvidia-drivers-418.43-r2.ebuild
@@ -344,24 +344,6 @@ src_install() {
                doins ${NV_OBJ}/nvidia.icd
        fi
 
-       # Documentation
-       if use kernel_FreeBSD; then
-               dodoc "${NV_DOC}/README"
-               use X && doman "${NV_MAN}"/nvidia-xconfig.1
-               use tools && doman "${NV_MAN}"/nvidia-settings.1
-       else
-               # Docs
-               newdoc "${NV_DOC}/README.txt" README
-               dodoc "${NV_DOC}/NVIDIA_Changelog"
-               doman "${NV_MAN}"/nvidia-smi.1
-               use X && doman "${NV_MAN}"/nvidia-xconfig.1
-               use tools && doman "${NV_MAN}"/nvidia-settings.1
-               doman "${NV_MAN}"/nvidia-cuda-mps-control.1
-       fi
-
-       docinto html
-       dodoc -r ${NV_DOC}/html/*
-
        # Helper Apps
        exeinto /opt/bin/
 
@@ -443,7 +425,25 @@ src_install() {
 
        is_final_abi || die "failed to iterate through all ABIs"
 
+       # Documentation
+       if use kernel_FreeBSD; then
+               dodoc "${NV_DOC}/README"
+               use X && doman "${NV_MAN}"/nvidia-xconfig.1
+               use tools && doman "${NV_MAN}"/nvidia-settings.1
+       else
+               # Docs
+               newdoc "${NV_DOC}/README.txt" README
+               dodoc "${NV_DOC}/NVIDIA_Changelog"
+               doman "${NV_MAN}"/nvidia-smi.1
+               use X && doman "${NV_MAN}"/nvidia-xconfig.1
+               use tools && doman "${NV_MAN}"/nvidia-settings.1
+               doman "${NV_MAN}"/nvidia-cuda-mps-control.1
+       fi
+
        readme.gentoo_create_doc
+
+       docinto html
+       dodoc -r ${NV_DOC}/html/*
 }
 
 src_install-libs() {

Reply via email to