Skip to content
Permalink
master
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 102 lines (77 sloc) 2.84 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/0bb10ef32e86d5e1ad37b710dac6e079/NVIDIA-Linux-x86_64-535.104.05.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-cuda-mps-server" \
"nvidia-debugdump" \
"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
# libnvidia-api was introduced with 525, but w/o a 'PKGVERSION'
install -v -t ${D}${LIBDIR} libnvidia-api.so.1
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}
if [ -e ${i}.1.gz ]; then
install -v -c -m 644 ${i}.1.gz ${D}${PREFIX}/man/man1
fi
done
mkdir -pv ${D}/lib/firmware/nvidia/${PKGVERSION}
install -v -c -m 644 firmware/gsp_ga10x.bin ${D}/lib/firmware/nvidia/${PKGVERSION}
install -v -c -m 644 firmware/gsp_tu10x.bin ${D}/lib/firmware/nvidia/${PKGVERSION}
}