summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Bevitt <cyfred@gentoo.org>2004-05-11 03:32:12 +0000
committerAndrew Bevitt <cyfred@gentoo.org>2004-05-11 03:32:12 +0000
commit044dee60dc930f0fe5297601a4f4c2b8b5df42d1 (patch)
treecf57a75101804d6d4f3233c58fc99183a2c4e93b /media-video
parentAdding an ebuild for 2.6.6 sources and some comment fixes in the other 2.6.x ... (diff)
downloadgentoo-2-044dee60dc930f0fe5297601a4f4c2b8b5df42d1.tar.gz
gentoo-2-044dee60dc930f0fe5297601a4f4c2b8b5df42d1.tar.bz2
gentoo-2-044dee60dc930f0fe5297601a4f4c2b8b5df42d1.zip
Commiting new ebuild to fix bug #48030. This uses the kmod.eclass to use the koutput features, however this results in needing addwrite for pre 2.6.6-rc1 kernels. 4K Stacks need to be addressed soon too waiting for nvidia to comment.
Diffstat (limited to 'media-video')
-rw-r--r--media-video/nvidia-kernel/ChangeLog12
-rw-r--r--media-video/nvidia-kernel/Manifest4
-rw-r--r--media-video/nvidia-kernel/files/digest-nvidia-kernel-1.0.5336-r31
-rw-r--r--media-video/nvidia-kernel/nvidia-kernel-1.0.5336-r3.ebuild156
4 files changed, 171 insertions, 2 deletions
diff --git a/media-video/nvidia-kernel/ChangeLog b/media-video/nvidia-kernel/ChangeLog
index 8707e75e932a..d19866d72259 100644
--- a/media-video/nvidia-kernel/ChangeLog
+++ b/media-video/nvidia-kernel/ChangeLog
@@ -1,6 +1,16 @@
# ChangeLog for media-video/nvidia-kernel
# Copyright 2002-2004 Gentoo Technologies, Inc.; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/media-video/nvidia-kernel/ChangeLog,v 1.73 2004/04/30 15:00:14 cyfred Exp $
+# $Header: /var/cvsroot/gentoo-x86/media-video/nvidia-kernel/ChangeLog,v 1.74 2004/05/11 03:32:12 cyfred Exp $
+
+*nvidia-kernel-1.0.5336-r3 (11 May 2004)
+
+ 11 May 2004; Andrew Bevitt <cyfred@gentoo.org>;
+ +nvidia-kernel-1.0.5336-r3.ebuild:
+ Changing ebuild style to use the new kmod.eclass and fix the problem of the
+ __this-modpost.patch being incorporated into the new 2.6.6 kernel tree. This
+ has a trade off that all kernels <2.6.6_rc1 will have to use addwrite to
+ /usr/src/linux for the time being, nvidia should fix this for the next
+ release. Also adding warning about 4K Stacks to stem bug reports.
01 May 2004; Andrew Bevitt <cyfred@gentoo.org>;
nvidia-kernel-1.0.4363-r3.ebuild, nvidia-kernel-1.0.4496-r3.ebuild,
diff --git a/media-video/nvidia-kernel/Manifest b/media-video/nvidia-kernel/Manifest
index 6dc667053c76..331672530503 100644
--- a/media-video/nvidia-kernel/Manifest
+++ b/media-video/nvidia-kernel/Manifest
@@ -1,14 +1,16 @@
MD5 e10ab910c03ebb85f4127f404a51034e nvidia-kernel-1.0.4499.ebuild 4018
MD5 5cc7ee0513c5a802ef5ddd4b9c5f969e nvidia-kernel-1.0.5332-r1.ebuild 4247
+MD5 aa3d8731bc54ae8deca20affb3d8ebda nvidia-kernel-1.0.5336-r3.ebuild 4298
MD5 fda24a66f5cf039b25d9396076ec71ab nvidia-kernel-1.0.5328-r1.ebuild 4456
MD5 c48cb5e4030504bc2accc430fc347e42 nvidia-kernel-1.0.4496-r3.ebuild 4276
MD5 b8f9a81bca2535fd82321a80fb102ec6 nvidia-kernel-1.0.4363-r3.ebuild 4062
MD5 1b454e8926c8340e7e3accafbca675d3 nvidia-kernel-1.0.5336-r2.ebuild 4657
-MD5 abda88c974b1ed3d03800a682bb8f3ee ChangeLog 16685
+MD5 d88966b536d28662037ac79cf6cf268b ChangeLog 17188
MD5 fe2f0a492565eb0ae0831e308df50664 metadata.xml 158
MD5 497ffcbd6a91ed9447dfdf7b736925bd files/digest-nvidia-kernel-1.0.5328-r1 80
MD5 cf7b2bb276c568f0f66d10951b4ce3ad files/digest-nvidia-kernel-1.0.5332-r1 83
MD5 1316f73c0eecd8832bb362a3d5ca4892 files/digest-nvidia-kernel-1.0.5336-r2 80
+MD5 1316f73c0eecd8832bb362a3d5ca4892 files/digest-nvidia-kernel-1.0.5336-r3 80
MD5 046ed3744551619863faea8c5c83db02 files/digest-nvidia-kernel-1.0.4499 74
MD5 089e6829e7e8497a603ba9dc9563a722 files/nvidia 30
MD5 56ebaa3ba92e9db848baea746a6aef1a files/digest-nvidia-kernel-1.0.4363-r3 74
diff --git a/media-video/nvidia-kernel/files/digest-nvidia-kernel-1.0.5336-r3 b/media-video/nvidia-kernel/files/digest-nvidia-kernel-1.0.5336-r3
new file mode 100644
index 000000000000..56ddf0d273b7
--- /dev/null
+++ b/media-video/nvidia-kernel/files/digest-nvidia-kernel-1.0.5336-r3
@@ -0,0 +1 @@
+MD5 6d7361347ebbef5dfdbe6bdcb560fda8 NVIDIA-Linux-x86-1.0-5336-pkg1.run 6821193
diff --git a/media-video/nvidia-kernel/nvidia-kernel-1.0.5336-r3.ebuild b/media-video/nvidia-kernel/nvidia-kernel-1.0.5336-r3.ebuild
new file mode 100644
index 000000000000..c28a2f96379a
--- /dev/null
+++ b/media-video/nvidia-kernel/nvidia-kernel-1.0.5336-r3.ebuild
@@ -0,0 +1,156 @@
+# Copyright 1999-2004 Gentoo Technologies, Inc.
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/media-video/nvidia-kernel/nvidia-kernel-1.0.5336-r3.ebuild,v 1.1 2004/05/11 03:32:12 cyfred Exp $
+
+inherit eutils kmod
+
+PKG_V="pkg1"
+NV_V="${PV/1.0./1.0-}"
+NV_PACKAGE="NVIDIA-Linux-x86-${NV_V}"
+S="${WORKDIR}/${NV_PACKAGE}-${PKG_V}/usr/src/nv"
+DESCRIPTION="Linux kernel module for the NVIDIA's X driver"
+HOMEPAGE="http://www.nvidia.com/"
+SRC_URI="ftp://download.nvidia.com/XFree86/Linux-x86/${NV_V}/${NV_PACKAGE}-${PKG_V}.run"
+
+# The slot needs to be set to $KV to prevent unmerges of modules for other kernels.
+LICENSE="NVIDIA"
+SLOT="${KV}"
+KEYWORDS="-* ~x86"
+RESTRICT="nostrip"
+
+DEPEND="virtual/linux-sources"
+export _POSIX2_VERSION="199209"
+
+KMOD_SOURCES="none"
+
+mtrr_check() {
+ if [ ! -f /proc/mtrr ]
+ then
+ eerror "This version needs MTRR support for most chipsets!"
+ eerror "Please enable MTRR support in your kernel config, found at:"
+ eerror
+ eerror " Processor type and features -> [*] MTRR (Memory Type Range Register) support"
+ eerror
+ eerror "and recompile your kernel ..."
+ die "MTRR support not detected!"
+ fi
+}
+
+pkg_setup() {
+ mtrr_check
+
+ echo
+ ewarn "The new 2.6.6 Series kernels include an option for 4K Stack sizes,"
+ ewarn "this option must NOT be selected. This driver will only work with"
+ ewarn "the OLD 8K Stack size, please ensure you leave 8K stack sizes for now."
+ echo
+}
+
+ck_kern_write() {
+ if [ ! "${KV_PATCH}" -ge "6" ]
+ then
+ ewarn "You are running Linux Kernel ${KV_MAJOR}.${KV_MINOR}.${KV_PATCH}\n"
+ ewarn "Due to incompatibilities between the current nvidia drivers and"
+ ewarn "the new 2.6.6 kernel sources we need to use the koutput feature"
+ ewarn "unfortunately this means that older kernels will be omitted from"
+ ewarn "the sandbox for this build.\n"
+ ewarn "This will be over come with newer driver releases from nvidia."
+
+ return 0
+ else
+ return 1
+ fi
+}
+
+src_unpack() {
+ # Let the kmod eclass set the variables for us
+ kmod_src_unpack
+
+ cd ${WORKDIR}
+ bash ${DISTDIR}/${NV_PACKAGE}-${PKG_V}.run --extract-only
+
+ # Next section applies patches for linux-2.5 kernel, and/or
+ # bugfixes for linux-2.4. All these are from:
+ #
+ # http://www.minion.de/nvidia/
+ #
+ # Many thanks to Christian Zander <zander@minion.de> for bringing
+ # these to us, and being so helpful to select which to use.
+
+ cd ${S}
+
+ if is_kernel 2 5 || is_kernel 2 6
+ then
+ EPATCH_SINGLE_MSG="Applying basic sysfs patch ..." \
+ epatch ${FILESDIR}/${PV}/NVIDIA_kernel-${NV_V}-basic-sysfs-support.patch
+
+ # The 2.6 kernels support a form of kbuild now we will aswell.
+ rm makefile
+ ln -snf Makefile.kbuild Makefile
+
+ fi
+
+ # if you set this then it's your own fault when stuff breaks :)
+ [ ! -z "${USE_CRAZY_OPTS}" ] && sed -i "s:-O:${CFLAGS}:" Makefile
+}
+
+src_compile() {
+ # IGNORE_CC_MISMATCH disables a sanity check that's needed when gcc has been
+ # updated but the running kernel is still compiled with an older gcc. This is
+ # needed for chrooted building, where the sanity check detects the gcc of the
+ # kernel outside the chroot rather than within.
+ if is_kernel 2 5 || is_kernel 2 6
+ then
+ if ck_kern_write
+ then
+ KD="`/bin/readlink -f ${KERNEL_DIR}`"
+ einfo "Adding write support to ${KD}\n"
+ addwrite "${KD}"
+ fi
+
+ unset ARCH
+ make IGNORE_CC_MISMATCH="yes" SYSSRC="${KERNEL_DIR}" \
+ M="${S}" clean module || die "Failed to build module"
+ else
+ make IGNORE_CC_MISMATCH="yes" KERNDIR="/usr/src/linux" \
+ clean module || die
+ fi
+}
+
+src_install() {
+ # The driver goes into the standard modules location
+ insinto /lib/modules/${KV}/video
+
+ # Insert the module
+ doins nvidia.${KV_OBJ}
+
+ # Add the aliases
+ insinto /etc/modules.d
+ newins ${FILESDIR}/nvidia-1.1 nvidia
+
+ # Docs
+ dodoc ${S}/README
+
+ # The device creation script
+ into /
+ newsbin ${S}/makedevices.sh NVmakedevices.sh
+}
+
+pkg_postinst() {
+ if [ "${ROOT}" = "/" ]
+ then
+ # Update module dependency
+ [ -x /usr/sbin/update-modules ] && /usr/sbin/update-modules
+ if [ ! -e /dev/.devfsd ] && [ ! -e /dev/.udev ] && [ -x /sbin/NVmakedevices.sh ]
+ then
+ /sbin/NVmakedevices.sh >/dev/null 2>&1
+ fi
+ fi
+
+ echo
+ einfo "If you need to load the module automatically on boot up you need"
+ einfo "to add \"nvidia\" to /etc/modules.autoload.d/kernel-${KV_MAJOR}.${KV_MINOR}"
+ echo
+ einfo "Please note that the driver name is nvidia.${KV_OBJ}, not NVdriver"
+ echo
+}