Magellan Linux

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

Parent Directory Parent Directory | Revision Log Revision Log


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