Skip to content

nvidia: replace 367.27 with 367.18 #41

Merged
merged 1 commit into from
Jul 7, 2016
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
115 changes: 115 additions & 0 deletions nvidia_current-367.18-0.bee
Original file line number Diff line number Diff line change
@@ -0,0 +1,115 @@
#!/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]="ftp://download.nvidia.com/XFree86/Linux-x86_64/${PKGVERSION}/${NVIDIA_ARCHIVE}"

BEE_CONFIGURE=none

build_in_sourcedir

PREFIX=/usr/share/nvidia/${PKGVERSION}
LIBDIR=${PREFIX}/lib
BINDIR=${PREFIX}/bin

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,share}

NVLIBS=(
"libGL.so.${PKGVERSION}"
"libOpenCL.so.1.0.0"
"libcuda.so.${PKGVERSION}"
"libnvcuvid.so.${PKGVERSION}"
"libnvidia-cfg.so.${PKGVERSION}"
"libnvidia-compiler.so.${PKGVERSION}"
"libnvidia-encode.so.${PKGVERSION}"
"libnvidia-glcore.so.${PKGVERSION}"
"libnvidia-ml.so.${PKGVERSION}"
"libnvidia-opencl.so.${PKGVERSION}"
"tls/libnvidia-tls.so.${PKGVERSION}"
"libnvidia-wfb.so.${PKGVERSION}"
"libvdpau_nvidia.so.${PKGVERSION}"
libnvidia-gtk2.so.${PKGVERSION}
libnvidia-gtk3.so.${PKGVERSION}
libnvidia-fatbinaryloader.so.${PKGVERSION}
)

NVDRV="nvidia_drv.so"

NVLIBS32=( \
)

NVBIN=( \
"nvidia-settings" \
"nvidia-xconfig" \
"nvidia-smi" \
"nvidia-modprobe" \
)

NVSHARE=( \
)

for i in ${NVLIBS[@]} ; do
soname=$(soname ${i} || echo "ERROR")
echo "installing ${i} as lib/${soname}"
install -v -c ${i} ${D}${LIBDIR}/${soname}
done

echo "installing ${NVDRV} as drivers/$(basename ${NVDRV})";
install -c -v ${NVDRV} ${D}${PREFIX}/drivers

# soname is missing in this release..
install -c -v "libglx.so.${PKGVERSION}" ${D}${LIBDIR}/libglx.so

for i in ${NVLIBS32[@]} ; do
soname=$(soname ${i} || echo "ERROR")
echo "installing ${i} as lib32/${soname}"

mkdir -pv ${D}${LIBDIR}32
install -v -c ${i} ${D}${LIBDIR}32/${soname}
done

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}/usr/share/man/man1
done

for i in ${NVSHARE[@]} ; do
echo "installing ${i} as share/${i}"
cp -rv ${i} ${D}${PREFIX}/share
done

mkdir -pv ${D}/usr/lib

for i in tls glcore compiler gtk2 gtk3 fatbinaryloader; do
ln -vs ${LIBDIR}/libnvidia-${i}.so.${PKGVERSION} ${D}/usr/lib
done
}
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -82,9 +82,7 @@ mee_build() {
mee_install() {
mkdir -pv ${D}${DATAROOTDIR}/nvidia/kernel/${LINUXKLOCALVER}/${PKGVERSION}

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

ln -s ${PKGVERSION} ${D}${DATAROOTDIR}/nvidia/kernel/${LINUXKLOCALVER}/${mxnvversion}
}
88 changes: 88 additions & 0 deletions nvidia_linux-4.6.3-92-367.18-0.bee
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
#!/bin/env beesh

# calculate package extra versions and legacy level
# - use extraversions to define nvidia extraversion and/or legacy level
# - legacy level should be the last part of extraversion
# - legacy level 2 to 5 will be calculated from version number..

mxnvversion=${PKGEXTRAVERSION##*_}
: ${mxnvversion=current}

nvextraversion="${PKGEXTRAVERSION_DASH}"

if [ "${mxnvversion:0:6}" = "legacy" -o "${mxnvversion}" = "current" ] ; then
nvextraversion="${nvextraversion%_*}"
nvextraversion="${nvextraversion#-${mxnvversion}}"
else
if [ "${PKGVERSION:0:4}" = "340." ] ; then
mxnvversion="legacy5"
elif [ "${PKGVERSION:0:4}" = "304." ] ; then
mxnvversion="legacy4"
elif [ "${PKGVERSION:0:7}" = "173.14." ] ; then
mxnvversion="legacy3"
elif [ "${PKGVERSION:0:6}" = "96.43." ] ; then
mxnvversion="legacy2"
else
mxnvversion="current"
fi
fi

print_info "calculated mxnvversion = '${mxnvversion}'"
print_info "calculated nvextraversion = '${nvextraversion}'"

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

SRCURL[0]="ftp://download.nvidia.com/XFree86/Linux-x86_64/${PKGVERSION}/${NVIDIA_ARCHIVE}"
#PATCHURL+=('/src/mariux/patches/nvidia-linux-readcr4_writecr4.patch')

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}

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() {
start_cmd 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}/${mxnvversion}
}