Skip to content
Permalink
b7ef5b9c45
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Go to file
 
 
Cannot retrieve contributors at this time
executable file 93 lines (70 sloc) 2.52 KB
#!/bin/env beesh
# resources:
# http://www.nvidia.com/object/unix.html
# ./README.txt
# ./.manifest
# https://github.com/NVIDIA/nvidia-installer
# ./nvidia-installer -A
# ./nvidia-installer --ui=none --accept-license --no-kernel-module --expert
#
NVIDIA_ARCHIVE="NVIDIA-Linux-x86_64-${PKGVERSION}${PKGEXTRAVERSION:+-${PKGEXTRAVERSION}}.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/2288e18f3b767e66d465fb4add1df080/NVIDIA-Linux-x86_64-510.60.02.run"
BEE_CONFIGURE=none
build_in_sourcedir
PREFIX=/usr/share/nvidia/${PKGVERSION}
LIBDIR=${PREFIX}/lib
BINDIR=${PREFIX}/bin
# fix tar option for user namespace usage (`unshare -U -r BEEFILE`)
export TAR_OPTIONS=--no-same-owner
mee_extract() {
rmdir ${S}
sh ${F}/${NVIDIA_ARCHIVE} -x --target ${S}
}
#mee_patch() {
# bee_patch
#}
mee_build() {
#bee_build
true
}
mee_install() {
#bee_install
mkdir -pv ${D}${PREFIX}/{bin,lib,drivers,man/man1}
mkdir -pv ${D}/usr/lib
NVDRV="nvidia_drv.so"
NVBIN=( \
"nvidia-cuda-mps-control" \
"nvidia-modprobe" \
"nvidia-persistenced" \
"nvidia-settings" \
"nvidia-smi" \
"nvidia-xconfig" \
)
for i in lib*.so.$PKGVERSION; do
install -v -t ${D}${LIBDIR} "$i"
ln -sv "${LIBDIR}/$i" ${D}/usr/lib/
if soname="$(soname "$i")"; then
#echo "$soname\n"
test -e "${D}${LIBDIR}/${soname}" || ln -sv "$i" "${D}${LIBDIR}/${soname}"
fi
done
# libglxserver_nvidia.so should reside in /usr/lib/xorg/modules/extensions,
# here we cheat away and stay in line with the /node/usr_share_mxgfx mechanism.
# Additional note: don't put/link libglx.so into /usr/lib.
ln -sv libglxserver_nvidia.so.$PKGVERSION ${D}${LIBDIR}/libglxserver_nvidia.so
mkdir -vp ${D}/usr/lib/xorg/modules/extensions
cd ${D}/usr/lib/xorg/modules/extensions
ln -sv /usr/share/mxgfx/lib/libglxserver_nvidia.so libglxserver_nvidia.so
cd $B
echo "installing ${NVDRV} as drivers/$(basename ${NVDRV})";
install -c -v ${NVDRV} ${D}${PREFIX}/drivers
mkdir -pv ${D}/usr/share/man/man1
for i in ${NVBIN[@]} ; do
echo "installing ${i} as bin/${i}"
install -v -c -m 755 ${i} ${D}${BINDIR}
install -v -c -m 644 ${i}.1.gz ${D}${PREFIX}/man/man1
done
mkdir -pv ${D}/lib/firmware/nvidia/${PKGVERSION}
install -v -c -m 644 firmware/gsp.bin ${D}/lib/firmware/nvidia/${PKGVERSION}
}