Magellan Linux

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

Parent Directory Parent Directory | Revision Log Revision Log


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