Magellan Linux

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

Parent Directory Parent Directory | Revision Log Revision Log


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