#!/bin/env beesh

NVIDIA_ARCHIVE="NVIDIA-Linux-x86_64-${PKGVERSION}.run"

#SRCURL[0]="https://de.download.nvidia.com/XFree86/Linux-x86_64/$PKGVERSION/NVIDIA-Linux-x86_64-$PKGVERSION.run"
SRCURL[0]="https://beehive.molgen.mpg.de/2e34184b91fa9bcc7cc5d4f8707ef0d6/NVIDIA-Linux-x86_64-535.230.02.run"

PATCHURL+=()

LINUXPKG=${PKGEXTRANAME}.${ARCH}

LINUXKLOCALVER=$(beeversion --format "%v.mx64.%r" "${LINUXPKG}")

# '4.4.mx64.75' to '4.4.0.mx64.75'
if [[ $LINUXKLOCALVER =~ ^([0-9]+\.[0-9]+)(\.mx64.*) ]]; then
    LINUXKLOCALVER="${BASH_REMATCH[1]}.0${BASH_REMATCH[2]}"
fi


build_in_sourcedir
sourcesubdir_append kernel

: ${BEE_TMP_TMPDIR:=/tmp}

# fix tar option for user namespace usage (`unshare -U -r BEEFILE`)
export TAR_OPTIONS=--no-same-owner

mee_extract() {
    rmdir ${S}
    start_cmd sh ${F}/${NVIDIA_ARCHIVE} -x --target ${S}

    if [ ! -d "${BEE_TMP_TMPDIR}/${LINUXPKG}/source" ] ; then
        start_cmd gtar -xf ${BEE_BUILDARCHIVEDIR}/${LINUXPKG}.beebuild.tar.bz2 -C ${BEE_TMP_TMPDIR}
    fi
    LINUXSRCDIR="${BEE_TMP_TMPDIR}/${LINUXPKG}/source"
}

mee_build() {
    make SYSSRC=${LINUXSRCDIR} CC=gcc module
}

mee_install() {
    mkdir -pv ${D}${DATAROOTDIR}/nvidia/kernel/${LINUXKLOCALVER}/${PKGVERSION}

    cp -v *.ko ${D}${DATAROOTDIR}/nvidia/kernel/${LINUXKLOCALVER}/${PKGVERSION}/

    ln -s ${PKGVERSION} ${D}${DATAROOTDIR}/nvidia/kernel/${LINUXKLOCALVER}/current
}