Magellan Linux

Contents of /trunk/core/mesa/mesa-8.0.3-r1.smage2

Parent Directory Parent Directory | Revision Log Revision Log


Revision 12802 - (show annotations) (download)
Tue Jul 3 13:36:25 2012 UTC (11 years, 11 months ago) by niro
File size: 19932 byte(s)
-marked unstable
1 # $Id$
2
3 PNAME="mesa"
4 PVER="8.0.3"
5 PBUILD="r1"
6
7 SPLIT_PACKAGES="mesa"
8
9 PCAT="media-libs"
10 STATE="unstable"
11
12 HOMEPAGE="http://mesa3d.sourceforge.net/"
13
14 MESA_DEPEND=">= dev-libs/expat-2
15 >= x11-libs/libX11-1.4
16 >= x11-libs/libXext-1.3
17 >= x11-libs/libXxf86vm-1.1
18 >= x11-libs/libXi-1.4
19 >= x11-libs/libXmu-1.1
20 >= x11-libs/libdrm-2.4.37
21 >= x11-libs/libICE-1
22 >= x11-base/opengl-update-magellan-2.2.18
23 >= x11-libs/libxcb-1
24 >= x11-libs/libXfixes-5
25 >= x11-libs/libXdamage-1
26 >= x11-libs/libvdpau-0.4.1
27 >= sys-libs/libstdc++-4.7
28 >= sys-fs/udev-185"
29 # >= x11-libs/libva-1.0.15
30
31 MESA_PROGS_DEPEND=">= virtual/glut"
32
33 SDEPEND="${MESA_DEPEND}
34 ${MESA_PROGS_DEPEND}
35 >= dev-util/pkgconfig-0.25
36 >= x11-misc/makedepend-1
37 >= x11-proto/xf86vidmodeproto-2.3
38 >= x11-libs/libXxf86vm-1.1
39 >= x11-proto/glproto-1.4.12
40 >= x11-proto/inputproto-2
41 >= x11-proto/xextproto-7.2
42 >= x11-proto/xf86driproto-2.1
43 >= x11-proto/dri2proto-2.3
44 >= x11-proto/xcb-proto-1.6
45 >= x11-proto/xproto-7
46 >= x11-proto/fixesproto-5
47 >= x11-proto/damageproto-1.2
48 >= dev-lang/python-2.7
49 >= sys-dev/llvm-3.1"
50
51 # must be set before the include of multilib!
52 EMUL_LINUX_32=true
53 sminclude xorg mtools multilib
54
55 # must be set *after* the include of xorg!
56 SRCFILE="MesaLib-${PVER/_/-}.tar.bz2"
57 # libs SRCDIR
58 SRCDIR="${BUILDDIR}/Mesa-${PVER/_/-}"
59
60 # known drivers:
61 # dri: dri-swrast,dri-i915,dri-i965,dri-r200,dri-radeon,dri-i810,dri-mach64,dri-mga,
62 # dri-r128,dri-r300,dri-r600,dri-savage,dri-sis,dri-tdfx,dri-unichrome
63 # gallium: gallium-i915,gallium-i965,gallium-r300,gallium-r600,gallium-vmwgfx,gallium-swrast,gallium-nouveau
64 # gallium-nouveau not supported with >=libdrm-2.3.34 atm, nouveau_bo.h is missing
65 MESA_DRIVERS="dri-swrast,dri-i915,dri-i965,dri-r200,dri-radeon"
66 MESA_DRIVERS+=",gallium-i915,gallium-r300,gallium-r600,gallium-vmwgfx,gallium-swrast"
67
68 # helper functions
69 driver_enabled()
70 {
71 local driver="$1"
72
73 if [[ ${MESA_DRIVERS//${driver}} != ${MESA_DRIVERS} ]]
74 then
75 return 0
76 else
77 return 1
78 fi
79 }
80
81 add_dri_driver()
82 {
83 local driver="$1"
84
85 if [[ -z ${MESA_DRI_DRIVERS} ]]
86 then
87 MESA_DRI_DRIVERS="${driver}"
88 elif [[ ${MESA_DRI_DRIVERS//${driver}} = ${MESA_DRI_DRIVERS} ]]
89 then
90 MESA_DRI_DRIVERS+=",${driver}"
91 fi
92 }
93
94 add_gallium_driver()
95 {
96 local driver="$1"
97
98 if [[ -z ${MESA_GALLIUM_DRIVERS} ]]
99 then
100 MESA_GALLIUM_DRIVERS="${driver}"
101 elif [[ ${MESA_GALLIUM_DRIVERS//${driver}} = ${MESA_GALLIUM_DRIVERS} ]]
102 then
103 MESA_GALLIUM_DRIVERS+=",${driver}"
104 fi
105 }
106
107 SRC_URI=(
108 ftp://ftp.freedesktop.org/pub/mesa/${PVER%_*}/${SRCFILE}
109 #sourceforge://mesa3d/${SRCFILE}
110 mirror://${PNAME}/${SRCFILE}
111 mirror://${PNAME}/libGLU.la
112 mirror://${PNAME}/libGL.la
113 mirror://${PNAME}/${PNAME}-8.0.2-multilib.patch
114 mirror://${PNAME}/${PNAME}-8.0.3-llvm31.patch
115 )
116
117 UP2DATE="updatecmd ftp://ftp.freedesktop.org/pub/mesa/current | lasttarball"
118
119 split_info_mesa()
120 {
121 DESCRIPTION="Mesa3D OpenGL graphics library."
122 DEPEND="${MESA_DEPEND}"
123
124 PROVIDE="virtual/opengl"
125 }
126
127 if driver_enabled dri-swrast
128 then
129 SPLIT_PACKAGES+=" mesa-dri-swrast"
130 add_dri_driver swrast
131
132 split_info_mesa-dri-swrast()
133 {
134 DESCRIPTION="Mesa Software Raster DRI driver."
135 DEPEND="== ${PCAT}/mesa-${PVER}"
136 }
137 fi
138
139 if driver_enabled dri-i810
140 then
141 SPLIT_PACKAGES+=" mesa-dri-i810"
142 add_dri_driver i810
143
144 split_info_mesa-dri-i810()
145 {
146 DESCRIPTION="Mesa Intel i810 DRI driver."
147 DEPEND="== ${PCAT}/mesa-${PVER}"
148 }
149 fi
150
151 if driver_enabled dri-i915
152 then
153 SPLIT_PACKAGES+=" mesa-dri-i915"
154 add_dri_driver i915
155
156 split_info_mesa-dri-i915()
157 {
158 DESCRIPTION="Mesa Intel i915 DRI driver."
159 DEPEND="== ${PCAT}/mesa-${PVER}"
160 }
161 fi
162
163 if driver_enabled dri-i965
164 then
165 SPLIT_PACKAGES+=" mesa-dri-i965"
166 add_dri_driver i965
167
168 split_info_mesa-dri-i965()
169 {
170 DESCRIPTION="Mesa Intel i965 DRI driver."
171 DEPEND="== ${PCAT}/mesa-${PVER}"
172 }
173 fi
174
175 if driver_enabled dri-mach64
176 then
177 SPLIT_PACKAGES+=" mesa-dri-mach64"
178 add_dri_driver mach64
179
180 split_info_mesa-dri-mach64()
181 {
182 DESCRIPTION="Mesa ATI mach64 DRI driver."
183 DEPEND="== ${PCAT}/mesa-${PVER}"
184 }
185 fi
186
187 if driver_enabled dri-mga
188 then
189 SPLIT_PACKAGES+=" mesa-dri-mga"
190 add_dri_driver mga
191
192 split_info_mesa-dri-mga()
193 {
194 DESCRIPTION="Mesa Matrox mga DRI driver."
195 DEPEND="== ${PCAT}/mesa-${PVER}"
196 }
197 fi
198
199 if driver_enabled dri-r128
200 then
201 SPLIT_PACKAGES+=" mesa-dri-r128"
202 add_dri_driver r128
203
204 split_info_mesa-dri-r128()
205 {
206 DESCRIPTION="Mesa ATI Rage128 DRI driver."
207 DEPEND="== ${PCAT}/mesa-${PVER}"
208 }
209 fi
210
211 if driver_enabled dri-r200
212 then
213 SPLIT_PACKAGES+=" mesa-dri-r200"
214 add_dri_driver r200
215
216 split_info_mesa-dri-r200()
217 {
218 DESCRIPTION="Mesa ATI Radeon r200 DRI driver."
219 DEPEND="== ${PCAT}/mesa-${PVER}"
220 }
221 fi
222
223 if driver_enabled dri-r300
224 then
225 SPLIT_PACKAGES+=" mesa-dri-r300"
226 add_dri_driver r300
227
228 split_info_mesa-dri-r300()
229 {
230 DESCRIPTION="Mesa ATI Radeon r300 DRI driver."
231 DEPEND="== ${PCAT}/mesa-${PVER}"
232 }
233 fi
234
235 if driver_enabled dri-r600
236 then
237 SPLIT_PACKAGES+=" mesa-dri-r600"
238 add_dri_driver r600
239
240 split_info_mesa-dri-r600()
241 {
242 DESCRIPTION="Mesa ATI Radeon r600 DRI driver."
243 DEPEND="== ${PCAT}/mesa-${PVER}"
244 }
245 fi
246
247 if driver_enabled dri-radeon
248 then
249 SPLIT_PACKAGES+=" mesa-dri-radeon"
250 add_dri_driver radeon
251
252 split_info_mesa-dri-radeon()
253 {
254 DESCRIPTION="Mesa ATI Radeon generic DRI driver."
255 DEPEND="== ${PCAT}/mesa-${PVER}"
256 }
257 fi
258
259 if driver_enabled dri-savage
260 then
261 SPLIT_PACKAGES+=" mesa-dri-savage"
262 add_dri_driver savage
263
264 split_info_mesa-dri-savage()
265 {
266 DESCRIPTION="Mesa S3 Savage DRI driver."
267 DEPEND="== ${PCAT}/mesa-${PVER}"
268 }
269 fi
270
271 if driver_enabled dri-sis
272 then
273 SPLIT_PACKAGES+=" mesa-dri-sis"
274 add_dri_driver sis
275
276 split_info_mesa-dri-sis()
277 {
278 DESCRIPTION="Mesa SIS generic DRI driver."
279 DEPEND="== ${PCAT}/mesa-${PVER}"
280 }
281 fi
282
283 if driver_enabled dri-tdfx
284 then
285 SPLIT_PACKAGES+=" mesa-dri-tdfx"
286 add_dri_driver tdfx
287
288 split_info_mesa-dri-tdfx()
289 {
290 DESCRIPTION="Mesa 3DFX Voodoo DRI driver."
291 DEPEND="== ${PCAT}/mesa-${PVER}"
292 }
293 fi
294
295 if driver_enabled dri-unichrome
296 then
297 SPLIT_PACKAGES+=" mesa-dri-unichrome"
298 add_dri_driver unichrome
299
300 split_info_mesa-dri-unichrome()
301 {
302 DESCRIPTION="Mesa VIA Chrome DRI driver."
303 DEPEND="== ${PCAT}/mesa-${PVER}"
304 }
305 fi
306
307 if driver_enabled gallium-i915
308 then
309 SPLIT_PACKAGES+=" mesa-gallium-i915"
310 add_gallium_driver i915
311
312 split_info_mesa-gallium-i915()
313 {
314 DESCRIPTION="Mesa Intel i915 Gallium driver."
315 DEPEND="== ${PCAT}/mesa-${PVER}"
316 }
317 fi
318
319 if driver_enabled gallium-i965
320 then
321 SPLIT_PACKAGES+=" mesa-gallium-i965"
322 add_gallium_driver i965
323
324 split_info_mesa-gallium-i965()
325 {
326 DESCRIPTION="Mesa Intel i965 Gallium driver."
327 DEPEND="== ${PCAT}/mesa-${PVER}"
328 }
329 fi
330
331 if driver_enabled gallium-nouveau
332 then
333 SPLIT_PACKAGES+=" mesa-gallium-nouveau"
334 add_gallium_driver nouveau
335
336 split_info_mesa-gallium-nouveau()
337 {
338 DESCRIPTION="Mesa Nvidia Nouveau Gallium driver."
339 DEPEND="== ${PCAT}/mesa-${PVER}"
340 }
341 fi
342
343 if driver_enabled gallium-r300
344 then
345 SPLIT_PACKAGES+=" mesa-gallium-r300"
346 add_gallium_driver r300
347
348 split_info_mesa-gallium-r300()
349 {
350 DESCRIPTION="Mesa Ati Radeon r300 Gallium driver."
351 DEPEND="== ${PCAT}/mesa-${PVER}"
352 }
353 fi
354
355 if driver_enabled gallium-r600
356 then
357 SPLIT_PACKAGES+=" mesa-gallium-r600"
358 add_gallium_driver r600
359
360 split_info_mesa-gallium-r600()
361 {
362 DESCRIPTION="Mesa Ati Radeon r600 Gallium driver."
363 DEPEND="== ${PCAT}/mesa-${PVER}"
364 }
365 fi
366
367 if driver_enabled gallium-swrast
368 then
369 SPLIT_PACKAGES+=" mesa-gallium-swrast"
370 add_gallium_driver swrast
371
372 split_info_mesa-gallium-swrast()
373 {
374 DESCRIPTION="Mesa Software Raster Gallium driver."
375 DEPEND="== ${PCAT}/mesa-${PVER}"
376 }
377 fi
378
379 if driver_enabled gallium-vmwgfx
380 then
381 SPLIT_PACKAGES+=" mesa-gallium-vmwgfx"
382 add_gallium_driver svga
383
384 split_info_mesa-gallium-vmwgfx()
385 {
386 DESCRIPTION="Mesa Vmware generic Gallium driver."
387 DEPEND="== ${PCAT}/mesa-${PVER}"
388 }
389 fi
390
391 src_prepare()
392 {
393 munpack ${SRCFILE} || die
394
395 # fix multilib ftbfs
396 mpatch ${PNAME}-8.0.2-multilib.patch || die
397
398 # fix ftbfs with llvm-3.1
399 mpatch ${PNAME}-8.0.3-llvm31.patch || die
400
401 # no debug code in the drives (gentoo)
402 all-abis 'find src/mesa/drivers/dri -name *.[hc] -exec egrep -l "\#define\W+DO_DEBUG\W+1" {} \; | xargs --no-run-if-empty sed -i -re "s/\#define\W+DO_DEBUG\W+1/\#define DO_DEBUG 0/" ;'
403
404 # get rid of glut includes
405 all-abis rm -f include/GL/glut*h || die
406
407 # fix an error in the libva detection
408 # all-abis 'sed -i "s:libva = 0.31.1:libva >= 0.31.1:" configure.ac' || die
409
410 mautoreconf || die
411 }
412
413 src_compile()
414 {
415 # svga=vmwgfx
416 mconfigure \
417 --with-driver=dri \
418 --with-dri-driverdir=/usr/'$(mlibdir)'/dri \
419 --with-dri-drivers=${MESA_DRI_DRIVERS} \
420 --with-gallium-drivers=${MESA_GALLIUM_DRIVERS} \
421 --disable-debug \
422 --enable-glx-tls \
423 --enable-asm \
424 --enable-shared-glapi \
425 --enable-shared-dricore \
426 --enable-egl \
427 --enable-gles1 \
428 --enable-gles2 \
429 --enable-xa \
430 --enable-gallium-egl \
431 --enable-gallium-llvm \
432 --enable-vdpau \
433 || die
434 # --enable-va \
435
436 # only build software renderer on multilib arches
437 if [[ ${ARCH} = x86_64 ]]
438 then
439 only-m32 "echo 'DRI_DIRS =' >> configs/autoconf" || die
440 fi
441
442 mmake -j1 || die
443 }
444
445 src_install_mesa()
446 {
447 mmake DESTDIR=${BINDIR} install || die
448
449 # # missing gl headers
450 # minstallfile src/glw/GLwDrawA.h /usr/include/GL || die
451 #
452 # # remove private headers
453 # rm -f ${BINDIR}/usr/include/GL/GLw*P.h || die
454
455 for abi in ${MULTILIB_ABIS}
456 do
457 [[ ${abi} = m32 ]] && ABI_LIBDIR="lib"
458 [[ ${abi} = m64 ]] && ABI_LIBDIR="lib64"
459 cd ${SRCDIR}-${abi}
460
461 # fix opengl-symlinks
462 # first remove invalid symlinks
463 find ${BINDIR}/usr/$(mlibdir) -name libGL\.* -type l | xargs rm -f
464 # now create required opengl-symlinks
465 mlink libGL.so.1.2 /usr/$(mlibdir)/libGL.so || die
466 mlink libGL.so.1.2 /usr/$(mlibdir)/libGL.so.1 || die
467
468 # now setup dynamic opengl
469 minstalldir /usr/$(mlibdir)/opengl/xorg/lib || die
470 minstalldir /usr/$(mlibdir)/opengl/xorg/extensions || die
471 minstalldir /usr/$(mlibdir)/opengl/xorg/include || die
472
473 local x
474 for x in ${BINDIR}/usr/$(mlibdir)/libGL.so* \
475 ${BINDIR}/usr/$(mlibdir)/libGL.la \
476 ${BINDIR}/usr/$(mlibdir)/libGL.a
477 do
478 if [ -f ${x} -o -L ${x} ]
479 then
480 # libGL.a cause problems with tuxracer, etc
481 mv -f ${x} ${BINDIR}/usr/$(mlibdir)/opengl/xorg/lib || die "${x}"
482 fi
483 done
484 for x in ${BINDIR}/usr/include/GL/{gl.h,glx.h,glext.h,glxext.h}
485 do
486 if [ -f ${x} -o -L ${x} ]
487 then
488 mv -f ${x} ${BINDIR}/usr/$(mlibdir)/opengl/xorg/include || die "${x}"
489 fi
490 done
491
492 # satisfy libtool
493 minstallfile -s libGLU.la /usr/$(mlibdir) || die
494 minstallfile -s libGL.la /usr/$(mlibdir)/opengl/xorg/lib || die
495
496 # fix libdir on 64bit arches
497 if [[ $(mlibdir) != lib ]]
498 then
499 sed -i "s:/usr/lib:/usr/$(mlibdir):g" ${BINDIR}/usr/$(mlibdir)/libGLU.la || die
500 sed -i "s:/usr/lib:/usr/$(mlibdir):g" ${BINDIR}/usr/$(mlibdir)/opengl/xorg/lib/libGL.la || die
501 fi
502
503 # create the two-number versioned libs (.so.#.#), since only .so.# and
504 # .so.#.#.# were made
505 local x
506 # for x in ${BINDIR}/usr/$(mlibdir)/libGLU.so.*.*.* \
507 # ${BINDIR}/usr/$(mlibdir)/libGLw.so.*.*.*
508 for x in ${BINDIR}/usr/$(mlibdir)/libGLU.so.*.*.*
509 do
510 local lib_name_dot3="$(basename $(ls ${x}))"
511 local lib_name_dot2="${lib_name_dot3%.*}"
512 local lib_name_dot1="${lib_name_dot2%.*}"
513 local lib_name_dot0="${lib_name_dot1%.*}"
514 mlink ${lib_name_dot3} /usr/$(mlibdir)/${lib_name_dot2} || die "${x}"
515 mlink ${lib_name_dot3} /usr/$(mlibdir)/${lib_name_dot1} || die "${x}"
516 mlink ${lib_name_dot3} /usr/$(mlibdir)/${lib_name_dot0} || die "${x}"
517 done
518
519 # export LIBGL_DRIVER_PATH location.
520 # we are using '/usr/lib/dri' as hardcoded location.
521 # but nvidia and ati are using '/usr/$(mlibdir)/xorg/modules/dri'
522 # LIBGL_DRIVER_PATH overwrites the hardcoded location and
523 # if nvidia or ati driver are installed
524 # the dri modules will never be found by libGL
525 # use "LIBGL_DEBUG=verbose glxinfo" to check this issue
526 minstalldir /etc/env.d || die
527 MCONFIG=/etc/env.d/09mesa-${abi}
528 mclearconfig || die
529 maddconfig "LIBGL_DRIVERS_PATH=/usr/$(mlibdir)/dri" || die
530
531 # remove dri-drivers, they are in extra packages
532 rm -r ${BINDIR}/usr/$(mlibdir)/dri/*_dri.so || die
533 done
534 }
535
536 if driver_enabled dri-swrast
537 then
538 src_install_mesa-dri-swrast()
539 {
540 mmake -C src/mesa/drivers/dri/swrast DESTDIR=${BINDIR} install || die
541 setup_dynamic_dri classic || die
542 }
543 fi
544
545 if driver_enabled dri-i810
546 then
547 src_install_mesa-dri-i810()
548 {
549 mmake -C src/mesa/drivers/dri/i810 DESTDIR=${BINDIR} install || die
550 setup_dynamic_dri classic || die
551 }
552 fi
553
554 if driver_enabled dri-i915
555 then
556 src_install_mesa-dri-i915()
557 {
558 mmake -C src/mesa/drivers/dri/i915 DESTDIR=${BINDIR} install || die
559 setup_dynamic_dri classic || die
560 }
561 fi
562
563 if driver_enabled dri-i965
564 then
565 src_install_mesa-dri-i965()
566 {
567 mmake -C src/mesa/drivers/dri/i965 DESTDIR=${BINDIR} install || die
568 setup_dynamic_dri classic || die
569 }
570 fi
571
572 if driver_enabled dri-mach64
573 then
574 src_install_mesa-dri-mach64()
575 {
576 mmake -C src/mesa/drivers/dri/mach64 DESTDIR=${BINDIR} install || die
577 setup_dynamic_dri classic || die
578 }
579 fi
580
581 if driver_enabled dri-mga
582 then
583 src_install_mesa-dri-mga()
584 {
585 mmake -C src/mesa/drivers/dri/mga DESTDIR=${BINDIR} install || die
586 setup_dynamic_dri classic || die
587 }
588 fi
589
590 if driver_enabled dri-r128
591 then
592 src_install_mesa-dri-r128()
593 {
594 mmake -C src/mesa/drivers/dri/r128 DESTDIR=${BINDIR} install || die
595 setup_dynamic_dri classic || die
596 }
597 fi
598
599 if driver_enabled dri-r200
600 then
601 src_install_mesa-dri-r200()
602 {
603 mmake -C src/mesa/drivers/dri/r200 DESTDIR=${BINDIR} install || die
604 setup_dynamic_dri classic || die
605 }
606 fi
607
608 if driver_enabled dri-r300
609 then
610 src_install_mesa-dri-r300()
611 {
612 mmake -C src/mesa/drivers/dri/r300 DESTDIR=${BINDIR} install || die
613 setup_dynamic_dri classic || die
614 }
615 fi
616
617 if driver_enabled dri-r600
618 then
619 src_install_mesa-dri-r600()
620 {
621 mmake -C src/mesa/drivers/dri/r600 DESTDIR=${BINDIR} install || die
622 setup_dynamic_dri classic || die
623 }
624 fi
625
626 if driver_enabled dri-radeon
627 then
628 src_install_mesa-dri-radeon()
629 {
630 mmake -C src/mesa/drivers/dri/radeon DESTDIR=${BINDIR} install || die
631 setup_dynamic_dri classic || die
632 }
633 fi
634
635 if driver_enabled dri-savage
636 then
637 src_install_mesa-dri-savage()
638 {
639 mmake -C src/mesa/drivers/dri/savage DESTDIR=${BINDIR} install || die
640 setup_dynamic_dri classic || die
641 }
642 fi
643
644 if driver_enabled dri-sis
645 then
646 src_install_mesa-dri-sis()
647 {
648 mmake -C src/mesa/drivers/dri/sis DESTDIR=${BINDIR} install || die
649 setup_dynamic_dri classic || die
650 }
651 fi
652
653 if driver_enabled dri-tdfx
654 then
655 src_install_mesa-dri-tdfx()
656 {
657 mmake -C src/mesa/drivers/dri/tdfx DESTDIR=${BINDIR} install || die
658 setup_dynamic_dri classic || die
659 }
660 fi
661
662 if driver_enabled dri-unichrome
663 then
664 src_install_mesa-dri-unichrome()
665 {
666 mmake -C src/mesa/drivers/dri/unichrome DESTDIR=${BINDIR} install || die
667 setup_dynamic_dri classic || die
668 }
669 fi
670
671 if driver_enabled gallium-i915
672 then
673 src_install_mesa-gallium-i915()
674 {
675 mmake -C src/gallium/targets/dri-i915 DESTDIR=${BINDIR} install || die
676 setup_dynamic_dri gallium || die
677 }
678 fi
679
680 if driver_enabled gallium-i965
681 then
682 src_install_mesa-gallium-i965()
683 {
684 mmake -C src/gallium/targets/dri-i965 DESTDIR=${BINDIR} install || die
685 setup_dynamic_dri gallium || die
686 }
687 fi
688
689 if driver_enabled gallium-nouveau
690 then
691 src_install_mesa-gallium-nouveau()
692 {
693 mmake -C src/gallium/targets/dri-nouveau DESTDIR=${BINDIR} install || die
694 setup_dynamic_dri gallium || die
695 }
696 fi
697
698 if driver_enabled gallium-r300
699 then
700 src_install_mesa-gallium-r300()
701 {
702 mmake -C src/gallium/targets/dri-r300 DESTDIR=${BINDIR} install || die
703 setup_dynamic_dri gallium || die
704 }
705 fi
706
707 if driver_enabled gallium-r600
708 then
709 src_install_mesa-gallium-r600()
710 {
711 mmake -C src/gallium/targets/dri-r600 DESTDIR=${BINDIR} install || die
712 setup_dynamic_dri gallium || die
713 }
714 fi
715
716 if driver_enabled gallium-swrast
717 then
718 src_install_mesa-gallium-swrast()
719 {
720 mmake -C src/gallium/targets/dri-swrast DESTDIR=${BINDIR} install || die
721 setup_dynamic_dri gallium || die
722 }
723 fi
724
725 if driver_enabled gallium-vmwgfx
726 then
727 src_install_mesa-gallium-vmwgfx()
728 {
729 mmake -C src/gallium/targets/dri-vmwgfx DESTDIR=${BINDIR} install || die
730 setup_dynamic_dri gallium || die
731 }
732 fi
733
734 # setup_dynamic_dri $impl
735 # impl may be classic or gallium atm
736 setup_dynamic_dri()
737 {
738 local impl="$1"
739 local i
740 local abi
741
742 [[ -z ${impl} ]] && die "missing dri implementation!"
743 case ${impl} in
744 classic|gallium) ;;
745 *) die "unkown dri implementation '${impl}'!" ;;
746 esac
747
748 echo "settin up dynamic dri for a '${impl} implementation..."
749 if [[ -z ${MULTILIB_ABIS} ]]
750 then
751 minstalldir /usr/$(mlibdir)/mesa/${impl} || die
752 for i in ${BINDIR}/usr/$(mlibdir)/dri/*_dri.so
753 do
754 echo -n " processing ${i}:"
755 if [ -f ${i} -o -L ${i} ]
756 then
757 echo -n " moving"
758 mv -vf ${i} ${BINDIR}/usr/$(mlibdir)/mesa/${impl} || die "moving ${i}"
759 fi
760 done
761 else
762 for abi in ${MULTILIB_ABIS}
763 do
764 [[ ${abi} = m32 ]] && ABI_LIBDIR="lib"
765 [[ ${abi} = m64 ]] && ABI_LIBDIR="lib64"
766
767 minstalldir /usr/$(mlibdir)/mesa/${impl} || die
768 for i in ${BINDIR}/usr/$(mlibdir)/dri/*_dri.so
769 do
770 echo -n " processing ${i}"
771 if [ -f ${i} -o -L ${i} ]
772 then
773 echo -n " moving"
774 mv -vf ${i} ${BINDIR}/usr/$(mlibdir)/mesa/${impl} || die "moving ${i}"
775 fi
776 echo " done"
777 done
778 done
779 fi
780 }
781
782 postinstall_mesa()
783 {
784 ${MROOT}/usr/sbin/opengl-update --use-old xorg
785 }
786
787 if driver_enabled dri-swrast
788 then
789 postinstall_mesa-dri-swrast()
790 {
791 ${MROOT}/usr/sbin/dri-update --use-old classic
792 }
793 fi
794
795 if driver_enabled dri-i810
796 then
797 postinstall_mesa-dri-i810()
798 {
799 ${MROOT}/usr/sbin/dri-update --use-old classic
800 }
801 fi
802
803 if driver_enabled dri-i915
804 then
805 postinstall_mesa-dri-i915()
806 {
807 ${MROOT}/usr/sbin/dri-update --use-old classic
808 }
809 fi
810
811 if driver_enabled dri-i965
812 then
813 postinstall_mesa-dri-i965()
814 {
815 ${MROOT}/usr/sbin/dri-update --use-old classic
816 }
817 fi
818
819 if driver_enabled dri-mach64
820 then
821 postinstall_mesa-dri-mach64()
822 {
823 ${MROOT}/usr/sbin/dri-update --use-old classic
824 }
825 fi
826
827 if driver_enabled dri-mga
828 then
829 postinstall_mesa-dri-mga()
830 {
831 ${MROOT}/usr/sbin/dri-update --use-old classic
832 }
833 fi
834
835 if driver_enabled dri-r128
836 then
837 postinstall_mesa-dri-r128()
838 {
839 ${MROOT}/usr/sbin/dri-update --use-old classic
840 }
841 fi
842
843 if driver_enabled dri-r200
844 then
845 postinstall_mesa-dri-r200()
846 {
847 ${MROOT}/usr/sbin/dri-update --use-old classic
848 }
849 fi
850
851 if driver_enabled dri-r300
852 then
853 postinstall_mesa-dri-r300()
854 {
855 ${MROOT}/usr/sbin/dri-update --use-old classic
856 }
857 fi
858
859 if driver_enabled dri-r600
860 then
861 postinstall_mesa-dri-r600()
862 {
863 ${MROOT}/usr/sbin/dri-update --use-old classic
864 }
865 fi
866
867 if driver_enabled dri-radeon
868 then
869 postinstall_mesa-dri-radeon()
870 {
871 ${MROOT}/usr/sbin/dri-update --use-old classic
872 }
873 fi
874
875 if driver_enabled dri-savage
876 then
877 postinstall_mesa-dri-savage()
878 {
879 ${MROOT}/usr/sbin/dri-update --use-old classic
880 }
881 fi
882
883 if driver_enabled dri-sis
884 then
885 postinstall_mesa-dri-sis()
886 {
887 ${MROOT}/usr/sbin/dri-update --use-old classic
888 }
889 fi
890
891 if driver_enabled dri-tdfx
892 then
893 postinstall_mesa-dri-tdfx()
894 {
895 ${MROOT}/usr/sbin/dri-update --use-old classic
896 }
897 fi
898
899 if driver_enabled dri-unichrome
900 then
901 postinstall_mesa-dri-unichrome()
902 {
903 ${MROOT}/usr/sbin/dri-update --use-old classic
904 }
905 fi
906
907 if driver_enabled gallium-i915
908 then
909 postinstall_mesa-gallium-i915()
910 {
911 ${MROOT}/usr/sbin/dri-update --use-old gallium
912 }
913 fi
914
915 if driver_enabled gallium-i965
916 then
917 postinstall_mesa-gallium-i965()
918 {
919 ${MROOT}/usr/sbin/dri-update --use-old gallium
920 }
921 fi
922
923 if driver_enabled gallium-nouveau
924 then
925 postinstall_mesa-gallium-nouveau()
926 {
927 ${MROOT}/usr/sbin/dri-update --use-old gallium
928 }
929 fi
930
931 if driver_enabled gallium-r300
932 then
933 postinstall_mesa-gallium-r300()
934 {
935 ${MROOT}/usr/sbin/dri-update --use-old gallium
936 }
937 fi
938
939 if driver_enabled gallium-r600
940 then
941 postinstall_mesa-gallium-r600()
942 {
943 ${MROOT}/usr/sbin/dri-update --use-old gallium
944 }
945 fi
946
947 if driver_enabled gallium-swrast
948 then
949 postinstall_mesa-gallium-swrast()
950 {
951 ${MROOT}/usr/sbin/dri-update --use-old gallium
952 }
953 fi
954
955 if driver_enabled gallium-vmwgfx
956 then
957 postinstall_mesa-gallium-vmwgfx()
958 {
959 ${MROOT}/usr/sbin/dri-update --use-old gallium
960 }
961 fi