Magellan Linux

Annotation of /trunk/extras/mesa/mesa-18.3.1-r1.smage2

Parent Directory Parent Directory | Revision Log Revision Log


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