Skip to content
Permalink
Newer
Older
100755 60 lines (41 sloc) 1.62 KB
1
#!/bin/env beesh
2
3
NVIDIA_ARCHIVE="NVIDIA-Linux-x86_64-${PKGVERSION}.run"
4
5
SRCURL[0]="https://download.nvidia.com/XFree86/Linux-x86_64/${PKGVERSION}/${NVIDIA_ARCHIVE}"
6
7
PATCHURL+=()
8
9
LINUXPKG=${PKGEXTRANAME}.${ARCH}
10
11
LINUXKLOCALVER=$(beeversion --format "%v.mx64.%r" "${LINUXPKG}")
12
13
# '4.4.mx64.75' to '4.4.0.mx64.75'
14
if [[ $LINUXKLOCALVER =~ ^([0-9]+\.[0-9]+)(\.mx64.*) ]]; then
15
LINUXKLOCALVER="${BASH_REMATCH[1]}.0${BASH_REMATCH[2]}"
16
fi
17
18
19
build_in_sourcedir
20
sourcesubdir_append kernel
21
22
: ${BEE_TMP_TMPDIR:=/tmp}
23
24
mee_extract() {
25
LINUXBUILDARCHIVE="${BEE_BUILDARCHIVEDIR}/${LINUXPKG}.beebuild.tar.bz2"
26
27
print_info "extracting nvidia archive .."
28
29
start_cmd rmdir ${S}
30
start_cmd sh ${F}/${NVIDIA_ARCHIVE} -x --target ${S}
31
32
if [ -d "/usr/src/linux/${LINUXPKG}/source" ] ; then
33
LINUXSRCDIR="/usr/src/linux/${LINUXPKG}/source"
34
elif [ -d "${BEE_TMP_TMPDIR}/${LINUXPKG}/source" ] ; then
35
LINUXSRCDIR="${BEE_TMP_TMPDIR}/${LINUXPKG}/source"
36
else
37
print_info "extracting linux build ${LINUXPKG} .."
38
start_cmd gtar -xf "${LINUXBUILDARCHIVE}" -C ${BEE_TMP_TMPDIR}
39
LINUXSRCDIR="${BEE_TMP_TMPDIR}/${LINUXPKG}/source"
40
fi
41
42
print_info "using kernel sources from ${LINUXSRCDIR} .."
43
}
44
45
mee_build_pre() {
46
ln -s ${LINUXSRCDIR}/include ${S}/include
47
}
48
49
mee_build() {
50
IGNORE_CC_MISMATCH=1 \
51
make SYSSRC=${LINUXSRCDIR} module
52
}
53
54
mee_install() {
55
mkdir -pv ${D}${DATAROOTDIR}/nvidia/kernel/${LINUXKLOCALVER}/${PKGVERSION}
56
57
cp -v *.ko ${D}${DATAROOTDIR}/nvidia/kernel/${LINUXKLOCALVER}/${PKGVERSION}/
58
59
ln -s ${PKGVERSION} ${D}${DATAROOTDIR}/nvidia/kernel/${LINUXKLOCALVER}/current
60
}