Magellan Linux

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

Parent Directory Parent Directory | Revision Log Revision Log


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