Magellan Linux

Contents of /smage/trunk/core/mesa/mesa-9.2.5-r1.smage2

Parent Directory Parent Directory | Revision Log Revision Log


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