Magellan Linux

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

Parent Directory Parent Directory | Revision Log Revision Log


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