Magellan Linux

Contents of /trunk/extras/mesa/mesa-10.2.5-r1.smage2

Parent Directory Parent Directory | Revision Log Revision Log


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