Skip to content

Commit

Permalink
Merge pull request #41 from mariux64/nvidia-367-18
Browse files Browse the repository at this point in the history
nvidia: Replace 367.27 with 367.18
  • Loading branch information
pmenzel committed Jul 7, 2016
2 parents 9279ad6 + 72ff492 commit ee75f66
Show file tree
Hide file tree
Showing 4 changed files with 204 additions and 3 deletions.
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}
}

0 comments on commit ee75f66

Please sign in to comment.