diff options
Diffstat (limited to 'media-video')
-rw-r--r-- | media-video/nvidia-glx/ChangeLog | 6 | ||||
-rw-r--r-- | media-video/nvidia-glx/nvidia-glx-1.0.6629-r1.ebuild | 4 | ||||
-rw-r--r-- | media-video/nvidia-glx/nvidia-glx-1.0.6629.ebuild | 183 | ||||
-rw-r--r-- | media-video/nvidia-kernel/ChangeLog | 11 | ||||
-rw-r--r-- | media-video/nvidia-kernel/Manifest | 23 | ||||
-rw-r--r-- | media-video/nvidia-kernel/files/1.0.6629/NVIDIA_kernel-1.0-6629-1189413.patch | 222 | ||||
-rw-r--r-- | media-video/nvidia-kernel/files/digest-nvidia-kernel-1.0.6629-r2 (renamed from media-video/nvidia-glx/files/digest-nvidia-glx-1.0.6629) | 0 | ||||
-rw-r--r-- | media-video/nvidia-kernel/nvidia-kernel-1.0.6111-r3.ebuild | 4 | ||||
-rw-r--r-- | media-video/nvidia-kernel/nvidia-kernel-1.0.6629-r1.ebuild | 6 | ||||
-rw-r--r-- | media-video/nvidia-kernel/nvidia-kernel-1.0.6629-r2.ebuild | 139 | ||||
-rw-r--r-- | media-video/nvidia-settings/ChangeLog | 8 | ||||
-rw-r--r-- | media-video/nvidia-settings/nvidia-settings-1.0.6111.ebuild | 4 | ||||
-rw-r--r-- | media-video/nvidia-settings/nvidia-settings-1.0.6629.ebuild | 6 |
13 files changed, 406 insertions, 210 deletions
diff --git a/media-video/nvidia-glx/ChangeLog b/media-video/nvidia-glx/ChangeLog index a01b47e208c1..402257e00218 100644 --- a/media-video/nvidia-glx/ChangeLog +++ b/media-video/nvidia-glx/ChangeLog @@ -1,6 +1,10 @@ # ChangeLog for media-video/nvidia-glx # Copyright 2002-2005 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/media-video/nvidia-glx/ChangeLog,v 1.69 2005/01/10 21:51:14 jhuebel Exp $ +# $Header: /var/cvsroot/gentoo-x86/media-video/nvidia-glx/ChangeLog,v 1.70 2005/01/17 08:47:43 cyfred Exp $ + + 17 Jan 2005; Andrew Bevitt <cyfred@gentoo.org> + nvidia-glx-1.0.6629-r1.ebuild, -nvidia-glx-1.0.6629.ebuild: + Marking 6629 stable across archs 10 Jan 2005; Jason Huebel <jhuebel@gentoo.org> nvidia-glx-1.0.6629-r1.ebuild: diff --git a/media-video/nvidia-glx/nvidia-glx-1.0.6629-r1.ebuild b/media-video/nvidia-glx/nvidia-glx-1.0.6629-r1.ebuild index 17d8f4aee818..d9f74eb9d3db 100644 --- a/media-video/nvidia-glx/nvidia-glx-1.0.6629-r1.ebuild +++ b/media-video/nvidia-glx/nvidia-glx-1.0.6629-r1.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2005 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/media-video/nvidia-glx/nvidia-glx-1.0.6629-r1.ebuild,v 1.2 2005/01/10 21:51:14 jhuebel Exp $ +# $Header: /var/cvsroot/gentoo-x86/media-video/nvidia-glx/nvidia-glx-1.0.6629-r1.ebuild,v 1.3 2005/01/17 08:47:43 cyfred Exp $ inherit eutils @@ -27,7 +27,7 @@ S="${WORKDIR}/${NV_PACKAGE}-${PKG_V}" LICENSE="NVIDIA" SLOT="0" -KEYWORDS="-* ~x86 amd64" +KEYWORDS="-* x86 amd64" RESTRICT="nostrip" IUSE="multilib" diff --git a/media-video/nvidia-glx/nvidia-glx-1.0.6629.ebuild b/media-video/nvidia-glx/nvidia-glx-1.0.6629.ebuild deleted file mode 100644 index 239fdc9bb455..000000000000 --- a/media-video/nvidia-glx/nvidia-glx-1.0.6629.ebuild +++ /dev/null @@ -1,183 +0,0 @@ -# Copyright 1999-2005 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/media-video/nvidia-glx/nvidia-glx-1.0.6629.ebuild,v 1.5 2005/01/10 21:51:14 jhuebel Exp $ - -inherit eutils - -X86_PKG_V="pkg1" -AMD64_PKG_V="pkg2" -NV_V="${PV/1.0./1.0-}" -X86_NV_PACKAGE="NVIDIA-Linux-x86-${NV_V}" -AMD64_NV_PACKAGE="NVIDIA-Linux-x86_64-${NV_V}" - -DESCRIPTION="NVIDIA X11 driver and GLX libraries" -HOMEPAGE="http://www.nvidia.com/" -SRC_URI="x86? (ftp://download.nvidia.com/XFree86/Linux-x86/${NV_V}/${X86_NV_PACKAGE}-${X86_PKG_V}.run) - amd64? (http://download.nvidia.com/XFree86/Linux-x86_64/${NV_V}/${AMD64_NV_PACKAGE}-${AMD64_PKG_V}.run)" - -if use x86; then - PKG_V="${X86_PKG_V}" - NV_PACKAGE="${X86_NV_PACKAGE}" -elif use amd64; then - PKG_V="${AMD64_PKG_V}" - NV_PACKAGE="${AMD64_NV_PACKAGE}" -fi - -S="${WORKDIR}/${NV_PACKAGE}-${PKG_V}" - -LICENSE="NVIDIA" -SLOT="0" -KEYWORDS="-* ~x86 ~amd64" -RESTRICT="nostrip" -IUSE="multilib" - -DEPEND="virtual/libc - virtual/x11 - >=x11-base/opengl-update-1.8.1 - ~media-video/nvidia-kernel-${PV}" - -PDEPEND="amd64? ( multilib? ( >=app-emulation/emul-linux-x86-nvidia-${PV} ) )" - -PROVIDE="virtual/opengl" -export _POSIX2_VERSION="199209" - -check_xfree() { - # This isn't necessary, true. But its about time people got the idea. - if has_version "x11-base/xfree" - then - eerror "Support for x11-base/xfree is deprecated. Upgrade to x11-base/xorg-x11." - fi -} - -pkg_setup() { - check_xfree - - # Provide some information to the users - if use amd64 ; then - einfo - einfo "This release of nvidia-glx contains 32 bit compatibility" - einfo "libraries. These can be installed by either" - einfo " 1) emerge app-emulation/emul-linux-x86-nvidia" - einfo " 2) USE=\"multilib\" emerge media-video/nvidia-glx" - einfo " (or /etc/portage/package.use, see portage manual)" - einfo - fi -} - -src_unpack() { - cd ${WORKDIR} - bash ${DISTDIR}/${NV_PACKAGE}-${PKG_V}.run --extract-only - - # Patchs go below here, add breif description - cd ${S} - # nVidia wants us to use nvidia-installer, removing warning. - epatch ${FILESDIR}/${PV}/NVIDIA_glx-${PV}-makefile.patch - # Use the correct defines to make gtkglext build work - epatch ${FILESDIR}/${PV}/NVIDIA_glx-${PV}-defines.patch - # Use some more sensible gl headers and make way for new glext.h - epatch ${FILESDIR}/${PV}/NVIDIA_glx-${PV}-glheader.patch - -} - -src_install() { - local NV_ROOT="/usr/lib/opengl/nvidia" - - # The X module - exeinto /usr/X11R6/lib/modules/drivers - doexe usr/X11R6/lib/modules/drivers/nvidia_drv.o - - # The GLX extension - exeinto ${NV_ROOT}/extensions - newexe usr/X11R6/lib/modules/extensions/libglx.so.${PV} libglx.so - - # The GLX libraries - exeinto ${NV_ROOT}/lib - doexe usr/lib/libGL.so.${PV} \ - usr/lib/libGLcore.so.${PV} \ - usr/lib/libnvidia-tls.so.${PV} - dosym libGL.so.${PV} ${NV_ROOT}/lib/libGL.so - dosym libGL.so.${PV} ${NV_ROOT}/lib/libGL.so.1 - dosym libGLcore.so.${PV} ${NV_ROOT}/lib/libGLcore.so - dosym libGLcore.so.${PV} ${NV_ROOT}/lib/libGLcore.so.1 - dosym libnvidia-tls.so.${PV} ${NV_ROOT}/lib/libnvidia-tls.so - dosym libnvidia-tls.so.${PV} ${NV_ROOT}/lib/libnvidia-tls.so.1 - - local TLS_ROOT="/usr/lib/opengl/nvidia/tls" - dodir ${TLS_ROOT} - exeinto ${TLS_ROOT} - doexe usr/lib/tls/libnvidia-tls.so.${PV} - dosym libnvidia-tls.so.${PV} ${TLS_ROOT}/libnvidia-tls.so - dosym libnvidia-tls.so.${PV} ${TLS_ROOT}/libnvidia-tls.so.1 - - # Install tls_test - dodir /usr/lib/misc - exeinto /usr/lib/misc - doexe usr/bin/tls_test - doexe usr/bin/tls_test_dso.so - - insinto /usr/X11R6/lib - doins usr/X11R6/lib/libXvMCNVIDIA.a - exeinto /usr/X11R6/lib - doexe usr/X11R6/lib/libXvMCNVIDIA.so.${PV} - - # Closing bug #37517 by letting virtual/x11 provide system wide glext.h - # 16 July 2004, opengl-update is now supplying glext.h for system wide - # compatibility, so we still need to remove this. - # 7 November 2004, Keeping this around for 6629 to see what happens. - #rm -f usr/include/GL/glext.h - - # Includes - insinto ${NV_ROOT}/include - doins usr/include/GL/*.h - - # Docs, remove nvidia-settings as provided by media-video/nvidia-settings - rm -f usr/share/doc/nvidia-settings* - dodoc usr/share/doc/* - - # nVidia want bug reports using this script - exeinto /usr/bin - doexe usr/bin/nvidia-bug-report.sh - - # Not sure whether installing the .la file is neccessary; - # this is adopted from the `nvidia' ebuild - local ver1="`echo ${PV} |cut -d '.' -f 1`" - local ver2="`echo ${PV} |cut -d '.' -f 2`" - local ver3="`echo ${PV} |cut -d '.' -f 3`" - sed -e "s:\${PV}:${PV}:" \ - -e "s:\${ver1}:${ver1}:" \ - -e "s:\${ver2}:${ver2}:" \ - -e "s:\${ver3}:${ver3}:" \ - ${FILESDIR}/libGL.la > ${D}/${NV_ROOT}/lib/libGL.la - - # Should we install the .la for the 32bit libs on amd64? I think not. -} - -pkg_preinst() { - # Clean the dinamic libGL stuff's home to ensure - # we dont have stale libs floating around - if [ -d ${ROOT}/usr/lib/opengl/nvidia ] - then - rm -rf ${ROOT}/usr/lib/opengl/nvidia/* - fi - # Make sure we nuke the old nvidia-glx's env.d file - if [ -e ${ROOT}/etc/env.d/09nvidia ] - then - rm -f ${ROOT}/etc/env.d/09nvidia - fi -} - -pkg_postinst() { - #switch to the nvidia implementation - if [ "${ROOT}" = "/" ] - then - /usr/sbin/opengl-update nvidia - fi - - echo - einfo "To use the Nvidia GLX, run \"opengl-update nvidia\"" - echo - einfo "You may also be interested in media-video/nvidia-settings" - echo - einfo "nVidia have requested that any bug reports submitted have the" - einfo "output of /usr/bin/nvidia-bug-report.sh included." -} diff --git a/media-video/nvidia-kernel/ChangeLog b/media-video/nvidia-kernel/ChangeLog index 87e82c0324a0..35bbba98fd3d 100644 --- a/media-video/nvidia-kernel/ChangeLog +++ b/media-video/nvidia-kernel/ChangeLog @@ -1,6 +1,13 @@ # 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.106 2004/12/27 00:46:54 cyfred Exp $ +# Copyright 2002-2005 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/media-video/nvidia-kernel/ChangeLog,v 1.107 2005/01/17 08:45:26 cyfred Exp $ + +*nvidia-kernel-1.0.6629-r2 (17 Jan 2005) + + 17 Jan 2005; Andrew Bevitt <cyfred@gentoo.org> + +files/1.0.6629/NVIDIA_kernel-1.0-6629-1189413.patch, + nvidia-kernel-1.0.6629-r1.ebuild, +nvidia-kernel-1.0.6629-r2.ebuild: + Marking 6629 stable across archs 27 Dec 2004; Andrew Bevitt <cyfred@gentoo.org> files/1.0.6629/NVIDIA_kernel-1.0-6629-1175225.patch, diff --git a/media-video/nvidia-kernel/Manifest b/media-video/nvidia-kernel/Manifest index b2e62f19b37f..c821978229fc 100644 --- a/media-video/nvidia-kernel/Manifest +++ b/media-video/nvidia-kernel/Manifest @@ -1,24 +1,20 @@ MD5 bb5db07672d00246b30146c9b67014d4 ChangeLog 27887 MD5 c84a79e7d9b69a204003fb8c2dbaad01 metadata.xml 297 -MD5 7aabe73a94e747e373c3ff2219f56358 nvidia-kernel-1.0.6629-r1.ebuild 4750 MD5 6ec1ac8788c77524bd37df3829654c7f nvidia-kernel-1.0.6111-r3.ebuild 4487 +MD5 c8afabf8c6970e9d3949855fd542500e nvidia-kernel-1.0.6629-r1.ebuild 4749 +MD5 67817d52bd354ddfd6da88d232282c84 nvidia-kernel-1.0.6629-r2.ebuild 4265 MD5 d8fcf2021aa68584d4a4d9e96b671da0 files/nvidia 501 -MD5 8a4687b0fc3e7cc0b36c247697d94701 files/digest-nvidia-kernel-1.0.6629-r1 163 MD5 ed1e098d85579c75542ef0a49ee4dd5c files/digest-nvidia-kernel-1.0.6111-r3 163 -MD5 b5b7f947ffb9e6c19f7457ff7c14d0db files/1.0.6111/conftest_koutput_includes.patch 1082 +MD5 8a4687b0fc3e7cc0b36c247697d94701 files/digest-nvidia-kernel-1.0.6629-r1 163 +MD5 8a4687b0fc3e7cc0b36c247697d94701 files/digest-nvidia-kernel-1.0.6629-r2 163 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 -MD5 14924b09123b075f910c73316baff848 files/1.0.6111/power-suspend-2.6.9-changes.patch 856 MD5 5177339888e44bb5f4b6124fa5830e7f files/1.0.6111/vmalloc-reserve.patch 542 -MD5 dbf80a2cbaf69a10521429e1b2a7e10c files/1.0.6629/conftest_koutput_includes.patch 1082 -MD5 5aef5c6a394896bbb8392816f6795147 files/1.0.6629/nv-amd64-shutup-warnings.patch 902 -MD5 c039797780f78262baa02ff488e822ff files/1.0.6629/nv-disable-preempt-on-smp_processor_id.patch 435 +MD5 b5b7f947ffb9e6c19f7457ff7c14d0db files/1.0.6111/conftest_koutput_includes.patch 1082 +MD5 14924b09123b075f910c73316baff848 files/1.0.6111/power-suspend-2.6.9-changes.patch 856 MD5 e70739410861defb6bf3d40f2706d554 files/1.0.6629/nv-pgd_offset.patch 3139 -MD5 64d76075a90dedc83f1dc971389c910e files/1.0.6629/nv-shutup-warnings.patch 712 MD5 0009ccc8f3896f22bad06fd549639072 files/1.0.6629/nv-pgprot-speedup.patch 1518 -MD5 7c9db721d244f6ca709e2b8003ce4e0d files/1.0.6629/nv-vm_flags-no-VM_LOCKED.patch 677 -MD5 ddeae194df6bb2112d7de723df8d84c2 files/1.0.6629/nv-fix-memory-limit.patch 18398 MD5 0009ccc8f3896f22bad06fd549639072 files/1.0.6629/NVIDIA_kernel-1.0-6629-1155389.patch 1518 MD5 ddeae194df6bb2112d7de723df8d84c2 files/1.0.6629/NVIDIA_kernel-1.0-6629-1161283.patch 18398 MD5 5a17c3fa427b4d0ff8e38f82e57cd817 files/1.0.6629/NVIDIA_kernel-1.0-6629-1162524.patch 9417 @@ -26,3 +22,10 @@ MD5 ada7d22def202e56c01c1e72c8000d45 files/1.0.6629/NVIDIA_kernel-1.0-6629-11652 MD5 f1a5a01593ef996b38fe70bc93fa7440 files/1.0.6629/NVIDIA_kernel-1.0-6629-1171869.patch 2160 MD5 59c5fa8340585303cd18362bbeb0086f files/1.0.6629/NVIDIA_kernel-1.0-6629-1175225.patch 1877 MD5 d4e8ffdb0cc67c56884e6055d2045e51 files/1.0.6629/NVIDIA_kernel-1.0-6629-1182399.patch 2608 +MD5 e210d99cae87c3f60120ea474b97fca7 files/1.0.6629/NVIDIA_kernel-1.0-6629-1189413.patch 8072 +MD5 dbf80a2cbaf69a10521429e1b2a7e10c files/1.0.6629/conftest_koutput_includes.patch 1082 +MD5 5aef5c6a394896bbb8392816f6795147 files/1.0.6629/nv-amd64-shutup-warnings.patch 902 +MD5 c039797780f78262baa02ff488e822ff files/1.0.6629/nv-disable-preempt-on-smp_processor_id.patch 435 +MD5 ddeae194df6bb2112d7de723df8d84c2 files/1.0.6629/nv-fix-memory-limit.patch 18398 +MD5 64d76075a90dedc83f1dc971389c910e files/1.0.6629/nv-shutup-warnings.patch 712 +MD5 7c9db721d244f6ca709e2b8003ce4e0d files/1.0.6629/nv-vm_flags-no-VM_LOCKED.patch 677 diff --git a/media-video/nvidia-kernel/files/1.0.6629/NVIDIA_kernel-1.0-6629-1189413.patch b/media-video/nvidia-kernel/files/1.0.6629/NVIDIA_kernel-1.0-6629-1189413.patch new file mode 100644 index 000000000000..11515ce81dc5 --- /dev/null +++ b/media-video/nvidia-kernel/files/1.0.6629/NVIDIA_kernel-1.0-6629-1189413.patch @@ -0,0 +1,222 @@ +diff -ru usr/src/nv/nv-linux.h usr/src/nv.1189413/nv-linux.h +--- usr/src/nv/nv-linux.h 2004-11-03 22:53:00.000000000 +0100 ++++ usr/src/nv.1189413/nv-linux.h 2005-01-07 15:44:01.000000000 +0100 +@@ -627,75 +627,109 @@ + #define NV_REMAP_PAGE_RANGE(x...) remap_page_range(x) + #endif + ++ ++#define NV_PGD_OFFSET(address, kernel, mm) \ ++ ({ \ ++ pgd_t *__pgd; \ ++ if (!kernel) \ ++ __pgd = pgd_offset(mm, address); \ ++ else \ ++ __pgd = pgd_offset_k(address); \ ++ __pgd; \ ++ }) ++ ++#define NV_PGD_PRESENT(pgd) \ ++ ({ \ ++ if ((pgd != NULL) && \ ++ (pgd_bad(*pgd) || pgd_none(*pgd))) \ ++ /* static */ pgd = NULL; \ ++ pgd != NULL; \ ++ }) ++ + #if defined(pmd_offset_map) +-#define NV_PMD_OFFSET(addres, pg_dir, pg_mid_dir) \ +- { \ +- pg_mid_dir = pmd_offset_map(pg_dir, address); \ +- } +-#define NV_PMD_UNMAP(pg_mid_dir) \ +- { \ +- pmd_unmap(pg_mid_dir); \ +- } ++#define NV_PMD_OFFSET(address, pgd) \ ++ ({ \ ++ pmd_t *__pmd; \ ++ __pmd = pmd_offset_map(pgd, address); \ ++ }) ++#define NV_PMD_UNMAP(pmd) pmd_unmap(pmd); + #else +-#define NV_PMD_OFFSET(addres, pg_dir, pg_mid_dir) \ +- { \ +- pg_mid_dir = pmd_offset(pg_dir, address); \ +- } +-#define NV_PMD_UNMAP(pg_mid_dir) ++#if defined(PUD_SHIFT) /* 4-level pgtable */ ++#define NV_PMD_OFFSET(address, pgd) \ ++ ({ \ ++ pmd_t *__pmd = NULL; \ ++ pud_t *__pud; \ ++ __pud = pud_offset(pgd, address); \ ++ if ((__pud != NULL) && \ ++ !(pud_bad(*__pud) || pud_none(*__pud))) \ ++ __pmd = pmd_offset(__pud, address); \ ++ __pmd; \ ++ }) ++#else /* 3-level pgtable */ ++#define NV_PMD_OFFSET(address, pgd) \ ++ ({ \ ++ pmd_t *__pmd; \ ++ __pmd = pmd_offset(pgd, address); \ ++ }) ++#endif ++#define NV_PMD_UNMAP(pmd) + #endif + +-#define NV_PMD_PRESENT(pg_mid_dir) \ +- ({ \ +- if ( (pg_mid_dir) && (pmd_none(*pg_mid_dir))) { \ +- NV_PMD_UNMAP(pg_mid_dir); pg_mid_dir = NULL; \ +- } pg_mid_dir != NULL; \ ++#define NV_PMD_PRESENT(pmd) \ ++ ({ \ ++ if ((pmd != NULL) && \ ++ (pmd_bad(*pmd) || pmd_none(*pmd))) \ ++ { \ ++ NV_PMD_UNMAP(pmd); \ ++ pmd = NULL; /* mark invalid */ \ ++ } \ ++ pmd != NULL; \ + }) + + #if defined(pte_offset_atomic) +-#define NV_PTE_OFFSET(addres, pg_mid_dir, pte) \ +- { \ +- pte = pte_offset_atomic(pg_mid_dir, address); \ +- NV_PMD_UNMAP(pg_mid_dir); \ +- } +-#define NV_PTE_UNMAP(pte) \ +- { \ +- pte_kunmap(pte); \ +- } ++#define NV_PTE_OFFSET(address, pmd) \ ++ ({ \ ++ pte_t *__pte; \ ++ __pte = pte_offset_atomic(pmd, address); \ ++ NV_PMD_UNMAP(pmd); __pte; \ ++ }) ++#define NV_PTE_UNMAP(pte) pte_kunmap(pte); + #elif defined(pte_offset) +-#define NV_PTE_OFFSET(addres, pg_mid_dir, pte) \ +- { \ +- pte = pte_offset(pg_mid_dir, address); \ +- NV_PMD_UNMAP(pg_mid_dir); \ +- } ++#define NV_PTE_OFFSET(address, pmd) \ ++ ({ \ ++ pte_t *__pte; \ ++ __pte = pte_offset(pmd, address); \ ++ NV_PMD_UNMAP(pmd); __pte; \ ++ }) + #define NV_PTE_UNMAP(pte) + #else +-#define NV_PTE_OFFSET(addres, pg_mid_dir, pte) \ +- { \ +- pte = pte_offset_map(pg_mid_dir, address); \ +- NV_PMD_UNMAP(pg_mid_dir); \ +- } +-#define NV_PTE_UNMAP(pte) \ +- { \ +- pte_unmap(pte); \ +- } ++#define NV_PTE_OFFSET(address, pmd) \ ++ ({ \ ++ pte_t *__pte; \ ++ __pte = pte_offset_map(pmd, address); \ ++ NV_PMD_UNMAP(pmd); __pte; \ ++ }) ++#define NV_PTE_UNMAP(pte) pte_unmap(pte); + #endif + +-#define NV_PTE_PRESENT(pte) \ +- ({ \ +- if (pte) { \ +- if (!pte_present(*pte)) { \ +- NV_PTE_UNMAP(pte); pte = NULL; \ +- } \ +- } pte != NULL; \ ++#define NV_PTE_PRESENT(pte) \ ++ ({ \ ++ if ((pte != NULL) && !pte_present(*pte)) \ ++ { \ ++ NV_PTE_UNMAP(pte); \ ++ pte = NULL; /* mark invalid */ \ ++ } \ ++ pte != NULL; \ + }) + +-#define NV_PTE_VALUE(pte) \ +- ({ \ +- unsigned long __pte_value = pte_val(*pte); \ +- NV_PTE_UNMAP(pte); \ +- __pte_value; \ ++#define NV_PTE_VALUE(pte) \ ++ ({ \ ++ unsigned long __pte_value = pte_val(*pte); \ ++ NV_PTE_UNMAP(pte); \ ++ __pte_value; \ + }) + ++ + #define NV_PAGE_ALIGN(addr) ( ((addr) + PAGE_SIZE - 1) / PAGE_SIZE) + #define NV_MASK_OFFSET(addr) ( (addr) & (PAGE_SIZE - 1) ) + +diff -ru usr/src/nv/nv-vm.c usr/src/nv.1189413/nv-vm.c +--- usr/src/nv/nv-vm.c 2004-11-03 22:53:00.000000000 +0100 ++++ usr/src/nv.1189413/nv-vm.c 2005-01-07 15:43:22.000000000 +0100 +@@ -53,12 +53,13 @@ + * conflicts. we try to rely on the kernel's provided interfaces when possible, + * but need additional flushing on earlier kernels. + */ +- ++#if defined(KERNEL_2_4) + /* wrap CACHE_FLUSH so we can pass it to smp_call_function */ + static void cache_flush(void *p) + { + CACHE_FLUSH(); + } ++#endif + + /* + * 2.4 kernels handle flushing in the change_page_attr() call, but kernels +diff -ru usr/src/nv/nv.c usr/src/nv.1189413/nv.c +--- usr/src/nv/nv.c 2004-11-03 22:53:00.000000000 +0100 ++++ usr/src/nv.1189413/nv.c 2005-01-07 15:43:22.000000000 +0100 +@@ -2492,26 +2492,23 @@ + ) + { + struct mm_struct *mm; +- pgd_t *pg_dir; +- pmd_t *pg_mid_dir; +- pte_t *pte; ++ pgd_t *pgd = NULL; ++ pmd_t *pmd = NULL; ++ pte_t *pte = NULL; + unsigned long retval; + + mm = (kern) ? &init_mm : current->mm; + spin_lock(&mm->page_table_lock); + +- if (kern) pg_dir = pgd_offset_k(address); +- else pg_dir = pgd_offset(mm, address); +- +- if (!pg_dir || pgd_none(*pg_dir)) ++ pgd = NV_PGD_OFFSET(address, kern, mm); ++ if (!NV_PGD_PRESENT(pgd)) + goto failed; + +- NV_PMD_OFFSET(address, pg_dir, pg_mid_dir); +- if (!NV_PMD_PRESENT(pg_mid_dir)) ++ pmd = NV_PMD_OFFSET(address, pgd); ++ if (!NV_PMD_PRESENT(pmd)) + goto failed; + +- NV_PTE_OFFSET(address, pg_mid_dir, pte); +- ++ pte = NV_PTE_OFFSET(address, pmd); + if (!NV_PTE_PRESENT(pte)) + goto failed; + diff --git a/media-video/nvidia-glx/files/digest-nvidia-glx-1.0.6629 b/media-video/nvidia-kernel/files/digest-nvidia-kernel-1.0.6629-r2 index 9324510b4ef9..9324510b4ef9 100644 --- a/media-video/nvidia-glx/files/digest-nvidia-glx-1.0.6629 +++ b/media-video/nvidia-kernel/files/digest-nvidia-kernel-1.0.6629-r2 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 d27eeb3895e5..57ac32230a9c 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,6 +1,6 @@ -# Copyright 1999-2004 Gentoo Foundation +# Copyright 1999-2005 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.4 2004/12/05 12:45:35 johnm Exp $ +# $Header: /var/cvsroot/gentoo-x86/media-video/nvidia-kernel/nvidia-kernel-1.0.6111-r3.ebuild,v 1.5 2005/01/17 08:45:26 cyfred Exp $ inherit eutils linux-mod diff --git a/media-video/nvidia-kernel/nvidia-kernel-1.0.6629-r1.ebuild b/media-video/nvidia-kernel/nvidia-kernel-1.0.6629-r1.ebuild index 5b6dfe22f835..2aa5b945b311 100644 --- a/media-video/nvidia-kernel/nvidia-kernel-1.0.6629-r1.ebuild +++ b/media-video/nvidia-kernel/nvidia-kernel-1.0.6629-r1.ebuild @@ -1,6 +1,6 @@ -# Copyright 1999-2004 Gentoo Foundation +# Copyright 1999-2005 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-r1.ebuild,v 1.5 2005/01/10 21:49:39 jhuebel Exp $ +# $Header: /var/cvsroot/gentoo-x86/media-video/nvidia-kernel/nvidia-kernel-1.0.6629-r1.ebuild,v 1.6 2005/01/17 08:45:26 cyfred Exp $ inherit eutils linux-mod @@ -27,7 +27,7 @@ S="${WORKDIR}/${NV_PACKAGE}-${PKG_V}/usr/src/nv" LICENSE="NVIDIA" SLOT="0" -KEYWORDS="-* ~x86 amd64" +KEYWORDS="-* x86 amd64" RESTRICT="nostrip" IUSE="" diff --git a/media-video/nvidia-kernel/nvidia-kernel-1.0.6629-r2.ebuild b/media-video/nvidia-kernel/nvidia-kernel-1.0.6629-r2.ebuild new file mode 100644 index 000000000000..d7357c77f117 --- /dev/null +++ b/media-video/nvidia-kernel/nvidia-kernel-1.0.6629-r2.ebuild @@ -0,0 +1,139 @@ +# Copyright 1999-2005 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-r2.ebuild,v 1.1 2005/01/17 08:45:26 cyfred Exp $ + +inherit eutils linux-mod + +X86_PKG_V="pkg1" +AMD64_PKG_V="pkg2" +NV_V="${PV/1.0./1.0-}" +X86_NV_PACKAGE="NVIDIA-Linux-x86-${NV_V}" +AMD64_NV_PACKAGE="NVIDIA-Linux-x86_64-${NV_V}" + +DESCRIPTION="Linux kernel module for the NVIDIA X11 driver" +HOMEPAGE="http://www.nvidia.com/" +SRC_URI="x86? (ftp://download.nvidia.com/XFree86/Linux-x86/${NV_V}/${X86_NV_PACKAGE}-${X86_PKG_V}.run) + amd64? (http://download.nvidia.com/XFree86/Linux-x86_64/${NV_V}/${AMD64_NV_PACKAGE}-${AMD64_PKG_V}.run)" + +if use x86; then + PKG_V="${X86_PKG_V}" + NV_PACKAGE="${X86_NV_PACKAGE}" +elif use amd64; then + PKG_V="${AMD64_PKG_V}" + NV_PACKAGE="${AMD64_NV_PACKAGE}" +fi + +S="${WORKDIR}/${NV_PACKAGE}-${PKG_V}/usr/src/nv" + +LICENSE="NVIDIA" +SLOT="0" +KEYWORDS="-* ~x86 ~amd64" +RESTRICT="nostrip" +IUSE="" + +DEPEND="virtual/linux-sources" +export _POSIX2_VERSION="199209" + +MODULE_NAMES="nvidia(video:${S})" +BUILD_PARAMS="IGNORE_CC_MISMATCH=yes V=1 SYSSRC=${KV_DIR} SYSOUT=${KV_OUT_DIR}" + +mtrr_check() { + ebegin "Checking for MTRR support" + linux_chkconfig_present MTRR + eend $? + + if [ "$?" != 0 ] + 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" + eerror " [*] MTRR (Memory Type Range Register) support" + eerror + eerror "and recompile your kernel ..." + die "MTRR support not detected!" + fi +} + +pkg_setup() { + linux-mod_pkg_setup + mtrr_check; +} + +src_unpack() { + if [ ${KV_MINOR} -ge 6 -a ${KV_PATCH} -lt 7 ] + then + echo + ewarn "Your kernel version is ${KV_MAJOR}.${KV_MINOR}.${KV_PATCH}" + ewarn "This is not officially supported for ${P}. It is likely you" + ewarn "will not be able to compile or use the kernel module." + ewarn "It is recommended that you upgrade your kernel to a version >= 2.6.7" + echo + ewarn "DO NOT file bug reports for kernel versions less than 2.6.7 as they will be ignored." + fi + + cd ${WORKDIR} + bash ${DISTDIR}/${NV_PACKAGE}-${PKG_V}.run --extract-only + + # Add patches below, with a breif description. + cd ${S} + # 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 + + # Patches from Zander (http://www.minion.de/files/1.0-6629/) + epatch ${FILESDIR}/${PV}/NVIDIA_kernel-1.0-6629-1155389.patch + #epatch ${FILESDIR}/${PV}/NVIDIA_kernel-1.0-6629-1162524.patch + epatch ${FILESDIR}/${PV}/NVIDIA_kernel-1.0-6629-1165235.patch + epatch ${FILESDIR}/${PV}/NVIDIA_kernel-1.0-6629-1171869.patch + epatch ${FILESDIR}/${PV}/NVIDIA_kernel-1.0-6629-1175225.patch + epatch ${FILESDIR}/${PV}/NVIDIA_kernel-1.0-6629-1182399.patch + epatch ${FILESDIR}/${PV}/NVIDIA_kernel-1.0-6629-1189413.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 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}/NVIDIA_kernel-1.0-6629-1161283.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.* + + # if greater than 2.6.5 use M= instead of SUBDIR= + convert_to_m ${S}/Makefile.kbuild +} + +src_install() { + linux-mod_src_install + + # Add the aliases + sed -e 's:\${PACKAGE}:'${PF}':g' ${FILESDIR}/nvidia > ${WORKDIR}/nvidia + insinto /etc/modules.d + newins ${WORKDIR}/nvidia nvidia + + # Docs + dodoc ${S}/../../share/doc/README + + # The device creation script + into / + newsbin ${S}/makedevices.sh NVmakedevices.sh +} + +pkg_postinst() { + if [ "${ROOT}" = "/" ] && \ + [ ! -e /dev/.devfsd ] && \ + [ ! -e /dev/.udev ] && \ + [ -x /sbin/NVmakedevices.sh ] + then + /sbin/NVmakedevices.sh >/dev/null 2>&1 + fi + + linux-mod_pkg_postinst +} diff --git a/media-video/nvidia-settings/ChangeLog b/media-video/nvidia-settings/ChangeLog index 6b5dc2703963..b5471c5ecd9a 100644 --- a/media-video/nvidia-settings/ChangeLog +++ b/media-video/nvidia-settings/ChangeLog @@ -1,6 +1,10 @@ # ChangeLog for media-video/nvidia-settings -# Copyright 2000-2004 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/media-video/nvidia-settings/ChangeLog,v 1.8 2004/11/07 07:25:08 cyfred Exp $ +# Copyright 2000-2005 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/media-video/nvidia-settings/ChangeLog,v 1.9 2005/01/17 08:49:29 cyfred Exp $ + + 17 Jan 2005; Andrew Bevitt <cyfred@gentoo.org> + nvidia-settings-1.0.6629.ebuild: + Marking 6629 stable across archs *nvidia-settings-1.0.6629 (07 Nov 2004) diff --git a/media-video/nvidia-settings/nvidia-settings-1.0.6111.ebuild b/media-video/nvidia-settings/nvidia-settings-1.0.6111.ebuild index 9ad4f43419e3..5053e993582f 100644 --- a/media-video/nvidia-settings/nvidia-settings-1.0.6111.ebuild +++ b/media-video/nvidia-settings/nvidia-settings-1.0.6111.ebuild @@ -1,6 +1,6 @@ -# Copyright 1999-2004 Gentoo Foundation +# Copyright 1999-2005 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/media-video/nvidia-settings/nvidia-settings-1.0.6111.ebuild,v 1.2 2004/11/07 07:25:08 cyfred Exp $ +# $Header: /var/cvsroot/gentoo-x86/media-video/nvidia-settings/nvidia-settings-1.0.6111.ebuild,v 1.3 2005/01/17 08:49:29 cyfred Exp $ inherit eutils diff --git a/media-video/nvidia-settings/nvidia-settings-1.0.6629.ebuild b/media-video/nvidia-settings/nvidia-settings-1.0.6629.ebuild index b97b5a4543cf..9862d93d3e3f 100644 --- a/media-video/nvidia-settings/nvidia-settings-1.0.6629.ebuild +++ b/media-video/nvidia-settings/nvidia-settings-1.0.6629.ebuild @@ -1,6 +1,6 @@ -# Copyright 1999-2004 Gentoo Foundation +# Copyright 1999-2005 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/media-video/nvidia-settings/nvidia-settings-1.0.6629.ebuild,v 1.1 2004/11/07 07:25:08 cyfred Exp $ +# $Header: /var/cvsroot/gentoo-x86/media-video/nvidia-settings/nvidia-settings-1.0.6629.ebuild,v 1.2 2005/01/17 08:49:29 cyfred Exp $ inherit eutils @@ -12,7 +12,7 @@ S="${WORKDIR}/${PN}-1.0" LICENSE="GPL-2" SLOT="0" -KEYWORDS="-* ~x86 ~amd64" +KEYWORDS="-* x86 amd64" RESTRICT="" IUSE="" |