diff options
author | 2004-11-30 01:25:56 +0000 | |
---|---|---|
committer | 2004-11-30 01:25:56 +0000 | |
commit | efd35fc1d464b01c6a965468dd65cccfbf4da9b0 (patch) | |
tree | b24ceaed4288fff8fbc645346a1fcbc8fb0d98b0 /media-video | |
parent | Some more unused patches cleanup. (Manifest recommit) (diff) | |
download | gentoo-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/ChangeLog | 8 | ||||
-rw-r--r-- | media-video/nvidia-kernel/Manifest | 8 | ||||
-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.ebuild | 145 | ||||
-rw-r--r-- | media-video/nvidia-kernel/nvidia-kernel-1.0.6629.ebuild | 40 |
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 / |