Magellan Linux

Annotation of /trunk/extras/mesa/mesa-18.1.0-r2.smage2

Parent Directory Parent Directory | Revision Log Revision Log


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