summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Bevitt <cyfred@gentoo.org>2005-01-17 08:49:29 +0000
committerAndrew Bevitt <cyfred@gentoo.org>2005-01-17 08:49:29 +0000
commit8c589f8750768c4c362e6c6239dcde1085f46e45 (patch)
treeafb11bbffbe9915a0f9b83ecfb39d193cd052ff3 /media-video
parentadd upcoming package kbstateapplet, from kdeaccessibility, to kde 3.4.0beta1 ... (diff)
downloadgentoo-2-8c589f8750768c4c362e6c6239dcde1085f46e45.tar.gz
gentoo-2-8c589f8750768c4c362e6c6239dcde1085f46e45.tar.bz2
gentoo-2-8c589f8750768c4c362e6c6239dcde1085f46e45.zip
Marking 6629 stable across archs
Diffstat (limited to 'media-video')
-rw-r--r--media-video/nvidia-glx/ChangeLog6
-rw-r--r--media-video/nvidia-glx/nvidia-glx-1.0.6629-r1.ebuild4
-rw-r--r--media-video/nvidia-glx/nvidia-glx-1.0.6629.ebuild183
-rw-r--r--media-video/nvidia-kernel/ChangeLog11
-rw-r--r--media-video/nvidia-kernel/Manifest23
-rw-r--r--media-video/nvidia-kernel/files/1.0.6629/NVIDIA_kernel-1.0-6629-1189413.patch222
-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.ebuild4
-rw-r--r--media-video/nvidia-kernel/nvidia-kernel-1.0.6629-r1.ebuild6
-rw-r--r--media-video/nvidia-kernel/nvidia-kernel-1.0.6629-r2.ebuild139
-rw-r--r--media-video/nvidia-settings/ChangeLog8
-rw-r--r--media-video/nvidia-settings/nvidia-settings-1.0.6111.ebuild4
-rw-r--r--media-video/nvidia-settings/nvidia-settings-1.0.6629.ebuild6
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=""