Magellan Linux

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

Parent Directory Parent Directory | Revision Log Revision Log


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