| 1 | # Copyright 1999-2007 Gentoo Foundation |
1 | # Copyright 1999-2008 Gentoo Foundation |
| 2 | # Distributed under the terms of the GNU General Public License v2 |
2 | # Distributed under the terms of the GNU General Public License v2 |
| 3 | # $Header: /var/cvsroot/gentoo-x86/eclass/nvidia-driver.eclass,v 1.9 2007/10/01 18:54:39 cardoe Exp $ |
3 | # $Header: /var/cvsroot/gentoo-x86/eclass/nvidia-driver.eclass,v 1.11 2008/02/14 20:30:53 cardoe Exp $ |
| 4 | |
4 | |
|
|
5 | # @ECLASS: nvidia-driver.eclass |
|
|
6 | # @MAINTAINER: Doug Klima <cardoe@gentoo.org> |
| 5 | # |
7 | # |
| 6 | # Original Author: Doug Goldstein <cardoe@gentoo.org> |
8 | # Original Author: Doug Klima <cardoe@gentoo.org> |
|
|
9 | # @BLURB: Provide useful messages for nvidia-drivers based on currently installed Nvidia card |
|
|
10 | # @DESCRIPTION: |
| 7 | # Purpose: Provide useful messages for nvidia-drivers based on currently |
11 | # Provide useful messages for nvidia-drivers based on currently installed Nvidia |
| 8 | # installed Nvidia card |
12 | # card. It inherits versionator |
| 9 | # |
13 | |
| 10 | inherit versionator |
14 | inherit versionator |
| 11 | |
15 | |
| 12 | DEPEND="sys-apps/pciutils" |
16 | DEPEND="sys-apps/pciutils" |
| 13 | |
17 | |
| 14 | # the data below is derived from |
18 | # the data below is derived from |
| … | |
… | |
| 20 | 028c" |
24 | 028c" |
| 21 | |
25 | |
| 22 | drv_71xx="0020 0028 0029 002c 002d 00a0 0100 0101 0103 0150 0151 0152 0153" |
26 | drv_71xx="0020 0028 0029 002c 002d 00a0 0100 0101 0103 0150 0151 0152 0153" |
| 23 | |
27 | |
| 24 | mask_96xx=">=x11-drivers/nvidia-drivers-97.0.0" |
28 | mask_96xx=">=x11-drivers/nvidia-drivers-97.0.0" |
| 25 | mask_71xx=">=x11-drivers/nvidia-drivers-72.0.0\n=x11-drivers/nvidia-1.0.9639" |
29 | mask_71xx=">=x11-drivers/nvidia-drivers-72.0.0" |
| 26 | |
30 | |
|
|
31 | # @FUNCTION: nvidia-driver-get-card |
|
|
32 | # @DESCRIPTION: |
| 27 | # Retrieve the PCI device ID for each Nvidia video card you have |
33 | # Retrieve the PCI device ID for each Nvidia video card you have |
| 28 | nvidia-driver-get-card() { |
34 | nvidia-driver-get-card() { |
| 29 | local NVIDIA_CARD="$(/usr/sbin/lspci -d 10de: -n | \ |
35 | local NVIDIA_CARD="$(/usr/sbin/lspci -d 10de: -n | \ |
| 30 | awk '/ 0300: /{print $3}' | cut -d: -f2 | tr '\n' ' ')" |
36 | awk '/ 0300: /{print $3}' | cut -d: -f2 | tr '\n' ' ')" |
| 31 | |
37 | |
| … | |
… | |
| 57 | |
63 | |
| 58 | echo ""; |
64 | echo ""; |
| 59 | return 1; |
65 | return 1; |
| 60 | } |
66 | } |
| 61 | |
67 | |
|
|
68 | # @FUNCTION: nvidia-driver-check-warning |
|
|
69 | # @DESCRIPTION: |
|
|
70 | # Prints out a warning if the driver does not work w/ the installed video card |
| 62 | nvidia-driver-check-warning() { |
71 | nvidia-driver-check-warning() { |
| 63 | local NVIDIA_MASK="$(nvidia-driver-get-mask)" |
72 | local NVIDIA_MASK="$(nvidia-driver-get-mask)" |
| 64 | if [ -n "$NVIDIA_MASK" ]; then |
73 | if [ -n "$NVIDIA_MASK" ]; then |
| 65 | version_compare "${NVIDIA_MASK##*-}" "${PV}" |
74 | version_compare "${NVIDIA_MASK##*-}" "${PV}" |
| 66 | r=$? |
75 | r=$? |