Magellan Linux

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

Parent Directory Parent Directory | Revision Log Revision Log


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