Magellan Linux

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

Parent Directory Parent Directory | Revision Log Revision Log


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