Magellan Linux

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

Parent Directory Parent Directory | Revision Log Revision Log


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