Magellan Linux

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

Parent Directory Parent Directory | Revision Log Revision Log


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