Magellan Linux

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

Parent Directory Parent Directory | Revision Log Revision Log


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