Magellan Linux

Contents of /branches/R11-stable/extras/mesa/mesa-9.2.5-r1.smage2

Parent Directory Parent Directory | Revision Log Revision Log


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