Magellan Linux

Contents of /trunk/core/mesa/mesa-8.0.4-r1.smage2

Parent Directory Parent Directory | Revision Log Revision Log


Revision 13042 - (show annotations) (download)
Tue Aug 21 12:10:22 2012 UTC (11 years, 9 months ago) by niro
File size: 19955 byte(s)
auto added: ver bump to 8.0.4-r1
1 # $Id$
2
3 PNAME="mesa"
4 PVER="8.0.4"
5 PBUILD="r1"
6
7 SPLIT_PACKAGES="mesa"
8
9 PCAT="media-libs"
10
11 HOMEPAGE="http://mesa3d.sourceforge.net/"
12
13 MESA_DEPEND=">= dev-libs/expat-2
14 >= x11-libs/libX11-1.4
15 >= x11-libs/libXext-1.3
16 >= x11-libs/libXxf86vm-1.1
17 >= x11-libs/libXi-1.4
18 >= x11-libs/libXmu-1.1
19 >= x11-libs/libdrm-2.4.37
20 >= x11-libs/libICE-1
21 >= x11-base/opengl-update-magellan-2.2.19
22 >= x11-libs/libxcb-1
23 >= x11-libs/libXfixes-5
24 >= x11-libs/libXdamage-1
25 >= x11-libs/libvdpau-0.4.1
26 >= sys-libs/libstdc++-4.7
27 >= sys-fs/udev-185"
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.12
39 >= x11-proto/inputproto-2
40 >= x11-proto/xextproto-7.2
41 >= x11-proto/xf86driproto-2.1
42 >= x11-proto/dri2proto-2.3
43 >= x11-proto/xcb-proto-1.6
44 >= x11-proto/xproto-7
45 >= x11-proto/fixesproto-5
46 >= x11-proto/damageproto-1.2
47 >= dev-lang/python-2.7
48 >= sys-dev/llvm-3.1"
49
50 # must be set before the include of multilib!
51 EMUL_LINUX_32=true
52 sminclude xorg mtools multilib
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
64 # gallium-nouveau not supported with >=libdrm-2.3.34 atm, nouveau_bo.h is missing
65 #MESA_DRIVERS="dri-swrast,dri-i915,dri-i965,dri-r200,dri-radeon"
66 #MESA_DRIVERS+=","
67 MESA_DRIVERS+="gallium-i915,gallium-r300,gallium-r600,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 SRC_URI=(
109 ftp://ftp.freedesktop.org/pub/mesa/${PVER%_*}/${SRCFILE}
110 #sourceforge://mesa3d/${SRCFILE}
111 mirror://${PNAME}/${SRCFILE}
112 mirror://${PNAME}/libGLU.la
113 mirror://${PNAME}/libGL.la
114 mirror://${PNAME}/${PNAME}-8.0.2-multilib.patch
115 mirror://${PNAME}/${PNAME}-8.0.3-llvm31.patch
116 )
117
118 UP2DATE="updatecmd ftp://ftp.freedesktop.org/pub/mesa/current | lasttarball"
119
120 split_info_mesa()
121 {
122 DESCRIPTION="Mesa3D OpenGL graphics library."
123 DEPEND="${MESA_DEPEND}"
124
125 PROVIDE="virtual/opengl"
126 }
127
128 if driver_enabled dri-swrast
129 then
130 SPLIT_PACKAGES+=" mesa-dri-swrast"
131 add_dri_driver swrast
132
133 split_info_mesa-dri-swrast()
134 {
135 DESCRIPTION="Mesa Software Raster DRI driver."
136 DEPEND="== ${PCAT}/mesa-${PVER}"
137 }
138 fi
139
140 if driver_enabled dri-i810
141 then
142 SPLIT_PACKAGES+=" mesa-dri-i810"
143 add_dri_driver i810
144
145 split_info_mesa-dri-i810()
146 {
147 DESCRIPTION="Mesa Intel i810 DRI driver."
148 DEPEND="== ${PCAT}/mesa-${PVER}"
149 }
150 fi
151
152 if driver_enabled dri-i915
153 then
154 SPLIT_PACKAGES+=" mesa-dri-i915"
155 add_dri_driver i915
156
157 split_info_mesa-dri-i915()
158 {
159 DESCRIPTION="Mesa Intel i915 DRI driver."
160 DEPEND="== ${PCAT}/mesa-${PVER}"
161 }
162 fi
163
164 if driver_enabled dri-i965
165 then
166 SPLIT_PACKAGES+=" mesa-dri-i965"
167 add_dri_driver i965
168
169 split_info_mesa-dri-i965()
170 {
171 DESCRIPTION="Mesa Intel i965 DRI driver."
172 DEPEND="== ${PCAT}/mesa-${PVER}"
173 }
174 fi
175
176 if driver_enabled dri-mach64
177 then
178 SPLIT_PACKAGES+=" mesa-dri-mach64"
179 add_dri_driver mach64
180
181 split_info_mesa-dri-mach64()
182 {
183 DESCRIPTION="Mesa ATI mach64 DRI driver."
184 DEPEND="== ${PCAT}/mesa-${PVER}"
185 }
186 fi
187
188 if driver_enabled dri-mga
189 then
190 SPLIT_PACKAGES+=" mesa-dri-mga"
191 add_dri_driver mga
192
193 split_info_mesa-dri-mga()
194 {
195 DESCRIPTION="Mesa Matrox mga DRI driver."
196 DEPEND="== ${PCAT}/mesa-${PVER}"
197 }
198 fi
199
200 if driver_enabled dri-r128
201 then
202 SPLIT_PACKAGES+=" mesa-dri-r128"
203 add_dri_driver r128
204
205 split_info_mesa-dri-r128()
206 {
207 DESCRIPTION="Mesa ATI Rage128 DRI driver."
208 DEPEND="== ${PCAT}/mesa-${PVER}"
209 }
210 fi
211
212 if driver_enabled dri-r200
213 then
214 SPLIT_PACKAGES+=" mesa-dri-r200"
215 add_dri_driver r200
216
217 split_info_mesa-dri-r200()
218 {
219 DESCRIPTION="Mesa ATI Radeon r200 DRI driver."
220 DEPEND="== ${PCAT}/mesa-${PVER}"
221 }
222 fi
223
224 if driver_enabled dri-r300
225 then
226 SPLIT_PACKAGES+=" mesa-dri-r300"
227 add_dri_driver r300
228
229 split_info_mesa-dri-r300()
230 {
231 DESCRIPTION="Mesa ATI Radeon r300 DRI driver."
232 DEPEND="== ${PCAT}/mesa-${PVER}"
233 }
234 fi
235
236 if driver_enabled dri-r600
237 then
238 SPLIT_PACKAGES+=" mesa-dri-r600"
239 add_dri_driver r600
240
241 split_info_mesa-dri-r600()
242 {
243 DESCRIPTION="Mesa ATI Radeon r600 DRI driver."
244 DEPEND="== ${PCAT}/mesa-${PVER}"
245 }
246 fi
247
248 if driver_enabled dri-radeon
249 then
250 SPLIT_PACKAGES+=" mesa-dri-radeon"
251 add_dri_driver radeon
252
253 split_info_mesa-dri-radeon()
254 {
255 DESCRIPTION="Mesa ATI Radeon generic DRI driver."
256 DEPEND="== ${PCAT}/mesa-${PVER}"
257 }
258 fi
259
260 if driver_enabled dri-savage
261 then
262 SPLIT_PACKAGES+=" mesa-dri-savage"
263 add_dri_driver savage
264
265 split_info_mesa-dri-savage()
266 {
267 DESCRIPTION="Mesa S3 Savage DRI driver."
268 DEPEND="== ${PCAT}/mesa-${PVER}"
269 }
270 fi
271
272 if driver_enabled dri-sis
273 then
274 SPLIT_PACKAGES+=" mesa-dri-sis"
275 add_dri_driver sis
276
277 split_info_mesa-dri-sis()
278 {
279 DESCRIPTION="Mesa SIS generic DRI driver."
280 DEPEND="== ${PCAT}/mesa-${PVER}"
281 }
282 fi
283
284 if driver_enabled dri-tdfx
285 then
286 SPLIT_PACKAGES+=" mesa-dri-tdfx"
287 add_dri_driver tdfx
288
289 split_info_mesa-dri-tdfx()
290 {
291 DESCRIPTION="Mesa 3DFX Voodoo DRI driver."
292 DEPEND="== ${PCAT}/mesa-${PVER}"
293 }
294 fi
295
296 if driver_enabled dri-unichrome
297 then
298 SPLIT_PACKAGES+=" mesa-dri-unichrome"
299 add_dri_driver unichrome
300
301 split_info_mesa-dri-unichrome()
302 {
303 DESCRIPTION="Mesa VIA Chrome DRI driver."
304 DEPEND="== ${PCAT}/mesa-${PVER}"
305 }
306 fi
307
308 if driver_enabled gallium-i915
309 then
310 SPLIT_PACKAGES+=" mesa-gallium-i915"
311 add_gallium_driver i915
312
313 split_info_mesa-gallium-i915()
314 {
315 DESCRIPTION="Mesa Intel i915 Gallium driver."
316 DEPEND="== ${PCAT}/mesa-${PVER}"
317 }
318 fi
319
320 if driver_enabled gallium-i965
321 then
322 SPLIT_PACKAGES+=" mesa-gallium-i965"
323 add_gallium_driver i965
324
325 split_info_mesa-gallium-i965()
326 {
327 DESCRIPTION="Mesa Intel i965 Gallium driver."
328 DEPEND="== ${PCAT}/mesa-${PVER}"
329 }
330 fi
331
332 if driver_enabled gallium-nouveau
333 then
334 SPLIT_PACKAGES+=" mesa-gallium-nouveau"
335 add_gallium_driver nouveau
336
337 split_info_mesa-gallium-nouveau()
338 {
339 DESCRIPTION="Mesa Nvidia Nouveau Gallium driver."
340 DEPEND="== ${PCAT}/mesa-${PVER}"
341 }
342 fi
343
344 if driver_enabled gallium-r300
345 then
346 SPLIT_PACKAGES+=" mesa-gallium-r300"
347 add_gallium_driver r300
348
349 split_info_mesa-gallium-r300()
350 {
351 DESCRIPTION="Mesa Ati Radeon r300 Gallium driver."
352 DEPEND="== ${PCAT}/mesa-${PVER}"
353 }
354 fi
355
356 if driver_enabled gallium-r600
357 then
358 SPLIT_PACKAGES+=" mesa-gallium-r600"
359 add_gallium_driver r600
360
361 split_info_mesa-gallium-r600()
362 {
363 DESCRIPTION="Mesa Ati Radeon r600 Gallium driver."
364 DEPEND="== ${PCAT}/mesa-${PVER}"
365 }
366 fi
367
368 if driver_enabled gallium-swrast
369 then
370 SPLIT_PACKAGES+=" mesa-gallium-swrast"
371 add_gallium_driver swrast
372
373 split_info_mesa-gallium-swrast()
374 {
375 DESCRIPTION="Mesa Software Raster Gallium driver."
376 DEPEND="== ${PCAT}/mesa-${PVER}"
377 }
378 fi
379
380 if driver_enabled gallium-vmwgfx
381 then
382 SPLIT_PACKAGES+=" mesa-gallium-vmwgfx"
383 add_gallium_driver svga
384
385 split_info_mesa-gallium-vmwgfx()
386 {
387 DESCRIPTION="Mesa Vmware generic Gallium driver."
388 DEPEND="== ${PCAT}/mesa-${PVER}"
389 }
390 fi
391
392 src_prepare()
393 {
394 munpack ${SRCFILE} || die
395
396 # fix multilib ftbfs
397 mpatch ${PNAME}-8.0.2-multilib.patch || die
398
399 # fix ftbfs with llvm-3.1
400 mpatch ${PNAME}-8.0.3-llvm31.patch || die
401
402 # no debug code in the drives (gentoo)
403 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/" ;'
404
405 # get rid of glut includes
406 all-abis rm -f include/GL/glut*h || die
407
408 # fix an error in the libva detection
409 # all-abis 'sed -i "s:libva = 0.31.1:libva >= 0.31.1:" configure.ac' || die
410
411 mautoreconf || die
412 }
413
414 src_compile()
415 {
416 # svga=vmwgfx
417 mconfigure \
418 --with-driver=dri \
419 --with-dri-driverdir=/usr/'$(mlibdir)'/dri \
420 --with-dri-drivers=${MESA_DRI_DRIVERS} \
421 --with-gallium-drivers=${MESA_GALLIUM_DRIVERS} \
422 --disable-debug \
423 --enable-glx-tls \
424 --enable-asm \
425 --enable-shared-glapi \
426 --enable-shared-dricore \
427 --enable-egl \
428 --enable-gles1 \
429 --enable-gles2 \
430 --enable-xa \
431 --enable-gallium-egl \
432 --enable-gallium-llvm \
433 --enable-vdpau \
434 || die
435 # --enable-va \
436
437 # only build software renderer on multilib arches
438 if [[ ${ARCH} = x86_64 ]]
439 then
440 only-m32 "echo 'DRI_DIRS =' >> configs/autoconf" || die
441 fi
442
443 mmake -j1 || die
444 }
445
446 src_install_mesa()
447 {
448 mmake DESTDIR=${BINDIR} install || die
449
450 # # missing gl headers
451 # minstallfile src/glw/GLwDrawA.h /usr/include/GL || die
452 #
453 # # remove private headers
454 # rm -f ${BINDIR}/usr/include/GL/GLw*P.h || die
455
456 for abi in ${MULTILIB_ABIS}
457 do
458 [[ ${abi} = m32 ]] && ABI_LIBDIR="lib"
459 [[ ${abi} = m64 ]] && ABI_LIBDIR="lib64"
460 cd ${SRCDIR}-${abi}
461
462 # fix opengl-symlinks
463 # first remove invalid symlinks
464 find ${BINDIR}/usr/$(mlibdir) -name libGL\.* -type l | xargs rm -f
465 # now create required opengl-symlinks
466 mlink libGL.so.1.2 /usr/$(mlibdir)/libGL.so || die
467 mlink libGL.so.1.2 /usr/$(mlibdir)/libGL.so.1 || die
468
469 # now setup dynamic opengl
470 minstalldir /usr/$(mlibdir)/opengl/xorg/lib || die
471 minstalldir /usr/$(mlibdir)/opengl/xorg/extensions || die
472 minstalldir /usr/$(mlibdir)/opengl/xorg/include || die
473
474 local x
475 for x in ${BINDIR}/usr/$(mlibdir)/libGL.so* \
476 ${BINDIR}/usr/$(mlibdir)/libGL.la \
477 ${BINDIR}/usr/$(mlibdir)/libGL.a
478 do
479 if [ -f ${x} -o -L ${x} ]
480 then
481 # libGL.a cause problems with tuxracer, etc
482 mv -f ${x} ${BINDIR}/usr/$(mlibdir)/opengl/xorg/lib || die "${x}"
483 fi
484 done
485 for x in ${BINDIR}/usr/include/GL/{gl.h,glx.h,glext.h,glxext.h}
486 do
487 if [ -f ${x} -o -L ${x} ]
488 then
489 mv -f ${x} ${BINDIR}/usr/$(mlibdir)/opengl/xorg/include || die "${x}"
490 fi
491 done
492
493 # satisfy libtool
494 minstallfile -s libGLU.la /usr/$(mlibdir) || die
495 minstallfile -s libGL.la /usr/$(mlibdir)/opengl/xorg/lib || die
496
497 # fix libdir on 64bit arches
498 if [[ $(mlibdir) != lib ]]
499 then
500 sed -i "s:/usr/lib:/usr/$(mlibdir):g" ${BINDIR}/usr/$(mlibdir)/libGLU.la || die
501 sed -i "s:/usr/lib:/usr/$(mlibdir):g" ${BINDIR}/usr/$(mlibdir)/opengl/xorg/lib/libGL.la || die
502 fi
503
504 # create the two-number versioned libs (.so.#.#), since only .so.# and
505 # .so.#.#.# were made
506 local x
507 # for x in ${BINDIR}/usr/$(mlibdir)/libGLU.so.*.*.* \
508 # ${BINDIR}/usr/$(mlibdir)/libGLw.so.*.*.*
509 for x in ${BINDIR}/usr/$(mlibdir)/libGLU.so.*.*.*
510 do
511 local lib_name_dot3="$(basename $(ls ${x}))"
512 local lib_name_dot2="${lib_name_dot3%.*}"
513 local lib_name_dot1="${lib_name_dot2%.*}"
514 local lib_name_dot0="${lib_name_dot1%.*}"
515 mlink ${lib_name_dot3} /usr/$(mlibdir)/${lib_name_dot2} || die "${x}"
516 mlink ${lib_name_dot3} /usr/$(mlibdir)/${lib_name_dot1} || die "${x}"
517 mlink ${lib_name_dot3} /usr/$(mlibdir)/${lib_name_dot0} || die "${x}"
518 done
519
520 # export LIBGL_DRIVER_PATH location.
521 # we are using '/usr/lib/dri' as hardcoded location.
522 # but nvidia and ati are using '/usr/$(mlibdir)/xorg/modules/dri'
523 # LIBGL_DRIVER_PATH overwrites the hardcoded location and
524 # if nvidia or ati driver are installed
525 # the dri modules will never be found by libGL
526 # use "LIBGL_DEBUG=verbose glxinfo" to check this issue
527 minstalldir /etc/env.d || die
528 MCONFIG=/etc/env.d/09mesa-${abi}
529 mclearconfig || die
530 maddconfig "LIBGL_DRIVERS_PATH=/usr/$(mlibdir)/dri" || die
531
532 # remove dri-drivers, they are in extra packages
533 rm -r ${BINDIR}/usr/$(mlibdir)/dri/*_dri.so || die
534 done
535 }
536
537 if driver_enabled dri-swrast
538 then
539 src_install_mesa-dri-swrast()
540 {
541 mmake -C src/mesa/drivers/dri/swrast DESTDIR=${BINDIR} install || die
542 setup_dynamic_dri classic || die
543 }
544 fi
545
546 if driver_enabled dri-i810
547 then
548 src_install_mesa-dri-i810()
549 {
550 mmake -C src/mesa/drivers/dri/i810 DESTDIR=${BINDIR} install || die
551 setup_dynamic_dri classic || die
552 }
553 fi
554
555 if driver_enabled dri-i915
556 then
557 src_install_mesa-dri-i915()
558 {
559 mmake -C src/mesa/drivers/dri/i915 DESTDIR=${BINDIR} install || die
560 setup_dynamic_dri classic || die
561 }
562 fi
563
564 if driver_enabled dri-i965
565 then
566 src_install_mesa-dri-i965()
567 {
568 mmake -C src/mesa/drivers/dri/i965 DESTDIR=${BINDIR} install || die
569 setup_dynamic_dri classic || die
570 }
571 fi
572
573 if driver_enabled dri-mach64
574 then
575 src_install_mesa-dri-mach64()
576 {
577 mmake -C src/mesa/drivers/dri/mach64 DESTDIR=${BINDIR} install || die
578 setup_dynamic_dri classic || die
579 }
580 fi
581
582 if driver_enabled dri-mga
583 then
584 src_install_mesa-dri-mga()
585 {
586 mmake -C src/mesa/drivers/dri/mga DESTDIR=${BINDIR} install || die
587 setup_dynamic_dri classic || die
588 }
589 fi
590
591 if driver_enabled dri-r128
592 then
593 src_install_mesa-dri-r128()
594 {
595 mmake -C src/mesa/drivers/dri/r128 DESTDIR=${BINDIR} install || die
596 setup_dynamic_dri classic || die
597 }
598 fi
599
600 if driver_enabled dri-r200
601 then
602 src_install_mesa-dri-r200()
603 {
604 mmake -C src/mesa/drivers/dri/r200 DESTDIR=${BINDIR} install || die
605 setup_dynamic_dri classic || die
606 }
607 fi
608
609 if driver_enabled dri-r300
610 then
611 src_install_mesa-dri-r300()
612 {
613 mmake -C src/mesa/drivers/dri/r300 DESTDIR=${BINDIR} install || die
614 setup_dynamic_dri classic || die
615 }
616 fi
617
618 if driver_enabled dri-r600
619 then
620 src_install_mesa-dri-r600()
621 {
622 mmake -C src/mesa/drivers/dri/r600 DESTDIR=${BINDIR} install || die
623 setup_dynamic_dri classic || die
624 }
625 fi
626
627 if driver_enabled dri-radeon
628 then
629 src_install_mesa-dri-radeon()
630 {
631 mmake -C src/mesa/drivers/dri/radeon DESTDIR=${BINDIR} install || die
632 setup_dynamic_dri classic || die
633 }
634 fi
635
636 if driver_enabled dri-savage
637 then
638 src_install_mesa-dri-savage()
639 {
640 mmake -C src/mesa/drivers/dri/savage DESTDIR=${BINDIR} install || die
641 setup_dynamic_dri classic || die
642 }
643 fi
644
645 if driver_enabled dri-sis
646 then
647 src_install_mesa-dri-sis()
648 {
649 mmake -C src/mesa/drivers/dri/sis DESTDIR=${BINDIR} install || die
650 setup_dynamic_dri classic || die
651 }
652 fi
653
654 if driver_enabled dri-tdfx
655 then
656 src_install_mesa-dri-tdfx()
657 {
658 mmake -C src/mesa/drivers/dri/tdfx DESTDIR=${BINDIR} install || die
659 setup_dynamic_dri classic || die
660 }
661 fi
662
663 if driver_enabled dri-unichrome
664 then
665 src_install_mesa-dri-unichrome()
666 {
667 mmake -C src/mesa/drivers/dri/unichrome DESTDIR=${BINDIR} install || die
668 setup_dynamic_dri classic || die
669 }
670 fi
671
672 if driver_enabled gallium-i915
673 then
674 src_install_mesa-gallium-i915()
675 {
676 mmake -C src/gallium/targets/dri-i915 DESTDIR=${BINDIR} install || die
677 setup_dynamic_dri gallium || die
678 }
679 fi
680
681 if driver_enabled gallium-i965
682 then
683 src_install_mesa-gallium-i965()
684 {
685 mmake -C src/gallium/targets/dri-i965 DESTDIR=${BINDIR} install || die
686 setup_dynamic_dri gallium || die
687 }
688 fi
689
690 if driver_enabled gallium-nouveau
691 then
692 src_install_mesa-gallium-nouveau()
693 {
694 mmake -C src/gallium/targets/dri-nouveau DESTDIR=${BINDIR} install || die
695 setup_dynamic_dri gallium || die
696 }
697 fi
698
699 if driver_enabled gallium-r300
700 then
701 src_install_mesa-gallium-r300()
702 {
703 mmake -C src/gallium/targets/dri-r300 DESTDIR=${BINDIR} install || die
704 setup_dynamic_dri gallium || die
705 }
706 fi
707
708 if driver_enabled gallium-r600
709 then
710 src_install_mesa-gallium-r600()
711 {
712 mmake -C src/gallium/targets/dri-r600 DESTDIR=${BINDIR} install || die
713 setup_dynamic_dri gallium || die
714 }
715 fi
716
717 if driver_enabled gallium-swrast
718 then
719 src_install_mesa-gallium-swrast()
720 {
721 mmake -C src/gallium/targets/dri-swrast DESTDIR=${BINDIR} install || die
722 setup_dynamic_dri gallium || die
723 }
724 fi
725
726 if driver_enabled gallium-vmwgfx
727 then
728 src_install_mesa-gallium-vmwgfx()
729 {
730 mmake -C src/gallium/targets/dri-vmwgfx DESTDIR=${BINDIR} install || die
731 setup_dynamic_dri gallium || die
732 }
733 fi
734
735 # setup_dynamic_dri $impl
736 # impl may be classic or gallium atm
737 setup_dynamic_dri()
738 {
739 local impl="$1"
740 local i
741 local abi
742
743 [[ -z ${impl} ]] && die "missing dri implementation!"
744 case ${impl} in
745 classic|gallium) ;;
746 *) die "unkown dri implementation '${impl}'!" ;;
747 esac
748
749 echo "settin up dynamic dri for a '${impl} implementation..."
750 if [[ -z ${MULTILIB_ABIS} ]]
751 then
752 minstalldir /usr/$(mlibdir)/mesa/${impl} || die
753 for i in ${BINDIR}/usr/$(mlibdir)/dri/*_dri.so
754 do
755 echo -n " processing ${i}:"
756 if [ -f ${i} -o -L ${i} ]
757 then
758 echo -n " moving"
759 mv -vf ${i} ${BINDIR}/usr/$(mlibdir)/mesa/${impl} || die "moving ${i}"
760 fi
761 done
762 else
763 for abi in ${MULTILIB_ABIS}
764 do
765 [[ ${abi} = m32 ]] && ABI_LIBDIR="lib"
766 [[ ${abi} = m64 ]] && ABI_LIBDIR="lib64"
767
768 minstalldir /usr/$(mlibdir)/mesa/${impl} || die
769 for i in ${BINDIR}/usr/$(mlibdir)/dri/*_dri.so
770 do
771 echo -n " processing ${i}"
772 if [ -f ${i} -o -L ${i} ]
773 then
774 echo -n " moving"
775 mv -vf ${i} ${BINDIR}/usr/$(mlibdir)/mesa/${impl} || die "moving ${i}"
776 fi
777 echo " done"
778 done
779 done
780 fi
781 }
782
783 postinstall_mesa()
784 {
785 ${MROOT}/usr/sbin/opengl-update --use-old xorg
786 }
787
788 if driver_enabled dri-swrast
789 then
790 postinstall_mesa-dri-swrast()
791 {
792 ${MROOT}/usr/sbin/dri-update --use-old classic
793 }
794 fi
795
796 if driver_enabled dri-i810
797 then
798 postinstall_mesa-dri-i810()
799 {
800 ${MROOT}/usr/sbin/dri-update --use-old classic
801 }
802 fi
803
804 if driver_enabled dri-i915
805 then
806 postinstall_mesa-dri-i915()
807 {
808 ${MROOT}/usr/sbin/dri-update --use-old classic
809 }
810 fi
811
812 if driver_enabled dri-i965
813 then
814 postinstall_mesa-dri-i965()
815 {
816 ${MROOT}/usr/sbin/dri-update --use-old classic
817 }
818 fi
819
820 if driver_enabled dri-mach64
821 then
822 postinstall_mesa-dri-mach64()
823 {
824 ${MROOT}/usr/sbin/dri-update --use-old classic
825 }
826 fi
827
828 if driver_enabled dri-mga
829 then
830 postinstall_mesa-dri-mga()
831 {
832 ${MROOT}/usr/sbin/dri-update --use-old classic
833 }
834 fi
835
836 if driver_enabled dri-r128
837 then
838 postinstall_mesa-dri-r128()
839 {
840 ${MROOT}/usr/sbin/dri-update --use-old classic
841 }
842 fi
843
844 if driver_enabled dri-r200
845 then
846 postinstall_mesa-dri-r200()
847 {
848 ${MROOT}/usr/sbin/dri-update --use-old classic
849 }
850 fi
851
852 if driver_enabled dri-r300
853 then
854 postinstall_mesa-dri-r300()
855 {
856 ${MROOT}/usr/sbin/dri-update --use-old classic
857 }
858 fi
859
860 if driver_enabled dri-r600
861 then
862 postinstall_mesa-dri-r600()
863 {
864 ${MROOT}/usr/sbin/dri-update --use-old classic
865 }
866 fi
867
868 if driver_enabled dri-radeon
869 then
870 postinstall_mesa-dri-radeon()
871 {
872 ${MROOT}/usr/sbin/dri-update --use-old classic
873 }
874 fi
875
876 if driver_enabled dri-savage
877 then
878 postinstall_mesa-dri-savage()
879 {
880 ${MROOT}/usr/sbin/dri-update --use-old classic
881 }
882 fi
883
884 if driver_enabled dri-sis
885 then
886 postinstall_mesa-dri-sis()
887 {
888 ${MROOT}/usr/sbin/dri-update --use-old classic
889 }
890 fi
891
892 if driver_enabled dri-tdfx
893 then
894 postinstall_mesa-dri-tdfx()
895 {
896 ${MROOT}/usr/sbin/dri-update --use-old classic
897 }
898 fi
899
900 if driver_enabled dri-unichrome
901 then
902 postinstall_mesa-dri-unichrome()
903 {
904 ${MROOT}/usr/sbin/dri-update --use-old classic
905 }
906 fi
907
908 if driver_enabled gallium-i915
909 then
910 postinstall_mesa-gallium-i915()
911 {
912 ${MROOT}/usr/sbin/dri-update --use-old gallium
913 }
914 fi
915
916 if driver_enabled gallium-i965
917 then
918 postinstall_mesa-gallium-i965()
919 {
920 ${MROOT}/usr/sbin/dri-update --use-old gallium
921 }
922 fi
923
924 if driver_enabled gallium-nouveau
925 then
926 postinstall_mesa-gallium-nouveau()
927 {
928 ${MROOT}/usr/sbin/dri-update --use-old gallium
929 }
930 fi
931
932 if driver_enabled gallium-r300
933 then
934 postinstall_mesa-gallium-r300()
935 {
936 ${MROOT}/usr/sbin/dri-update --use-old gallium
937 }
938 fi
939
940 if driver_enabled gallium-r600
941 then
942 postinstall_mesa-gallium-r600()
943 {
944 ${MROOT}/usr/sbin/dri-update --use-old gallium
945 }
946 fi
947
948 if driver_enabled gallium-swrast
949 then
950 postinstall_mesa-gallium-swrast()
951 {
952 ${MROOT}/usr/sbin/dri-update --use-old gallium
953 }
954 fi
955
956 if driver_enabled gallium-vmwgfx
957 then
958 postinstall_mesa-gallium-vmwgfx()
959 {
960 ${MROOT}/usr/sbin/dri-update --use-old gallium
961 }
962 fi