#!/bin/env beesh

# BEE_VERSION nvidia-mxlinks-0.11-0

EXCLUDE=("^/usr/lib/(X11|xorg)(|/modules(|/drivers))$")

mee_install() {
    mkdir -pv ${D}{${LIBDIR}/{X11,xorg}/modules/drivers,${DATAROOTDIR},${BINDIR}}

    NVLIBS=(
        "libnvidia-ml.so.1"
        "libnvidia-wfb.so.1"
        "libnvidia-cfg.so.1"
        "libnvidia-opencl.so.1"
        "libnvidia-encode.so.1"
        "libnvidia-ptxjitcompiler.so.1"
        "libvdpau_nvidia.so.1"
        "libvdpau_trace.so.1"
        "libnvcuvid.so.1"
        "libcuda.so.1"
        "libOpenCL.so.1"
        "libGLcore.1"
        "libnvidia-tls.so.1"
        "libXvMCNVIDIA_dynamic.so.1"
    )

    for i in ${NVLIBS[@]} ; do
        ln -sv /usr/share/mxgfx/lib/${i} ${D}${LIBDIR}/${i}
    done

    ln -sv libvdpau_nvidia.so.1 ${D}${LIBDIR}/libvdpau_nvidia.so

    ln -sv /node/usr_share_mxgfx \
           ${D}${DATAROOTDIR}/mxgfx

    ln -sv /usr/share/mxgfx/drivers/nvidia_drv.so \
           ${D}${LIBDIR}/X11/modules/drivers/nvidia_drv.so

    ln -sv /usr/share/mxgfx/drivers/nvidia_drv.so \
           ${D}${LIBDIR}/xorg/modules/drivers/nvidia_drv.so

    ln -sv /usr/share/mxgfx/bin/nvidia-settings \
           ${D}${BINDIR}

    ln -sv /usr/share/mxgfx/bin/nvidia-xconfig \
           ${D}${BINDIR}

    ln -sv /usr/share/mxgfx/bin/nvidia-smi \
           ${D}${BINDIR}

    mkdir -pv ${D}/usr/share/nvidia/pciidhints

    # for driver 96.43.xx
    for id in 0185 0110 0172 0181 0171 ; do
        ln -vs legacy2 ${D}/usr/share/nvidia/pciidhints/10de:${id}
    done

    # for driver 173.14.xx
    for id in 0322 0326 ; do
        ln -vs legacy3 ${D}/usr/share/nvidia/pciidhints/10de:${id}
    done

    # for driver 304.xx
    for id in 0393 ; do
        ln -vs legacy4 ${D}/usr/share/nvidia/pciidhints/10de:${id}
    done

    # for GPU series 340.xx

    for id in 06fd 0659 06fa 0a34 0a38 10c3; do
        ln -vs legacy5 ${D}/usr/share/nvidia/pciidhints/10de:${id}
    done

    # legacyX for cards, which became legacy sometime after
    # 390.xx, but we didn't try to find out, at which branch that happened
    # exactly, because we no longer support these cards anyway.

    for id in 0df8 107d;do
        ln -vs legacyX ${D}/usr/share/nvidia/pciidhints/10de:${id}
    done
}