Magellan Linux

Contents of /branches/magellan-next/core/mesa/mesa-7.10.2-r1.smage2

Parent Directory Parent Directory | Revision Log Revision Log


Revision 7731 - (show annotations) (download)
Mon May 30 16:41:36 2011 UTC (12 years, 11 months ago) by niro
File size: 9309 byte(s)
auto added: ver bump to 7.10.2-r1
1 # $Id$
2
3 PNAME="mesa"
4 PVER="7.10.2"
5 PBUILD="r1"
6
7 STATE="unstable"
8
9 HOMEPAGE="http://mesa3d.sourceforge.net/"
10
11 MESA_DEPEND=">= dev-libs/expat-2
12 >= x11-libs/libX11-1.4
13 >= x11-libs/libXext-1.3
14 >= x11-libs/libXxf86vm-1.1
15 >= x11-libs/libXi-1.4
16 >= x11-libs/libXmu-1.1
17 >= x11-libs/libdrm-2.4.25
18 >= x11-libs/libICE-1
19 >= x11-base/opengl-update-magellan-2.2.13
20 >= x11-libs/libxcb-1
21 >= x11-libs/libXfixes-5
22 >= x11-libs/libXdamage-1"
23
24 MESA_PROGS_DEPEND=">= virtual/glut"
25
26 SDEPEND="${MESA_DEPEND}
27 ${MESA_PROGS_DEPEND}
28 >= dev-util/pkgconfig-0.25
29 >= x11-misc/makedepend-1
30 >= x11-proto/xf86vidmodeproto-2.3
31 >= x11-libs/libXxf86vm-1.1
32 >= x11-proto/glproto-1.4.12
33 >= x11-proto/inputproto-2
34 >= x11-proto/xextproto-7.2
35 >= x11-proto/xf86driproto-2.1
36 >= x11-proto/dri2proto-2.3
37 >= x11-proto/xcb-proto-1.6
38 >= x11-proto/xproto-7
39 >= x11-proto/fixesproto-5
40 >= x11-proto/damageproto-1.2"
41
42 # must be set before the include of multilib!
43 EMUL_LINUX_32=true
44 sminclude xorg mtools multilib
45
46 # must be set *after* the include of xorg!
47 SRCFILE="MesaLib-${PVER/_/-}.tar.bz2"
48 # libs SRCDIR
49 SRCDIR="${BUILDDIR}/Mesa-${PVER/_/-}"
50
51 SPLIT_PACKAGES="mesa
52 mesa-dri-swrast
53 mesa-dri-i810
54 mesa-dri-i915
55 mesa-dri-i965
56 mesa-dri-mach64
57 mesa-dri-mga
58 mesa-dri-r128
59 mesa-dri-r200
60 mesa-dri-r300
61 mesa-dri-r600
62 mesa-dri-radeon
63 mesa-dri-savage
64 mesa-dri-sis
65 mesa-dri-tdfx
66 mesa-dri-unichrome"
67
68 SRC_URI=(
69 ftp://ftp.freedesktop.org/pub/mesa/${PVER}/${SRCFILE}
70 sourceforge://mesa3d/${SRCFILE}
71 mirror://${PNAME}/${SRCFILE}
72 mirror://${PNAME}/libGLU.la
73 mirror://${PNAME}/libGL.la
74 )
75
76 UP2DATE="updatecmd ftp://ftp.freedesktop.org/pub/mesa/current | lasttarball"
77
78 split_info_mesa()
79 {
80 DESCRIPTION="Mesa3D OpenGL graphics library."
81 PCATEGORIE="media-libs"
82
83 DEPEND="${MESA_DEPEND}"
84
85 PROVIDE="virtual/opengl"
86
87 postinstall()
88 {
89 ${MROOT}/usr/sbin/opengl-update --use-old xorg
90 }
91 }
92
93 split_info_mesa-dri-swrast()
94 {
95 DESCRIPTION="Mesa Software Raster DRI driver."
96 DEPEND="== ${PCATEGORIE}/mesa-${PVER}"
97 }
98
99 split_info_mesa-dri-i810()
100 {
101 DESCRIPTION="Mesa Intel i810 DRI driver."
102 DEPEND="== ${PCATEGORIE}/mesa-${PVER}"
103 }
104
105 split_info_mesa-dri-i915()
106 {
107 DESCRIPTION="Mesa Intel i915 DRI driver."
108 DEPEND="== ${PCATEGORIE}/mesa-${PVER}"
109 }
110
111 split_info_mesa-dri-i965()
112 {
113 DESCRIPTION="Mesa Intel i965 DRI driver."
114 DEPEND="== ${PCATEGORIE}/mesa-${PVER}"
115 }
116
117 split_info_mesa-dri-mach64()
118 {
119 DESCRIPTION="Mesa ATI mach64 DRI driver."
120 DEPEND="== ${PCATEGORIE}/mesa-${PVER}"
121 }
122
123 split_info_mesa-dri-mga()
124 {
125 DESCRIPTION="Mesa Matrox mga DRI driver."
126 DEPEND="== ${PCATEGORIE}/mesa-${PVER}"
127 }
128
129 split_info_mesa-dri-r128()
130 {
131 DESCRIPTION="Mesa ATI Rage128 DRI driver."
132 DEPEND="== ${PCATEGORIE}/mesa-${PVER}"
133 }
134
135 split_info_mesa-dri-r200()
136 {
137 DESCRIPTION="Mesa ATI Radeon r200 DRI driver."
138 DEPEND="== ${PCATEGORIE}/mesa-${PVER}"
139 }
140
141 split_info_mesa-dri-r300()
142 {
143 DESCRIPTION="Mesa ATI Radeon r300 DRI driver."
144 DEPEND="== ${PCATEGORIE}/mesa-${PVER}"
145 }
146
147 split_info_mesa-dri-r600()
148 {
149 DESCRIPTION="Mesa ATI Radeon r600 DRI driver."
150 DEPEND="== ${PCATEGORIE}/mesa-${PVER}"
151 }
152
153 split_info_mesa-dri-radeon()
154 {
155 DESCRIPTION="Mesa ATI Radeon generic DRI driver."
156 DEPEND="== ${PCATEGORIE}/mesa-${PVER}"
157 }
158
159 split_info_mesa-dri-savage()
160 {
161 DESCRIPTION="Mesa S3 Savage DRI driver."
162 DEPEND="== ${PCATEGORIE}/mesa-${PVER}"
163 }
164
165 split_info_mesa-dri-sis()
166 {
167 DESCRIPTION="Mesa SIS generic DRI driver."
168 DEPEND="== ${PCATEGORIE}/mesa-${PVER}"
169 }
170
171 split_info_mesa-dri-tdfx()
172 {
173 DESCRIPTION="Mesa 3DFX Voodoo DRI driver."
174 DEPEND="== ${PCATEGORIE}/mesa-${PVER}"
175 }
176
177 split_info_mesa-dri-unichrome()
178 {
179 DESCRIPTION="Mesa VIA Chrome DRI driver."
180 DEPEND="== ${PCATEGORIE}/mesa-${PVER}"
181 }
182
183 src_prepare()
184 {
185 munpack ${SRCFILE} || die
186
187 # no debug code in the drives (gentoo)
188 all-abis 'find src/mesa/drivers/dri -name *.[hc] -exec egrep -l "\#define\W+DO_DEBUG\W+1" {} \; | xargs sed -i -re "s/\#define\W+DO_DEBUG\W+1/\#define DO_DEBUG 0/" ;'
189
190 # get rid of glut includes
191 all-abis rm -f include/GL/glut*h || die
192 }
193
194 src_compile()
195 {
196 # gallium is highly experimental, disabled atm!
197 mconfigure \
198 --with-driver=dri \
199 --with-dri-driverdir=/usr/'$(mlibdir)'/dri \
200 --disable-debug \
201 --disable-glut \
202 --disable-ttm-api \
203 --without-demos \
204 --enable-glx-tls \
205 --enable-asm \
206 --enable-xcb \
207 --enable-glw \
208 --enable-egl \
209 --enable-gles1 \
210 --enable-gles2 \
211 --enable-galium-egl \
212 --enable-gallium-svga \
213 --enable-gallium-radeon \
214 --enable-gallium-r600 \
215 --enable-gallium-nouveau \
216 --enable-gallium-swrast \
217 --enable-gallium-i915 \
218 --enable-gallium-i965 \
219 --with-state-trackers=glx,dri,egl,vega \
220 || die
221
222 # only build software renderer on multilib arches
223 if [[ ${ARCH} = x86_64 ]]
224 then
225 only-m32 "echo 'DRI_DIRS =' >> configs/autoconf" || die
226 fi
227
228 mmake -j1 || die
229 }
230
231 src_install_mesa()
232 {
233 # needed directories
234 minstalldir /etc/env.d || die
235
236 mmake DESTDIR=${BINDIR} install || die
237
238 # missing gl headers
239 minstallfile src/glw/GLwDrawA.h /usr/include/GL || die
240
241 # remove private headers
242 rm -f ${BINDIR}/usr/include/GL/GLw*P.h || die
243
244 for abi in ${MULTILIB_ABIS}
245 do
246 [[ ${abi} = m32 ]] && ABI_LIBDIR="lib"
247 [[ ${abi} = m64 ]] && ABI_LIBDIR="lib64"
248 cd ${SRCDIR}-${abi}
249
250 # fix opengl-symlinks
251 # first remove invalid symlinks
252 find ${BINDIR}/usr/$(mlibdir) -name libGL\.* -type l | xargs rm -f
253 # now create required opengl-symlinks
254 mlink libGL.so.1.2 /usr/$(mlibdir)/libGL.so || die
255 mlink libGL.so.1.2 /usr/$(mlibdir)/libGL.so.1 || die
256
257 # now setup dynamic opengl
258 minstalldir /usr/$(mlibdir)/opengl/xorg/lib || die
259 minstalldir /usr/$(mlibdir)/opengl/xorg/extensions || die
260 minstalldir /usr/$(mlibdir)/opengl/xorg/include || die
261
262 local x
263 for x in ${BINDIR}/usr/$(mlibdir)/libGL.so* \
264 ${BINDIR}/usr/$(mlibdir)/libGL.la \
265 ${BINDIR}/usr/$(mlibdir)/libGL.a
266 do
267 if [ -f ${x} -o -L ${x} ]
268 then
269 # libGL.a cause problems with tuxracer, etc
270 mv -f ${x} ${BINDIR}/usr/$(mlibdir)/opengl/xorg/lib || die "${x}"
271 fi
272 done
273 for x in ${BINDIR}/usr/include/GL/{gl.h,glx.h,glext.h,glxext.h}
274 do
275 if [ -f ${x} -o -L ${x} ]
276 then
277 mv -f ${x} ${BINDIR}/usr/$(mlibdir)/opengl/xorg/include || die "${x}"
278 fi
279 done
280
281 # satisfy libtool
282 minstallfile -s libGLU.la /usr/$(mlibdir) || die
283 minstallfile -s libGL.la /usr/$(mlibdir)/opengl/xorg/lib || die
284
285 # fix libdir on 64bit arches
286 if [[ $(mlibdir) != lib ]]
287 then
288 sed -i "s:/usr/lib:/usr/$(mlibdir):g" ${BINDIR}/usr/$(mlibdir)/libGLU.la || die
289 sed -i "s:/usr/lib:/usr/$(mlibdir):g" ${BINDIR}/usr/$(mlibdir)/opengl/xorg/lib/libGL.la || die
290 fi
291
292 # create the two-number versioned libs (.so.#.#), since only .so.# and
293 # .so.#.#.# were made
294 local x
295 for x in ${BINDIR}/usr/$(mlibdir)/libGLU.so.*.*.* \
296 ${BINDIR}/usr/$(mlibdir)/libGLw.so.*.*.*
297 do
298 local lib_name_dot3="$(basename $(ls ${x}))"
299 local lib_name_dot2="${lib_name_dot3%.*}"
300 local lib_name_dot1="${lib_name_dot2%.*}"
301 local lib_name_dot0="${lib_name_dot1%.*}"
302 mlink ${lib_name_dot3} /usr/$(mlibdir)/${lib_name_dot2} || die "${x}"
303 mlink ${lib_name_dot3} /usr/$(mlibdir)/${lib_name_dot1} || die "${x}"
304 mlink ${lib_name_dot3} /usr/$(mlibdir)/${lib_name_dot0} || die "${x}"
305 done
306
307 # export LIBGL_DRIVER_PATH location.
308 # we are using '/usr/lib/dri' as hardcoded location.
309 # but nvidia and ati are using '/usr/$(mlibdir)/xorg/modules/dri'
310 # LIBGL_DRIVER_PATH overwrites the hardcoded location and
311 # if nvidia or ati driver are installed
312 # the dri modules will never be found by libGL
313 # use "LIBGL_DEBUG=verbose glxinfo" to check this issue
314 echo "LIBGL_DRIVERS_PATH=/usr/$(mlibdir)/dri" > ${BINDIR}/etc/env.d/09mesa-${abi} || die
315 done
316
317 # remove dri-drivers
318 # rm -r ${BINDIR}/usr/$(mlibdir)/dri || die
319 # if [[ $(mlibdir) != lib ]]
320 # then
321 # rm -r ${BINDIR}/usr/lib/dri || die
322 # fi
323 }
324
325 src_install_mesa-dri-swrast()
326 {
327 mmake -C src/mesa/drivers/dri/swrast DESTDIR=${BINDIR} install || die
328 }
329
330 src_install_mesa-dri-i810()
331 {
332 mmake -C src/mesa/drivers/dri/i810 DESTDIR=${BINDIR} install || die
333 }
334
335 src_install_mesa-dri-i915()
336 {
337 mmake -C src/mesa/drivers/dri/i915 DESTDIR=${BINDIR} install || die
338 }
339
340 src_install_mesa-dri-i965()
341 {
342 mmake -C src/mesa/drivers/dri/i965 DESTDIR=${BINDIR} install || die
343 }
344
345 src_install_mesa-dri-mach64()
346 {
347 mmake -C src/mesa/drivers/dri/mach64 DESTDIR=${BINDIR} install || die
348 }
349 src_install_mesa-dri-mga()
350 {
351 mmake -C src/mesa/drivers/dri/mga DESTDIR=${BINDIR} install || die
352 }
353
354 src_install_mesa-dri-r128()
355 {
356 mmake -C src/mesa/drivers/dri/r128 DESTDIR=${BINDIR} install || die
357 }
358
359 src_install_mesa-dri-r200()
360 {
361 mmake -C src/mesa/drivers/dri/r200 DESTDIR=${BINDIR} install || die
362 }
363
364 src_install_mesa-dri-r300()
365 {
366 mmake -C src/mesa/drivers/dri/r300 DESTDIR=${BINDIR} install || die
367 }
368
369 src_install_mesa-dri-r600()
370 {
371 mmake -C src/mesa/drivers/dri/r600 DESTDIR=${BINDIR} install || die
372 }
373
374 src_install_mesa-dri-radeon()
375 {
376 mmake -C src/mesa/drivers/dri/radeon DESTDIR=${BINDIR} install || die
377 }
378
379 src_install_mesa-dri-savage()
380 {
381 mmake -C src/mesa/drivers/dri/savage DESTDIR=${BINDIR} install || die
382 }
383
384 src_install_mesa-dri-sis()
385 {
386 mmake -C src/mesa/drivers/dri/sis DESTDIR=${BINDIR} install || die
387 }
388
389 src_install_mesa-dri-tdfx()
390 {
391 mmake -C src/mesa/drivers/dri/tdfx DESTDIR=${BINDIR} install || die
392 }
393
394 src_install_mesa-dri-unichrome()
395 {
396 mmake -C src/mesa/drivers/dri/unichrome DESTDIR=${BINDIR} install || die
397 }
398