Magellan Linux

Annotation of /trunk/nonfree/nvidia-legacy-drivers/nvidia-legacy-drivers-1.0.9639-r5.smage2

Parent Directory Parent Directory | Revision Log Revision Log


Revision 4613 - (hide annotations) (download)
Fri Dec 25 22:37:04 2009 UTC (14 years, 5 months ago) by niro
File size: 7430 byte(s)
-moved to 'nonfree'
1 niro 2 # $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