Magellan Linux

Contents of /smage/trunk/core/mesa/mesa-7.11-r1.smage2

Parent Directory Parent Directory | Revision Log Revision Log


Revision 3071 - (show annotations) (download)
Thu Sep 8 08:27:53 2011 UTC (12 years, 9 months ago) by niro
File size: 13454 byte(s)
auto added: ver bump to 7.11-r1
1 # $Id$
2
3 PNAME="mesa"
4 PVER="7.11"
5 PBUILD="r1"
6
7 PCATEGORIE="media-libs"
8
9 SPLIT_PACKAGES="mesa
10 mesa-dev
11 mesa-dri-swrast
12 mesa-dri-i810
13 mesa-dri-i915
14 mesa-dri-i965
15 mesa-dri-mach64
16 mesa-dri-mga
17 mesa-dri-r128
18 mesa-dri-r200
19 mesa-dri-r300
20 mesa-dri-r600
21 mesa-dri-radeon
22 mesa-dri-savage
23 mesa-dri-sis
24 mesa-dri-tdfx
25 mesa-dri-unichrome
26 mesa-gallium-i915
27 mesa-gallium-i965
28 mesa-gallium-nouveau
29 mesa-gallium-r300
30 mesa-gallium-r600
31 mesa-gallium-swrast
32 mesa-gallium-vmwgfx"
33
34 HOMEPAGE="http://mesa3d.sourceforge.net/"
35
36 COMMON_DEPEND=">= dev-libs/expat-2
37 >= x11-libs/libX11-1.4
38 >= x11-libs/libXext-1.3
39 >= x11-libs/libXxf86vm-1.1
40 >= x11-libs/libXi-1.4
41 >= x11-libs/libXmu-1.1
42 >= x11-libs/libdrm-2.4.26
43 >= x11-libs/libICE-1
44 >= x11-libs/libXfixes-5
45 >= x11-libs/libXdamage-1.1"
46
47 SDEPEND="${COMMON_DEPEND}
48 >= dev-util/pkgconfig-0.25
49 >= x11-misc/makedepend-1
50 >= x11-proto/xf86vidmodeproto-2.3
51 >= x11-libs/libXxf86vm-1.1
52 >= x11-proto/glproto-1.4.9
53 >= x11-proto/inputproto-1
54 >= x11-proto/xextproto-7
55 >= x11-proto/xf86driproto-2
56 >= x11-proto/dri2proto-2.0
57 >= x11-proto/xproto-7
58 >= x11-proto/fixesproto-4
59 >= x11-proto/damageproto-1
60 >= dev-lang/python-2.7
61 >= dev-libs/libxml2-2.7"
62
63 # must be set before the include of multilib!
64 EMUL_LINUX_32=true
65 sminclude xorg mtools multilib cleanutils alx
66
67 # must be set *after* the include of xorg!
68 SRCFILE="MesaLib-${PVER/_/-}.tar.gz"
69 SRCDIR="${BUILDDIR}/Mesa-${PVER/_/-}"
70
71 SRC_URI=(
72 ftp://ftp.freedesktop.org/pub/mesa/${PVER}/${SRCFILE}
73 sourceforge://mesa3d/${SRCFILE}
74 mirror://${PNAME}/${SRCFILE}
75 mirror://${PNAME}/libGLU.la
76 mirror://${PNAME}/libGL.la
77 )
78
79 UP2DATE="updatecmd_sourceforge mesa3d MesaLib"
80
81 split_info_mesa()
82 {
83 DESCRIPTION="Mesa3D OpenGL graphics library."
84 DEPEND="${COMMON_DEPEND}"
85 PROVIDE="virtual/opengl"
86 }
87
88 split_info_mesa-dev()
89 {
90 DESCRIPTION="Development files for ${PCATEGORIE}/mesa-${PVER}."
91 DEPEND="== ${PCATEGORIE}/mesa-${PVER}"
92 }
93
94 split_info_mesa-dri-swrast()
95 {
96 DESCRIPTION="Mesa Software Raster DRI driver."
97 DEPEND="== ${PCATEGORIE}/mesa-${PVER}"
98 }
99
100 split_info_mesa-dri-i810()
101 {
102 DESCRIPTION="Mesa Intel i810 DRI driver."
103 DEPEND="== ${PCATEGORIE}/mesa-${PVER}"
104 }
105
106 split_info_mesa-dri-i915()
107 {
108 DESCRIPTION="Mesa Intel i915 DRI driver."
109 DEPEND="== ${PCATEGORIE}/mesa-${PVER}"
110 }
111
112 split_info_mesa-dri-i965()
113 {
114 DESCRIPTION="Mesa Intel i965 DRI driver."
115 DEPEND="== ${PCATEGORIE}/mesa-${PVER}"
116 }
117
118 split_info_mesa-dri-mach64()
119 {
120 DESCRIPTION="Mesa ATI mach64 DRI driver."
121 DEPEND="== ${PCATEGORIE}/mesa-${PVER}"
122 }
123
124 split_info_mesa-dri-mga()
125 {
126 DESCRIPTION="Mesa Matrox mga DRI driver."
127 DEPEND="== ${PCATEGORIE}/mesa-${PVER}"
128 }
129
130 split_info_mesa-dri-r128()
131 {
132 DESCRIPTION="Mesa ATI Rage128 DRI driver."
133 DEPEND="== ${PCATEGORIE}/mesa-${PVER}"
134 }
135
136 split_info_mesa-dri-r200()
137 {
138 DESCRIPTION="Mesa ATI Radeon r200 DRI driver."
139 DEPEND="== ${PCATEGORIE}/mesa-${PVER}"
140 }
141
142 split_info_mesa-dri-r300()
143 {
144 DESCRIPTION="Mesa ATI Radeon r300 DRI driver."
145 DEPEND="== ${PCATEGORIE}/mesa-${PVER}"
146 }
147
148 split_info_mesa-dri-r600()
149 {
150 DESCRIPTION="Mesa ATI Radeon r600 DRI driver."
151 DEPEND="== ${PCATEGORIE}/mesa-${PVER}"
152 }
153
154 split_info_mesa-dri-radeon()
155 {
156 DESCRIPTION="Mesa ATI Radeon generic DRI driver."
157 DEPEND="== ${PCATEGORIE}/mesa-${PVER}"
158 }
159
160 split_info_mesa-dri-savage()
161 {
162 DESCRIPTION="Mesa S3 Savage DRI driver."
163 DEPEND="== ${PCATEGORIE}/mesa-${PVER}"
164 }
165
166 split_info_mesa-dri-sis()
167 {
168 DESCRIPTION="Mesa SIS generic DRI driver."
169 DEPEND="== ${PCATEGORIE}/mesa-${PVER}"
170 }
171
172 split_info_mesa-dri-tdfx()
173 {
174 DESCRIPTION="Mesa 3DFX Voodoo DRI driver."
175 DEPEND="== ${PCATEGORIE}/mesa-${PVER}"
176 }
177
178 split_info_mesa-dri-unichrome()
179 {
180 DESCRIPTION="Mesa VIA Chrome DRI driver."
181 DEPEND="== ${PCATEGORIE}/mesa-${PVER}"
182 }
183
184 split_info_mesa-gallium-i915()
185 {
186 DESCRIPTION="Mesa Intel i915 Gallium driver."
187 DEPEND="== ${PCATEGORIE}/mesa-${PVER}"
188 }
189
190 split_info_mesa-gallium-i965()
191 {
192 DESCRIPTION="Mesa Intel i965 Gallium driver."
193 DEPEND="== ${PCATEGORIE}/mesa-${PVER}"
194 }
195
196 split_info_mesa-gallium-nouveau()
197 {
198 DESCRIPTION="Mesa Nvidia Nouveau Gallium driver."
199 DEPEND="== ${PCATEGORIE}/mesa-${PVER}"
200 }
201
202 split_info_mesa-gallium-r300()
203 {
204 DESCRIPTION="Mesa Ati Radeon r300 Gallium driver."
205 DEPEND="== ${PCATEGORIE}/mesa-${PVER}"
206 }
207
208 split_info_mesa-gallium-r600()
209 {
210 DESCRIPTION="Mesa Ati Radeon r600 Gallium driver."
211 DEPEND="== ${PCATEGORIE}/mesa-${PVER}"
212 }
213
214 split_info_mesa-gallium-swrast()
215 {
216 DESCRIPTION="Mesa Software Raster Gallium driver."
217 DEPEND="== ${PCATEGORIE}/mesa-${PVER}"
218 }
219
220 split_info_mesa-gallium-vmwgfx()
221 {
222 DESCRIPTION="Mesa Vmware generic Gallium driver."
223 DEPEND="== ${PCATEGORIE}/mesa-${PVER}"
224 }
225
226 src_prepare()
227 {
228 munpack ${SRCFILE} || die
229
230 # no debug code in the drives (gentoo)
231 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/" ;'
232
233 # get rid of glut includes
234 all-abis rm -f include/GL/glut*h || die
235 }
236
237 src_compile()
238 {
239 mconfigure \
240 --with-driver=dri \
241 --with-dri-driverdir=/usr/'$(mlibdir)'/dri \
242 --disable-debug \
243 --disable-glut \
244 --disable-ttm-api \
245 --without-demos \
246 --enable-glx-tls \
247 --enable-asm \
248 --enable-xcb \
249 --enable-glw \
250 --enable-egl \
251 --enable-gles1 \
252 --enable-gles2 \
253 --enable-galium-egl \
254 --enable-gallium-svga \
255 --enable-gallium-radeon \
256 --enable-gallium-r600 \
257 --enable-gallium-nouveau \
258 --enable-gallium-swrast \
259 --enable-gallium-i915 \
260 --enable-gallium-i965 \
261 --with-state-trackers=glx,dri,egl,vega \
262 || die
263
264 # only build software renderer on multilib arches
265 if [[ ${ARCH} = x86_64 ]]
266 then
267 only-m32 "echo 'DRI_DIRS =' >> configs/autoconf" || die
268 fi
269
270 mmake || die
271 }
272
273 src_install_mesa()
274 {
275 # needed directories
276 minstalldir /etc/env.d || die
277
278 mmake DESTDIR=${BINDIR} install || die
279
280 for abi in ${MULTILIB_ABIS}
281 do
282 [[ ${abi} = m32 ]] && ABI_LIBDIR="lib"
283 [[ ${abi} = m64 ]] && ABI_LIBDIR="lib64"
284 cd ${SRCDIR}-${abi}
285
286 # fix opengl-symlinks
287 # first remove invalid symlinks
288 find ${BINDIR}/usr/$(mlibdir) -name libGL\.* -type l | xargs rm -f
289 # now create required opengl-symlinks
290 mlink libGL.so.1.2 /usr/$(mlibdir)/libGL.so || die
291 mlink libGL.so.1.2 /usr/$(mlibdir)/libGL.so.1 || die
292
293 # create the two-number versioned libs (.so.#.#), since only .so.# and
294 # .so.#.#.# were made
295 local x
296 for x in ${BINDIR}/usr/$(mlibdir)/libGLU.so.*.*.* \
297 ${BINDIR}/usr/$(mlibdir)/libGLw.so.*.*.*
298 do
299 local lib_name_dot3="$(basename $(ls ${x}))"
300 local lib_name_dot2="${lib_name_dot3%.*}"
301 local lib_name_dot1="${lib_name_dot2%.*}"
302 local lib_name_dot0="${lib_name_dot1%.*}"
303 mlink ${lib_name_dot3} /usr/$(mlibdir)/${lib_name_dot2} || die "${x}"
304 mlink ${lib_name_dot3} /usr/$(mlibdir)/${lib_name_dot1} || die "${x}"
305 mlink ${lib_name_dot3} /usr/$(mlibdir)/${lib_name_dot0} || die "${x}"
306 done
307
308 # export LIBGL_DRIVER_PATH location.
309 # we are using '/usr/lib/dri' as hardcoded location.
310 # but nvidia and ati are using '/usr/$(mlibdir)/xorg/modules/dri'
311 # LIBGL_DRIVER_PATH overwrites the hardcoded location and
312 # if nvidia or ati driver are installed
313 # the dri modules will never be found by libGL
314 # use "LIBGL_DEBUG=verbose glxinfo" to check this issue
315 echo "LIBGL_DRIVERS_PATH=/usr/$(mlibdir)/dri" > ${BINDIR}/etc/env.d/09mesa-${abi} || die
316 done
317
318 # cleanup
319 zapmost ${BINDIR} etc/env.d usr/$(mlibdir)/*.so usr/$(mlibdir)/*.so.* \
320 usr/$(mlibdir)/opengl/xorg/lib/*.so usr/$(mlibdir)/opengl/xorg/lib/*.so.* \
321 $(if [[ $(mlibdir) != lib ]];then echo "usr/lib/*.so usr/lib/*.so.* usr/lib/opengl/xorg/lib/*.so usr/lib/opengl/xorg/lib/*.so.*"; fi) \
322 || die
323 }
324
325 src_install_mesa-dev()
326 {
327 mmake DESTDIR=${BINDIR} install || die
328
329 # missing gl headers
330 minstallfile src/glw/GLwDrawA.h /usr/include/GL || die
331
332 # remove private headers
333 rm -f ${BINDIR}/usr/include/GL/GLw*P.h || die
334
335 for abi in ${MULTILIB_ABIS}
336 do
337 [[ ${abi} = m32 ]] && ABI_LIBDIR="lib"
338 [[ ${abi} = m64 ]] && ABI_LIBDIR="lib64"
339 cd ${SRCDIR}-${abi}
340
341 # satisfy libtool
342 minstallfile -s libGLU.la /usr/$(mlibdir) || die
343
344 # fix libdir on 64bit arches
345 if [[ $(mlibdir) != lib ]]
346 then
347 sed -i "s:/usr/lib:/usr/$(mlibdir):g" ${BINDIR}/usr/$(mlibdir)/libGLU.la || die
348 fi
349 done
350
351 # cleanup
352 rm -r ${BINDIR}/usr/$(mlibdir)/*.so || die
353 rm -r ${BINDIR}/usr/$(mlibdir)/*.so.* || die
354 #rm -r ${BINDIR}/usr/$(mlibdir)/opengl/xorg/lib/*.so || die
355 #rm -r ${BINDIR}/usr/$(mlibdir)/opengl/xorg/lib/*.so.* || die
356 rm -r ${BINDIR}/usr/$(mlibdir)/dri || die
357 if [[ $(mlibdir) != lib ]]
358 then
359 rm -r ${BINDIR}/usr/lib/*.so || die
360 rm -r ${BINDIR}/usr/lib/*.so.* || die
361 #rm -r ${BINDIR}/usr/lib/opengl/xorg/lib/*.so || die
362 #rm -r ${BINDIR}/usr/lib/opengl/xorg/lib/*.so.* || die
363 rm -r ${BINDIR}/usr/lib/dri || die
364 fi
365 }
366 src_install_mesa-dri-swrast()
367 {
368 mmake -C src/mesa/drivers/dri/swrast DESTDIR=${BINDIR} install || die
369 # now setup dynamic dri
370 #setup_dynamic_dri classic || die
371 }
372
373 src_install_mesa-dri-i810()
374 {
375 mmake -C src/mesa/drivers/dri/i810 DESTDIR=${BINDIR} install || die
376 # now setup dynamic dri
377 #setup_dynamic_dri classic || die
378 }
379
380 src_install_mesa-dri-i915()
381 {
382 mmake -C src/mesa/drivers/dri/i915 DESTDIR=${BINDIR} install || die
383 # now setup dynamic dri
384 #setup_dynamic_dri classic || die
385 }
386
387 src_install_mesa-dri-i965()
388 {
389 mmake -C src/mesa/drivers/dri/i965 DESTDIR=${BINDIR} install || die
390 # now setup dynamic dri
391 #setup_dynamic_dri classic || die
392 }
393
394 src_install_mesa-dri-mach64()
395 {
396 mmake -C src/mesa/drivers/dri/mach64 DESTDIR=${BINDIR} install || die
397 # now setup dynamic dri
398 #setup_dynamic_dri classic || die
399 }
400
401 src_install_mesa-dri-mga()
402 {
403 mmake -C src/mesa/drivers/dri/mga DESTDIR=${BINDIR} install || die
404 # now setup dynamic dri
405 #setup_dynamic_dri classic || die
406 }
407
408 src_install_mesa-dri-r128()
409 {
410 mmake -C src/mesa/drivers/dri/r128 DESTDIR=${BINDIR} install || die
411 # now setup dynamic dri
412 #setup_dynamic_dri classic || die
413 }
414
415 src_install_mesa-dri-r200()
416 {
417 mmake -C src/mesa/drivers/dri/r200 DESTDIR=${BINDIR} install || die
418 # now setup dynamic dri
419 #setup_dynamic_dri classic || die
420 }
421
422 src_install_mesa-dri-r300()
423 {
424 mmake -C src/mesa/drivers/dri/r300 DESTDIR=${BINDIR} install || die
425 # now setup dynamic dri
426 #setup_dynamic_dri classic || die
427 }
428
429 src_install_mesa-dri-r600()
430 {
431 mmake -C src/mesa/drivers/dri/r600 DESTDIR=${BINDIR} install || die
432 # now setup dynamic dri
433 #setup_dynamic_dri classic || die
434 }
435
436 src_install_mesa-dri-radeon()
437 {
438 mmake -C src/mesa/drivers/dri/radeon DESTDIR=${BINDIR} install || die
439 # now setup dynamic dri
440 #setup_dynamic_dri classic || die
441 }
442
443 src_install_mesa-dri-savage()
444 {
445 mmake -C src/mesa/drivers/dri/savage DESTDIR=${BINDIR} install || die
446 # now setup dynamic dri
447 #setup_dynamic_dri classic || die
448 }
449
450 src_install_mesa-dri-sis()
451 {
452 mmake -C src/mesa/drivers/dri/sis DESTDIR=${BINDIR} install || die
453 # now setup dynamic dri
454 #setup_dynamic_dri classic || die
455 }
456
457 src_install_mesa-dri-tdfx()
458 {
459 mmake -C src/mesa/drivers/dri/tdfx DESTDIR=${BINDIR} install || die
460 # now setup dynamic dri
461 #setup_dynamic_dri classic || die
462 }
463
464 src_install_mesa-dri-unichrome()
465 {
466 mmake -C src/mesa/drivers/dri/unichrome DESTDIR=${BINDIR} install || die
467 # now setup dynamic dri
468 #setup_dynamic_dri classic || die
469 }
470
471 src_install_mesa-gallium-i915()
472 {
473 mmake -C src/gallium/targets/dri-i915 DESTDIR=${BINDIR} install || die
474 # now setup dynamic dri
475 #setup_dynamic_dri gallium || die
476 }
477
478 src_install_mesa-gallium-i965()
479 {
480 mmake -C src/gallium/targets/dri-i965 DESTDIR=${BINDIR} install || die
481 # now setup dynamic dri
482 #setup_dynamic_dri gallium || die
483 }
484
485 src_install_mesa-gallium-nouveau()
486 {
487 mmake -C src/gallium/targets/dri-nouveau DESTDIR=${BINDIR} install || die
488 # now setup dynamic dri
489 #setup_dynamic_dri gallium || die
490 }
491
492 src_install_mesa-gallium-r300()
493 {
494 mmake -C src/gallium/targets/dri-r300 DESTDIR=${BINDIR} install || die
495 # now setup dynamic dri
496 #setup_dynamic_dri gallium || die
497 }
498
499 src_install_mesa-gallium-r600()
500 {
501 mmake -C src/gallium/targets/dri-r600 DESTDIR=${BINDIR} install || die
502 # now setup dynamic dri
503 #setup_dynamic_dri gallium || die
504 }
505
506 src_install_mesa-gallium-swrast()
507 {
508 mmake -C src/gallium/targets/dri-swrast DESTDIR=${BINDIR} install || die
509 # now setup dynamic dri
510 #setup_dynamic_dri gallium || die
511 }
512
513 src_install_mesa-gallium-vmwgfx()
514 {
515 mmake -C src/gallium/targets/dri-vmwgfx DESTDIR=${BINDIR} install || die
516 # now setup dynamic dri
517 #setup_dynamic_dri gallium || die
518 }
519
520 # setup_dynamic_dri $impl
521 # impl may be classic or gallium atm
522 setup_dynamic_dri()
523 {
524 local impl="$1"
525 local i
526 local abi
527
528 [[ -z ${impl} ]] && die "missing dri implementation!"
529 case ${impl} in
530 classic|gallium) ;;
531 *) die "unkown dri implementation '${impl}'!" ;;
532 esac
533
534 echo "settin up dynamic dri for a '${impl} implementation..."
535 if [[ -z ${MULTILIB_ABIS} ]]
536 then
537 minstalldir /usr/$(mlibdir)/mesa/${impl} || die
538 for i in ${BINDIR}/usr/$(mlibdir)/dri/*_dri.so
539 do
540 echo -n " processing ${i}:"
541 if [ -f ${i} -o -L ${i} ]
542 then
543 echo -n " moving"
544 mv -vf ${i} ${BINDIR}/usr/$(mlibdir)/mesa/${impl} || die "moving ${i}"
545 fi
546 done
547 else
548 for abi in ${MULTILIB_ABIS}
549 do
550 [[ ${abi} = m32 ]] && ABI_LIBDIR="lib"
551 [[ ${abi} = m64 ]] && ABI_LIBDIR="lib64"
552
553 minstalldir /usr/$(mlibdir)/mesa/${impl} || die
554 for i in ${BINDIR}/usr/$(mlibdir)/dri/*_dri.so
555 do
556 echo -n " processing ${i}"
557 if [ -f ${i} -o -L ${i} ]
558 then
559 echo -n " moving"
560 mv -vf ${i} ${BINDIR}/usr/$(mlibdir)/mesa/${impl} || die "moving ${i}"
561 fi
562 echo " done"
563 done
564 done
565 fi
566 }