nvidia-drivers: fixes from upstream and submitted upstream

This commit is contained in:
Zero_Chaos 2012-03-27 02:02:40 +00:00
parent 8a90ca0f17
commit b63f4ddcc3
5 changed files with 35 additions and 104 deletions

View file

@ -1,9 +1,7 @@
AUX 256.35-unified-arch.patch 1380 RMD160 2612cad105f442d4232b99e3054124e8037860bb SHA1 d82433c0b3520c87e05f1013a59b243ec65ebe97 SHA256 5e84bb51e0f9b3ceba270d53ad2a739dc534861df9acd6ab6852670f5a1357d7
AUX 295.33-unified-arch.patch 1512 RMD160 6ea7cb06cb9bb363307b854070c4f9de6364b73c SHA1 8815c380240d899c0b4416d299a5769ae18f9be4 SHA256 c0bd056c2d1db22c8b020f26debb7642426e9fd509b643b4823ac61da1a3c26c
AUX 99-nvidia.rules 182 RMD160 e980b7220f39b860c2170f0a3ac8b34d1a9802d9 SHA1 e28281fe9460357cced829b77e7c645f8116fcac SHA256 b2f00f871af7e5ff0d0958a4d8c1ae1264bd3d6757cbc3038f05dbb90415c3fb
AUX 99-nvidia.rules 182 RMD160 ed5bf84617bf858b6cbcf987793f814a981cbbf0 SHA1 add1b5a09d898121a3c8ba6b311347947750c7e7 SHA256 c96e763077b5b54d33715364018edac83dd77ee0369a619cad60d85bca3e9203
AUX nvidia-169.07 639 RMD160 8baddb6fd1bf7f0e2688870a78e8ace051d62e3f SHA1 b30487ba2a24a6b1359d1fd831eeb1705060953c SHA256 a8c4860f008d53776fda7a17b59524f271236559af688e9a2c9845cbbcba1577
AUX nvidia_control.sh 31 RMD160 6ca0a5092792c25ca498dca44783b34f09e11e41 SHA1 ffd668f3081c84d7563914cc7d9a9eff88f00abb SHA256 b31dcb0f4c761108173c7a7df47d8690c5ed514fd859a4de83da45f9d51b4a27
DIST NVIDIA-FreeBSD-x86-295.33.tar.gz 32039170 RMD160 903f6c98fe6a682675d06cabea51013c57d8e360 SHA1 9543ad0c7d604742fb0a030b7b46d8e3e58fd14c SHA256 e3f8052fdac78defafcef495febea2a77f820f2c4c9ecbe47fb92bf630321afc
DIST NVIDIA-Linux-x86-295.33.run 34675369 RMD160 a595dfbfdff7ff4b058e574ef1ef26d55afa8a6b SHA1 0168ee6c29d6841429cb9b58283a5061e497cbc2 SHA256 90a866c9c2f3904bc25b7a5829f8b40a419e60a79ad13c980b48d3bf89625a47
DIST NVIDIA-Linux-x86_64-295.33.run 58435170 RMD160 3e406b9db7ffa2bc0f0984f37e74bfba290f7cf6 SHA1 56fb5bc4f5f2498fe8227f2d48a3ba0bb93885d5 SHA256 4e939bac1ebc03c6439969d638540b99900b0fe4e4799b4186e5ff9521d37b73
EBUILD nvidia-drivers-295.33.ebuild 18282 RMD160 cb68b396da99f7a37b8a0f0e65cc5c64cffb0667 SHA1 4fb40e64100ce6343b636a54093673abed82fe85 SHA256 3e70af6f4072ce21ae35b247325a9b2defc3a6b9fed82b45f4357d5bf3d1cb17
EBUILD nvidia-drivers-295.33.ebuild 18261 RMD160 6e5dd085ba9ae3cd089c2212d1d1a4873cc2807f SHA1 2a41677ee9b4cec83a92dcc2947bccf367ea30d2 SHA256 fe9ee9e9ebc4dc68188316d13d8e3957e6afaf4a0b8945cbb3d91e4df3c061dc

View file

@ -1,31 +0,0 @@
Add support for the 'x86' unified kernel arch in conftest.sh
--- NVIDIA-Linux-x86-256.25/kernel/conftest.sh
+++ NVIDIA-Linux-x86-256.25/kernel/conftest.sh
@@ -101,7 +101,7 @@ build_cflags() {
if [ "$OUTPUT" != "$SOURCES" ]; then
MACH_CFLAGS="-I$HEADERS/asm-$ARCH/mach-default"
- if [ "$ARCH" = "i386" -o "$ARCH" = "x86_64" ]; then
+ if [ "$ARCH" = "i386" -o "$ARCH" = "x86_64" -o "$ARCH" = "x86" ]; then
MACH_CFLAGS="$MACH_CFLAGS -I$HEADERS/asm-x86/mach-default"
MACH_CFLAGS="$MACH_CFLAGS -I$SOURCES/arch/x86/include/asm/mach-default"
fi
@@ -110,7 +110,7 @@ build_cflags() {
fi
else
MACH_CFLAGS="-I$HEADERS/asm/mach-default"
- if [ "$ARCH" = "i386" -o "$ARCH" = "x86_64" ]; then
+ if [ "$ARCH" = "i386" -o "$ARCH" = "x86_64" -o "$ARCH" = "x86" ]; then
MACH_CFLAGS="$MACH_CFLAGS -I$HEADERS/asm-x86/mach-default"
MACH_CFLAGS="$MACH_CFLAGS -I$SOURCES/arch/x86/include/asm/mach-default"
fi
@@ -121,7 +121,7 @@ build_cflags() {
CFLAGS="$BASE_CFLAGS $MACH_CFLAGS $OUTPUT_CFLAGS -I$HEADERS $AUTOCONF_CFLAGS"
- if [ "$ARCH" = "i386" -o "$ARCH" = "x86_64" ]; then
+ if [ "$ARCH" = "i386" -o "$ARCH" = "x86_64" -o "$ARCH" = "x86" ]; then
CFLAGS="$CFLAGS -I$SOURCES/arch/x86/include"
fi
if [ -n "$BUILD_PARAMS" ]; then

View file

@ -1,31 +0,0 @@
Add support for the 'x86' unified kernel arch in conftest.sh
--- NVIDIA-Linux-x86-295.33/kernel/conftest.sh
+++ NVIDIA-Linux-x86-295.33/kernel/conftest.sh
@@ -101,7 +101,7 @@
if [ "$OUTPUT" != "$SOURCES" ]; then
MACH_CFLAGS="-I$HEADERS/asm-$ARCH/mach-default"
- if [ "$ARCH" = "i386" -o "$ARCH" = "x86_64" ]; then
+ if [ "$ARCH" = "i386" -o "$ARCH" = "x86_64" -o "$ARCH" = "x86" ]; then
MACH_CFLAGS="$MACH_CFLAGS -I$HEADERS/asm-x86/mach-default"
MACH_CFLAGS="$MACH_CFLAGS -I$SOURCES/arch/x86/include/asm/mach-default"
elif [ "$ARCH" = "ARMv7" ]; then
@@ -112,7 +112,7 @@
fi
else
MACH_CFLAGS="-I$HEADERS/asm/mach-default"
- if [ "$ARCH" = "i386" -o "$ARCH" = "x86_64" ]; then
+ if [ "$ARCH" = "i386" -o "$ARCH" = "x86_64" -o "$ARCH" = "x86" ]; then
MACH_CFLAGS="$MACH_CFLAGS -I$HEADERS/asm-x86/mach-default"
MACH_CFLAGS="$MACH_CFLAGS -I$SOURCES/arch/x86/include/asm/mach-default"
elif [ "$ARCH" = "ARMv7" ]; then
@@ -125,7 +125,7 @@
CFLAGS="$BASE_CFLAGS $MACH_CFLAGS $OUTPUT_CFLAGS -I$HEADERS $AUTOCONF_CFLAGS"
- if [ "$ARCH" = "i386" -o "$ARCH" = "x86_64" ]; then
+ if [ "$ARCH" = "i386" -o "$ARCH" = "x86_64" -o "$ARCH" = "x86" ]; then
CFLAGS="$CFLAGS -I$SOURCES/arch/x86/include -I$SOURCES/arch/x86/include/generated"
elif [ "$ARCH" = "ARMv7" ]; then
CFLAGS="$CFLAGS -I$SOURCES/arch/arm/include -I$SOURCES/arch/arm/include/generated"

View file

@ -1,3 +1,3 @@
ACTION=="add", DEVPATH=="/module/nvidia", SUBSYSTEM=="module", RUN+="/usr/bin/nvidia-smi"
ACTION=="add", DEVPATH=="/module/nvidia", SUBSYSTEM=="module", RUN+="/opt/bin/nvidia-smi"
ACTION=="remove", DEVPATH=="/module/nvidia", SUBSYSTEM=="module", RUN+="nvidia_control.sh"

View file

@ -1,6 +1,6 @@
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/x11-drivers/nvidia-drivers/nvidia-drivers-295.33.ebuild,v 1.1 2012/03/23 16:17:12 cardoe Exp $
# $Header: /var/cvsroot/gentoo-x86/x11-drivers/nvidia-drivers/nvidia-drivers-295.33.ebuild,v 1.2 2012/03/26 18:11:12 cardoe Exp $
EAPI="2"
@ -19,7 +19,7 @@ SRC_URI="x86? ( http://us.download.nvidia.com/XFree86/Linux-x86/${PV}/${X86_NV_P
LICENSE="NVIDIA"
SLOT="0"
KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
IUSE="acpi custom-cflags gtk multilib pentoo kernel_linux"
IUSE="acpi custom-cflags gtk multilib kernel_linux"
RESTRICT="strip"
EMULTILIB_PKG="true"
@ -213,6 +213,11 @@ pkg_setup() {
MODULE_NAMES="nvidia(video:${S}/kernel)"
BUILD_PARAMS="IGNORE_CC_MISMATCH=yes V=1 SYSSRC=${KV_DIR} \
SYSOUT=${KV_OUT_DIR} CC=$(tc-getBUILD_CC)"
# linux-mod_src_compile calls set_arch_to_kernel, which
# sets the ARCH to x86 but NVIDIA's wrapping Makefile
# expects x86_64 or i386 and then converts it to x86
# later on in the build process
BUILD_FIXES="ARCH=$(uname -m | sed -e 's/i.86/i386/')"
mtrr_check
lockdep_check
fi
@ -283,14 +288,6 @@ src_prepare() {
-e 's:-Wsign-compare::g' \
"${NV_SRC}"/Makefile.kbuild
#updated patch stoled from https://bugs.gentoo.org/show_bug.cgi?id=376527 due to bitrot on a FAILED BUILD
epatch "${FILESDIR}"/295.33-unified-arch.patch
# Fix building with Linux 3.3.x wrt #408841
sed -i \
-e '/CFLAGS="$CFLAGS/s:-I$SOURCES/arch/x86/include:& -I$OUTPUT/arch/x86/include/generated:' \
kernel/conftest.sh || die
# If you set this then it's your own fault when stuff breaks :)
use custom-cflags && sed -i "s:-O:${CFLAGS}:" "${NV_SRC}"/Makefile.*
@ -333,15 +330,15 @@ src_install() {
"${WORKDIR}"/nvidia
insinto /etc/modprobe.d
newins "${WORKDIR}"/nvidia nvidia.conf || die
# udev rule for people who use their nvidia for cuda/opencl only
if use pentoo; then
insinto /lib/udev
doins "${FILESDIR}"/nvidia_control.sh
fowners root:${VIDEOGROUP} /lib/udev/nvidia_control.sh
fperms 0750 /lib/udev/nvidia_control.sh
insinto /lib/udev/rules.d
doins "${FILESDIR}"/99-nvidia.rules
fi
#closes bug #376527 for missing device nodes when not using nvidia for X
insinto /lib/udev
doins "${FILESDIR}"/nvidia_control.sh
fowners root:${VIDEOGROUP} /lib/udev/nvidia_control.sh
fperms 0750 /lib/udev/nvidia_control.sh
insinto /lib/udev/rules.d
doins "${FILESDIR}"/99-nvidia.rules
elif use x86-fbsd; then
insinto /boot/modules
doins "${WORKDIR}/${NV_PACKAGE}/src/nvidia.kld" || die
@ -429,14 +426,14 @@ src_install() {
# Helper Apps
exeinto /opt/bin/
dobin ${NV_EXEC}/nvidia-xconfig || die
dobin ${NV_EXEC}/nvidia-debugdump || die
doexe ${NV_EXEC}/nvidia-xconfig || die
doexe ${NV_EXEC}/nvidia-debugdump || die
if use gtk; then
dobin ${NV_EXEC}/nvidia-settings || die
doexe ${NV_EXEC}/nvidia-settings || die
fi
dobin ${NV_EXEC}/nvidia-bug-report.sh || die
doexe ${NV_EXEC}/nvidia-bug-report.sh || die
if use kernel_linux; then
dobin ${NV_EXEC}/nvidia-smi || die
doexe ${NV_EXEC}/nvidia-smi || die
fi
# Desktop entries for nvidia-settings
@ -519,9 +516,7 @@ src_install-libs() {
}
pkg_preinst() {
if use kernel_linux; then
linux-mod_pkg_postinst
fi
use kernel_linux && linux-mod_pkg_preinst
# Clean the dynamic libGL stuff's home to ensure
# we dont have stale libs floating around
@ -535,13 +530,11 @@ pkg_preinst() {
}
pkg_postinst() {
if use kernel_linux; then
linux-mod_pkg_postinst
fi
use kernel_linux && linux-mod_pkg_postinst
# Switch to the nvidia implementation
eselect opengl set --use-old nvidia
eselect opencl set --use-old nvidia
"${ROOT}"/usr/bin/eselect opengl set --use-old nvidia
"${ROOT}"/usr/bin/eselect opencl set --use-old nvidia
echo
elog "You must be in the video group to use the NVIDIA device"
@ -575,9 +568,11 @@ pkg_postinst() {
fi
}
pkg_postrm() {
if use kernel_linux; then
linux-mod_pkg_postrm
fi
eselect opengl set --use-old xorg-x11
pkg_prerm() {
"${ROOT}"/usr/bin/eselect opengl set --use-old xorg-x11
}
pkg_postrm() {
use kernel_linux && linux-mod_pkg_postrm
"${ROOT}"/usr/bin/eselect opengl set --use-old xorg-x11
}