Contents of /trunk/extras/nvidia-legacy-drivers/nvidia-legacy-drivers-1.0.9639-r5.smage2
Parent Directory | Revision Log
Revision 2 -
(show annotations)
(download)
Fri Oct 10 13:29:42 2008 UTC (15 years, 11 months ago) by niro
File size: 7430 byte(s)
Fri Oct 10 13:29:42 2008 UTC (15 years, 11 months ago) by niro
File size: 7430 byte(s)
import repo
1 | # $Header: /magellan-cvs/smage/nvidia-legacy-drivers/nvidia-legacy-drivers-1.0.9639-r5.smage2,v 1.1 2008/02/16 11:59:09 niro Exp $ |
2 | |
3 | PNAME="nvidia-legacy-drivers" |
4 | PVER="1.0.9639" |
5 | PBUILD="r5" |
6 | |
7 | PCATEGORIE="x11-drivers" |
8 | STATE="unstable" |
9 | |
10 | DESCRIPTION="NVidia OpenGL legacy drivers for Xorg." |
11 | HOMEPAGE="http://www.nvidia.com/" |
12 | |
13 | # only for >= xorg-7.1.0 |
14 | sminclude xorg xorg71 mtools |
15 | |
16 | DEPEND=">= x11-base/xorg-server-1 |
17 | >= x11-base/opengl-update-magellan-2.2" |
18 | |
19 | SDEPEND=">= x11-proto/xf86miscproto-1 |
20 | >= x11-proto/xf86vidmodeproto-1" |
21 | |
22 | PROVIDE="virtual/opengl |
23 | virtual/nvidia-legacy-drivers" |
24 | |
25 | # both files must be fetch or our md5-logic breaks |
26 | SRCFILE_x86="NVIDIA-Linux-x86-${PVER/1.0./1.0-}-pkg0.run" |
27 | SRCFILE_x86_64="NVIDIA-Linux-x86_64-${PVER/1.0./1.0-}-pkg0.run" |
28 | # decide between x86 and x86_64 arch |
29 | SRCFILE="$(eval echo \$SRCFILE_${ARCH/i*86/x86})" |
30 | SRCDIR="${BUILDDIR}/NVIDIA-Linux-${ARCH/i*86/x86}-${PVER/1.0./1.0-}-pkg0" |
31 | |
32 | sminclude mtools |
33 | |
34 | SRC_URI=( |
35 | http://download.nvidia.com/XFree86/Linux-x86/${PVER/1.0./1.0-}/${SRCFILE_x86} |
36 | http://download.nvidia.com/XFree86/Linux-x86_64/${PVER/1.0./1.0-}/${SRCFILE_x86_64} |
37 | mirror://${PNAME}/${SRCFILE_x86} |
38 | mirror://${PNAME}/${SRCFILE_x86_64} |
39 | mirror://${PNAME/-legacy/}/libGL.la-r2 |
40 | mirror://${PNAME/-legacy/}/NVIDIA_glx-1.0.6629-defines.patch |
41 | mirror://${PNAME/-legacy/}/NVIDIA_glx-1.0.6629-glheader.patch |
42 | mirror://${PNAME}/NVIDIA_kernel-1.0-7167-disable-preempt-on-smp_processor_id.patch |
43 | mirror://${PNAME}/nvidia-legacy-module.sh |
44 | ) |
45 | |
46 | # this thingy don't like stripping |
47 | export CFLAGS="${CFLAGS/-s/}" |
48 | export CXXFLAGS="${CFLAGS}" |
49 | export NOSTRIP=true |
50 | |
51 | export _POSIX2_VERSION="199209" |
52 | |
53 | src_prepare() |
54 | { |
55 | # unpacking the package |
56 | cd ${BUILDDIR} |
57 | bash ${SOURCEDIR}/${PNAME}/${SRCFILE} --extract-only || die |
58 | cd ${SRCDIR} |
59 | |
60 | # use the correct defines to make gtkglext build work |
61 | mpatch NVIDIA_glx-1.0.6629-defines.patch || die |
62 | |
63 | # use some more sensible gl headers and make way for new glext.h |
64 | mpatch NVIDIA_glx-1.0.6629-glheader.patch || die |
65 | |
66 | cd ${SRCDIR}/usr/src/nv |
67 | # fix calling of smp_processor_id() when preempt is enabled |
68 | mpatch NVIDIA_kernel-1.0-7167-disable-preempt-on-smp_processor_id.patch || die |
69 | |
70 | # use M= instead of SUBDIRS= |
71 | sed -i 's:SUBDIRS=:M=:g' Makefile.kbuild || die |
72 | } |
73 | |
74 | # fake (needed with the include of xorg) |
75 | src_compile() { return 0; } |
76 | |
77 | src_install() |
78 | { |
79 | cd ${SRCDIR} |
80 | |
81 | # use driver for xorg-6.9.0 with dll-loader libs |
82 | local DLL_EXT="so" |
83 | local NV_ROOT="/usr/$(mlibdir)/opengl/nvidia" || die |
84 | |
85 | # the glx libraries |
86 | minstalldir ${NV_ROOT}/lib || die |
87 | minstallexec usr/lib/libGL.so.${PVER} ${NV_ROOT}/lib || die |
88 | minstallexec usr/lib/libGLcore.so.${PVER} ${NV_ROOT}/lib || die |
89 | mlink libGL.so.${PVER} ${NV_ROOT}/lib/libGL.so || die |
90 | mlink libGL.so.${PVER} ${NV_ROOT}/lib/libGL.so.1 || die |
91 | mlink libGLcore.so.${PVER} ${NV_ROOT}/lib/libGLcore.so || die |
92 | mlink libGLcore.so.${PVER} ${NV_ROOT}/lib/libGLcore.so.1 || die |
93 | |
94 | local NO_TLS_ROOT="/usr/$(mlibdir)/opengl/nvidia/no-tls" |
95 | minstalldir ${NO_TLS_ROOT} || die |
96 | |
97 | minstallexec usr/lib/libnvidia-tls.so.${PVER} ${NO_TLS_ROOT} || die |
98 | mlink libnvidia-tls.so.${PVER} ${NO_TLS_ROOT}/libnvidia-tls.so || die |
99 | mlink libnvidia-tls.so.${PVER} ${NO_TLS_ROOT}/libnvidia-tls.so.1 || die |
100 | |
101 | local TLS_ROOT="/usr/$(mlibdir)/opengl/nvidia/tls" |
102 | minstalldir ${TLS_ROOT} || die |
103 | minstallexec usr/lib/tls/libnvidia-tls.so.${PVER} ${TLS_ROOT} || die |
104 | mlink libnvidia-tls.so.${PVER} ${TLS_ROOT}/libnvidia-tls.so || die |
105 | mlink libnvidia-tls.so.${PVER} ${TLS_ROOT}/libnvidia-tls.so.1 || die |
106 | |
107 | # we want tls support |
108 | mlink ../tls/libnvidia-tls.so ${NV_ROOT}/lib || die |
109 | mlink ../tls/libnvidia-tls.so.1 ${NV_ROOT}/lib || die |
110 | mlink ../tls/libnvidia-tls.so.${PVER} ${NV_ROOT}/lib || die |
111 | |
112 | # not sure whether installing the .la file is neccessary; |
113 | local ver1="$(echo ${PVER} |cut -d '.' -f 1)" |
114 | local ver2="$(echo ${PVER} |cut -d '.' -f 2)" |
115 | local ver3="$(echo ${PVER} |cut -d '.' -f 3)" |
116 | sed -e "s:\${PVER}:${PVER}:" \ |
117 | -e "s:\${ver1}:${ver1}:" \ |
118 | -e "s:\${ver2}:${ver2}:" \ |
119 | -e "s:\${ver3}:${ver3}:" \ |
120 | ${SOURCEDIR}/${PNAME}/libGL.la-r2 > ${BINDIR}/${NV_ROOT}/lib/libGL.la || die |
121 | |
122 | # the x module |
123 | # since we moved away from libs in /usr/X11R6 need to check this |
124 | local X11_LIB_DIR="/usr/$(mlibdir)" |
125 | |
126 | minstalldir ${X11_LIB_DIR}/xorg/modules/drivers || die |
127 | if [ -f usr/X11R6/lib/modules/drivers/nvidia_drv.${DLL_EXT} ] |
128 | then |
129 | minstallexec usr/X11R6/lib/modules/drivers/nvidia_drv.${DLL_EXT} \ |
130 | ${X11_LIB_DIR}/xorg/modules/drivers || die |
131 | fi |
132 | |
133 | if [ -f usr/X11R6/libs/libXvMCNVIDIA.a ] |
134 | then |
135 | minstallfile usr/X11R6/lib/libXvMCNVIDIA.a ${X11_LIB_DIR} || die |
136 | fi |
137 | |
138 | if [ -f usr/X11R6/lib/libXvMCNVIDIA.so.${PVER} ] |
139 | then |
140 | minstallexec usr/X11R6/lib/libXvMCNVIDIA.so.${PVER} ${X11_LIB_DIR} || die |
141 | fi |
142 | |
143 | minstalldir ${NV_ROOT}/extensions || die |
144 | if [ -f usr/X11R6/lib/modules/extensions/libglx.so.${PVER} ] |
145 | then |
146 | minstallexec usr/X11R6/lib/modules/extensions/libglx.so.${PVER} \ |
147 | ${NV_ROOT}/extensions/libglx.so || die |
148 | fi |
149 | |
150 | # includes |
151 | minstalldir ${NV_ROOT}/include || die |
152 | install -m 0644 usr/include/GL/*.h ${BINDIR}${NV_ROOT}/include || die |
153 | |
154 | # install tls_test |
155 | minstalldir /usr/libexec/misc || die |
156 | minstallexec usr/bin/tls_test /usr/libexec/misc || die |
157 | minstallexec usr/bin/tls_test_dso.so /usr/libexec/misc || die |
158 | |
159 | # docs, remove nvidia-settings as provided by media-video/nvidia-settings |
160 | rm -f usr/share/doc/nvidia-settings* || die |
161 | minstalldocs usr/share/doc/* || die |
162 | |
163 | # nvidia want bug reports using this script |
164 | minstalldir /usr/bin || die |
165 | minstallexec usr/bin/nvidia-bug-report.sh || die |
166 | |
167 | # create a driver tarball |
168 | cd ${SRCDIR}/usr/src |
169 | minstalldir /usr/src/nvidia-legacy-drivers || die |
170 | mv ${SRCDIR}/usr/src/{nv,nvidia-legacy-drivers} || die |
171 | tar cvjf ${BINDIR}/usr/src/nvidia-legacy-drivers/nvidia-legacy-drivers-${PVER}.tar.bz2 nvidia-legacy-drivers/ || die |
172 | # install module-build script |
173 | minstallexec -s nvidia-legacy-module.sh /usr/src/nvidia-legacy-drivers || die |
174 | # fix pver in nvidia-module.sh |
175 | sed -i "s:@@PVER@@:${PVER}:" ${BINDIR}/usr/src/nvidia-legacy-drivers/nvidia-legacy-module.sh || die |
176 | } |
177 | |
178 | preinstall() |
179 | { |
180 | if [[ ! -z $(magequery -n nvidia-glx) ]] |
181 | then |
182 | echo -e ${COLRED} |
183 | echo -e "Error: media-video/nvidia-glx is installed!!" |
184 | echo -e "These legacy drivers and nvidia-glx cannot be installed at the same time." |
185 | echo -e "Please uninstall media-video/nvidia-glx first!" |
186 | echo -e ${COLDEFAULT} |
187 | die "nvidia-glx found!" |
188 | fi |
189 | |
190 | if [[ ! -z $(magequery -n nvidia-drivers) ]] |
191 | then |
192 | echo -e ${COLRED} |
193 | echo -e "Error: x11-drivers/nvidia-drivers is installed!!" |
194 | echo -e "These legacy drivers and nvidia-drivers cannot be installed at the same time." |
195 | echo -e "Please uninstall x11-drivers/nvidia-drivers first!" |
196 | echo -e ${COLDEFAULT} |
197 | die "nvidia-drivers found!" |
198 | fi |
199 | |
200 | # clean the dynamic libGL stuff's home to ensure |
201 | # we dont have stale libs floating around |
202 | if [[ -d ${MROOT}/usr/$(mlibdir)/opengl/nvidia ]] |
203 | then |
204 | rm -rf ${MROOT}/usr/$(mlibdir)/opengl/nvidia/* |
205 | fi |
206 | |
207 | # make sure we nuke the old nvidia-glx's env.d file |
208 | if [[ -e ${MROOT}/etc/env.d/09nvidia ]] |
209 | then |
210 | rm -f ${MROOT}/etc/env.d/09nvidia |
211 | fi |
212 | } |
213 | |
214 | postinstall() |
215 | { |
216 | # switch to the new installed nvidia implementation |
217 | ${MROOT}/usr/sbin/opengl-update nvidia |
218 | |
219 | echo |
220 | echo -e "1. Please switch your gl-extension with: " |
221 | echo -e "\t'opengl-update nvidia'" |
222 | echo |
223 | echo -e "2. Edit yout /etc/X11/xorg.conf," |
224 | echo -e " rename your VGA card driver to: 'nvidia'" |
225 | echo -e " and enable the glx-module 'Load \"glx\"." |
226 | echo |
227 | } |
Properties
Name | Value |
---|---|
svn:keywords | Id |