summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Bevitt <cyfred@gentoo.org>2004-11-30 01:25:56 +0000
committerAndrew Bevitt <cyfred@gentoo.org>2004-11-30 01:25:56 +0000
commitefd35fc1d464b01c6a965468dd65cccfbf4da9b0 (patch)
treeb24ceaed4288fff8fbc645346a1fcbc8fb0d98b0 /media-video
parentSome more unused patches cleanup. (Manifest recommit) (diff)
downloadgentoo-2-efd35fc1d464b01c6a965468dd65cccfbf4da9b0.tar.gz
gentoo-2-efd35fc1d464b01c6a965468dd65cccfbf4da9b0.tar.bz2
gentoo-2-efd35fc1d464b01c6a965468dd65cccfbf4da9b0.zip
Fixing bug #71833, porting 6111 to linux-mod eclass, install proper README.
Diffstat (limited to 'media-video')
-rw-r--r--media-video/nvidia-kernel/ChangeLog8
-rw-r--r--media-video/nvidia-kernel/Manifest8
-rw-r--r--media-video/nvidia-kernel/files/nvidia (renamed from media-video/nvidia-kernel/files/nvidia-1.1)3
-rw-r--r--media-video/nvidia-kernel/nvidia-kernel-1.0.6111-r3.ebuild145
-rw-r--r--media-video/nvidia-kernel/nvidia-kernel-1.0.6629.ebuild40
5 files changed, 84 insertions, 120 deletions
diff --git a/media-video/nvidia-kernel/ChangeLog b/media-video/nvidia-kernel/ChangeLog
index 06c6fd13f37d..2111f9b5da6c 100644
--- a/media-video/nvidia-kernel/ChangeLog
+++ b/media-video/nvidia-kernel/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for media-video/nvidia-kernel
# Copyright 2002-2004 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/media-video/nvidia-kernel/ChangeLog,v 1.102 2004/11/30 00:37:44 cyfred Exp $
+# $Header: /var/cvsroot/gentoo-x86/media-video/nvidia-kernel/ChangeLog,v 1.103 2004/11/30 01:25:56 cyfred Exp $
+
+ 30 Nov 2004; Andrew Bevitt <cyfred@gentoo.org> +files/nvidia,
+ -files/nvidia-1.1, nvidia-kernel-1.0.6111-r3.ebuild,
+ nvidia-kernel-1.0.6629.ebuild:
+ Porting 6111 to use linux-* eclasses, fixing bug #71833 (apply 2.6 patches
+ on 2.6 only), change to install the proper README file.
30 Nov 2004; Andrew Bevitt <cyfred@gentoo.org>
-files/1.0.4363/NVIDIA_kernel-1.0-4363-2.5-20030714.diff,
diff --git a/media-video/nvidia-kernel/Manifest b/media-video/nvidia-kernel/Manifest
index a89497def10a..ff8ec655006b 100644
--- a/media-video/nvidia-kernel/Manifest
+++ b/media-video/nvidia-kernel/Manifest
@@ -1,10 +1,10 @@
-MD5 5bc9c55bbc50851ee7e545f62ed2b238 ChangeLog 26407
+MD5 e0fe70f4ba949b6801ee15972026b52a ChangeLog 26653
MD5 c84a79e7d9b69a204003fb8c2dbaad01 metadata.xml 297
-MD5 20b06fba9299e6dd5c9a81afbbb44385 nvidia-kernel-1.0.6629.ebuild 4401
-MD5 63a5b30228e33e7d1fc441ad59ca5ea3 nvidia-kernel-1.0.6111-r3.ebuild 6305
+MD5 11455f75c8b93fcc6f01a9a116867a23 nvidia-kernel-1.0.6629.ebuild 4658
+MD5 67a8e13b95ec4d8ba857a4b3c47d217d nvidia-kernel-1.0.6111-r3.ebuild 4481
+MD5 d8fcf2021aa68584d4a4d9e96b671da0 files/nvidia 501
MD5 8a4687b0fc3e7cc0b36c247697d94701 files/digest-nvidia-kernel-1.0.6629 163
MD5 ed1e098d85579c75542ef0a49ee4dd5c files/digest-nvidia-kernel-1.0.6111-r3 163
-MD5 b6a9c4bdd3961980af4a70f57485d708 files/nvidia-1.1 441
MD5 762e6f6e16aa6dd5b2469e99fe8decd3 files/1.0.6111/nv-pci_find_class.patch 2903
MD5 c2b155f40d7b904f07550e8e326969c2 files/1.0.6111/nv-remap-range.patch 5715
MD5 29eafcaf7ab5d59dd90d3d3243bf57c3 files/1.0.6111/nv_enable_pci.patch 3640
diff --git a/media-video/nvidia-kernel/files/nvidia-1.1 b/media-video/nvidia-kernel/files/nvidia
index 5e3e3285595e..30f610dd0b18 100644
--- a/media-video/nvidia-kernel/files/nvidia-1.1
+++ b/media-video/nvidia-kernel/files/nvidia
@@ -3,7 +3,8 @@ alias char-major-195 nvidia
alias /dev/nvidiactl char-major-195
# To tweak the driver the following options can be used, note that
-# you should be careful, as it could cause instability!!
+# you should be careful, as it could cause instability!! For more
+# option see /usr/share/doc/${PACKAGE}/README.gz
#
# To enable Side Band Adressing: NVreg_EnableAGPSBA=1
#
diff --git a/media-video/nvidia-kernel/nvidia-kernel-1.0.6111-r3.ebuild b/media-video/nvidia-kernel/nvidia-kernel-1.0.6111-r3.ebuild
index 6b56a5a656c3..599780dcaaed 100644
--- a/media-video/nvidia-kernel/nvidia-kernel-1.0.6111-r3.ebuild
+++ b/media-video/nvidia-kernel/nvidia-kernel-1.0.6111-r3.ebuild
@@ -1,8 +1,8 @@
# Copyright 1999-2004 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/media-video/nvidia-kernel/nvidia-kernel-1.0.6111-r3.ebuild,v 1.2 2004/11/07 23:30:45 cyfred Exp $
+# $Header: /var/cvsroot/gentoo-x86/media-video/nvidia-kernel/nvidia-kernel-1.0.6111-r3.ebuild,v 1.3 2004/11/30 01:25:56 cyfred Exp $
-inherit eutils kernel-mod
+inherit eutils linux-mod
X86_PKG_V="pkg1"
AMD64_PKG_V="pkg2"
@@ -25,9 +25,8 @@ fi
S="${WORKDIR}/${NV_PACKAGE}-${PKG_V}/usr/src/nv"
-# The slot needs to be set to $KV to prevent unmerges of modules for other kernels.
LICENSE="NVIDIA"
-SLOT="${KV}"
+SLOT="0"
KEYWORDS="-* x86 amd64"
RESTRICT="nostrip"
IUSE=""
@@ -35,11 +34,15 @@ IUSE=""
DEPEND="virtual/linux-sources"
export _POSIX2_VERSION="199209"
-KMOD_SOURCES="none"
+MODULE_NAMES="nvidia(video:${S})"
+BUILD_PARAMS="IGNORE_CC_MISMATCH=yes V=1 SYSSRC=${KV_DIR} SYSOUT=${KV_OUT_DIR}"
-# Check for mtrr and react appropriately
mtrr_check() {
- if [ ! -f /proc/mtrr ]
+ ebegin "Checking for MTRR support"
+ getfilevar_isset CONFIG_MTRR ${KV_OUT_DIR}/.config
+ eend $?
+
+ if [ "$?" != 0 ]
then
eerror "This version needs MTRR support for most chipsets!"
eerror "Please enable MTRR support in your kernel config, found at:"
@@ -52,31 +55,21 @@ mtrr_check() {
}
pkg_setup() {
- mtrr_check
+ linux-mod_pkg_setup
+ mtrr_check;
}
src_unpack() {
- # setup the environment
- kernel-mod_getversion
- if [ ${KV_MINOR} -ge 5 ]
- then
- KV_OBJ="ko"
- else
- KV_OBJ="o"
- fi
-
# 2.6.10_rc1-mm{1,2,3} all EXPORT_SYMBOL_GPL the udev functions, this breaks loading
- CS="$(grep -c EXPORT_SYMBOL\(class_simple_create\)\; ${KERNEL_DIR}/drivers/base/class_simple.c)"
+ CS="$(grep -c EXPORT_SYMBOL\(class_simple_create\)\; ${KV_DIR}/drivers/base/class_simple.c)"
if [ "${CS}" == "0" ]
then
- ewarn "Your current kernel uses EXPORT_SYMBOL_GPL() on some methods required by nvidia-kernel"
- ewarn "This probably means 2.6.10_rc1-mm*, please change away from mm-sources until this is"
- ewarn "revised and a solution released in the mm branch, development-sources will work."
+ ewarn "Your current kernel uses EXPORT_SYMBOL_GPL() on some methods required by nvidia-kernel."
+ ewarn "This probably means you are using 2.6.10_rc1-mm*. Please change away from mm-sources until this is"
+ ewarn "revised and a solution released into the mm branch, development-sources will work."
die "Incompatible kernel export."
fi
- # Right, we are officially not supporting < 2.6.7 in the 2.6 kernel tree
- # In fact as this warning states its highly likely you CANNOT use those kernels
if [ ${KV_MINOR} -ge 6 -a ${KV_PATCH} -lt 7 ]
then
echo
@@ -92,77 +85,45 @@ src_unpack() {
bash ${DISTDIR}/${NV_PACKAGE}-${PKG_V}.run --extract-only
# Add patches below, with a breif description.
- # 1) SYSFS supported by nvidia
- # 2) minion.de patches not released yet
-
cd ${S}
+ # Any general patches should go here
+ # none at the moment
- # Fix up the removal of PM_SAVE_STATE in kernels > 2.6.8
- epatch ${FILESDIR}/${PV}/power-suspend-2.6.9-changes.patch
- # Update pci stuff to work with irqroutes being changed in kernels
- epatch ${FILESDIR}/${PV}/nv_enable_pci.patch
- # Fix VMALLOC_RESERVE issues with the new 2.6.9 release candidates
- epatch ${FILESDIR}/${PV}/vmalloc-reserve.patch
- # Port pci_find_class() -> pci_get_class() for >= 2.6.9-rc2
- epatch ${FILESDIR}/${PV}/nv-pci_find_class.patch
- # Fix remap_page_range() -> remap_pfn_range() for >= 2.6.9-rc2
- epatch ${FILESDIR}/${PV}/nv-remap-range.patch
- # Fix the /usr/src/linux/include/asm not existing on koutput issue #58294
- epatch ${FILESDIR}/${PV}/conftest_koutput_includes.patch
-
- # 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() {
- # Right as kmod was deprecated there is little room for kbuild but lets
- # at least have some sembalance of support for those who are forcing
- # a non-standard build directory.
- if [ ${KV_MINOR} -ge 6 -a ${KV_PATCH} -ge 7 ]
- then
- if [ -n "${KBUILD_OUTPUT_PREFIX}" ]
- then
- einfo "Determining kernel output location"
- OUTPUT="${KBUILD_OUTPUT_PREFIX}/${KV_VERSION_FULL}"
- fi
- fi
- [ -z "${OUTPUT}" ] && OUTPUT=${KERNEL_DIR}
- einfo "Using ${OUTPUT} as kernel output location"
- echo
- # Now its possible that we might be here without using a KBUILD kernel
- # (ie the variable is set, but using non-kbuild kernel or different path)
- if [ ! -d ${OUTPUT} ]
+ # Now any patches specific to the 2.6 kernel should go here
+ if kernel_is 2 6
then
- ewarn "Your system global KBUILD_OUTPUT is set to ${KBUILD_OUTPUT_PREFIX}"
- ewarn "However your kernels output path ${OUTPUT} does not exist."
- echo
- ewarn "Using ${KERNEL_DIR} as your kernel output location."
- echo
- OUTPUT=${KERNEL_DIR}
+ einfo "Applying 2.6 kernel patches"
+ # Fix up the removal of PM_SAVE_STATE in kernels > 2.6.8
+ epatch ${FILESDIR}/${PV}/power-suspend-2.6.9-changes.patch
+ # Update pci stuff to work with irqroutes being changed in kernels
+ epatch ${FILESDIR}/${PV}/nv_enable_pci.patch
+ # Fix VMALLOC_RESERVE issues with the new 2.6.9 release candidates
+ epatch ${FILESDIR}/${PV}/vmalloc-reserve.patch
+ # Port pci_find_class() -> pci_get_class() for >= 2.6.9-rc2
+ epatch ${FILESDIR}/${PV}/nv-pci_find_class.patch
+ # Fix remap_page_range() -> remap_pfn_range() for >= 2.6.9-rc2
+ epatch ${FILESDIR}/${PV}/nv-remap-range.patch
+ # Fix the /usr/src/linux/include/asm not existing on koutput issue #58294
+ epatch ${FILESDIR}/${PV}/conftest_koutput_includes.patch
fi
- # 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.
- unset ARCH
- make IGNORE_CC_MISMATCH="yes" SYSSRC="${KERNEL_DIR}" SYSOUT="${OUTPUT}" \
- clean module V=1 || die "Failed to build module"
+ # if you set this then it's your own fault when stuff breaks :)
+ [ -n "${USE_CRAZY_OPTS}" ] && sed -i "s:-O:${CFLAGS}:" Makefile.*
+
+ # if greater than 2.6.5 use M= instead of SUBDIR=
+ convert_to_m ${S}/Makefile.kbuild
}
src_install() {
- # The driver goes into the standard modules location
- insinto /lib/modules/${KV}/video
-
- # Insert the module
- doins nvidia.${KV_OBJ}
+ linux-mod_src_install
# Add the aliases
+ sed -e 's:\${PACKAGE}:'${PF}':g' ${FILESDIR}/nvidia > ${WORKDIR}/nvidia
insinto /etc/modules.d
- newins ${FILESDIR}/nvidia-1.1 nvidia
+ newins ${WORKDIR}/nvidia nvidia
# Docs
- dodoc ${S}/README
+ dodoc ${S}/../../share/doc/README
# The device creation script
into /
@@ -170,23 +131,13 @@ src_install() {
}
pkg_postinst() {
- if [ "${ROOT}" = "/" ]
+ if [ "${ROOT}" = "/" ] && \
+ [ ! -e /dev/.devfsd ] && \
+ [ ! -e /dev/.udev ] && \
+ [ -x /sbin/NVmakedevices.sh ]
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
+ /sbin/NVmakedevices.sh >/dev/null 2>&1
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\", not \"NVdriver\""
- echo
- einfo "This module will now work correctly under udev, you do not need to"
- einfo "manually create the devices anymore."
- echo
+ linux-mod_pkg_postinst
}
diff --git a/media-video/nvidia-kernel/nvidia-kernel-1.0.6629.ebuild b/media-video/nvidia-kernel/nvidia-kernel-1.0.6629.ebuild
index 45d5096e5ae4..01696cf4a76e 100644
--- a/media-video/nvidia-kernel/nvidia-kernel-1.0.6629.ebuild
+++ b/media-video/nvidia-kernel/nvidia-kernel-1.0.6629.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2004 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/media-video/nvidia-kernel/nvidia-kernel-1.0.6629.ebuild,v 1.8 2004/11/28 09:52:13 johnm Exp $
+# $Header: /var/cvsroot/gentoo-x86/media-video/nvidia-kernel/nvidia-kernel-1.0.6629.ebuild,v 1.9 2004/11/30 01:25:56 cyfred Exp $
inherit eutils linux-mod
@@ -83,26 +83,31 @@ src_unpack() {
cd ${WORKDIR}
bash ${DISTDIR}/${NV_PACKAGE}-${PKG_V}.run --extract-only
- cd ${S}
# Add patches below, with a breif description.
cd ${S}
- # Fix the /usr/src/linux/include/asm not existing on koutput issue #58294
- epatch ${FILESDIR}/${PV}/conftest_koutput_includes.patch
- # Fix pgd_offset() -> pml4_pgd_offset() for >=2.6.10-rc1-mm3
- epatch ${FILESDIR}/${PV}/nv-pgd_offset.patch
- # Speedup driver for 2.6 kernel to be on par with 2.4 kernel
- epatch ${FILESDIR}/${PV}/nv-pgprot-speedup.patch
- # Fix the vm_flags to only have VM_IO, and not VM_LOCKED as well
- epatch ${FILESDIR}/${PV}/nv-vm_flags-no-VM_LOCKED.patch
- # Fix calling of smp_processor_id() when preempt is enabled
- epatch ${FILESDIR}/${PV}/nv-disable-preempt-on-smp_processor_id.patch
- # Fix a limitation on available video memory bug #71684
- epatch ${FILESDIR}/${PV}/nv-fix-memory-limit.patch
-
+ # Any general patches should go here
# Shutup pointer arith warnings
use x86 && epatch ${FILESDIR}/${PV}/nv-shutup-warnings.patch
use amd64 && epatch ${FILESDIR}/${PV}/nv-amd64-shutup-warnings.patch
+ # Fix a limitation on available video memory bug #71684
+ epatch ${FILESDIR}/${PV}/nv-fix-memory-limit.patch
+ # Fix the vm_flags to only have VM_IO, and not VM_LOCKED as well
+ epatch ${FILESDIR}/${PV}/nv-vm_flags-no-VM_LOCKED.patch
+
+ # Now any patches specific to the 2.6 kernel should go here
+ if kernel_is 2 6
+ then
+ einfo "Applying 2.6 kernel patches"
+ # Fix the /usr/src/linux/include/asm not existing on koutput issue #58294
+ epatch ${FILESDIR}/${PV}/conftest_koutput_includes.patch
+ # Fix pgd_offset() -> pml4_pgd_offset() for >=2.6.10-rc1-mm3
+ epatch ${FILESDIR}/${PV}/nv-pgd_offset.patch
+ # Speedup driver for 2.6 kernel to be on par with 2.4 kernel
+ epatch ${FILESDIR}/${PV}/nv-pgprot-speedup.patch
+ # Fix calling of smp_processor_id() when preempt is enabled
+ epatch ${FILESDIR}/${PV}/nv-disable-preempt-on-smp_processor_id.patch
+ fi
# if you set this then it's your own fault when stuff breaks :)
[ -n "${USE_CRAZY_OPTS}" ] && sed -i "s:-O:${CFLAGS}:" Makefile.*
@@ -115,11 +120,12 @@ src_install() {
linux-mod_src_install
# Add the aliases
+ sed -e 's:\${PACKAGE}:'${PF}':g' ${FILESDIR}/nvidia > ${WORKDIR}/nvidia
insinto /etc/modules.d
- newins ${FILESDIR}/nvidia-1.1 nvidia
+ newins ${WORKDIR}/nvidia nvidia
# Docs
- dodoc ${S}/README
+ dodoc ${S}/../../share/doc/README
# The device creation script
into /