#!/bin/env beesh NVIDIA_ARCHIVE="NVIDIA-Linux-x86_64-${PKGVERSION}.run" SRCURL[0]="https://download.nvidia.com/XFree86/Linux-x86_64/${PKGVERSION}/${NVIDIA_ARCHIVE}" 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() { LINUXBUILDARCHIVE="${BEE_BUILDARCHIVEDIR}/${LINUXPKG}.beebuild.tar.bz2" print_info "extracting nvidia archive .." start_cmd rmdir ${S} start_cmd sh ${F}/${NVIDIA_ARCHIVE} -x --target ${S} if [ -d "/usr/src/linux/${LINUXPKG}/source" ] ; then LINUXSRCDIR="/usr/src/linux/${LINUXPKG}/source" elif [ -d "${BEE_TMP_TMPDIR}/${LINUXPKG}/source" ] ; then LINUXSRCDIR="${BEE_TMP_TMPDIR}/${LINUXPKG}/source" else print_info "extracting linux build ${LINUXPKG} .." start_cmd gtar -xf "${LINUXBUILDARCHIVE}" -C ${BEE_TMP_TMPDIR} LINUXSRCDIR="${BEE_TMP_TMPDIR}/${LINUXPKG}/source" fi print_info "using kernel sources from ${LINUXSRCDIR} .." } mee_build_pre() { ln -s ${LINUXSRCDIR}/include ${S}/include } mee_build() { IGNORE_CC_MISMATCH=1 \ make SYSSRC=${LINUXSRCDIR} 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 }