Magellan Linux

Annotation of /smage/branches/alx07x-unstable/core/mesa/mesa-20.1.4-r1.smage2

Parent Directory Parent Directory | Revision Log Revision Log


Revision 14459 - (hide annotations) (download)
Tue Aug 4 09:13:57 2020 UTC (3 years, 9 months ago) by niro
Original Path: smage/trunk/core/mesa/mesa-20.1.4-r1.smage2
File size: 17450 byte(s)
auto added: ver bump to 20.1.4-r1
1 niro 14459 # $Id$
2    
3     PNAME="mesa"
4     PVER="20.1.4"
5     PBUILD="r1"
6    
7     PCAT="media-libs"
8    
9     # 1=enable mesa features
10     # 0=disable mesa features
11     ENABLE_VDPAU=0
12     ENABLE_VAAPI=0
13     ENABLE_XVMC=0
14    
15     # 1=enable dev split packages
16     # 0=disable dev split packages
17     ENABLE_DEV_PACKAGES=1
18    
19     SPLIT_PACKAGES="mesa"
20     if [[ ${ENABLE_DEV_PACKAGES} = 1 ]]
21     then
22     SPLIT_PACKAGES+=" mesa-dev"
23     fi
24     SPLIT_PACKAGES+=" mesa-xa-tracker"
25     # direct3d
26     SPLIT_PACKAGES+=" libd3d"
27     if [[ ${ENABLE_DEV_PACKAGES} = 1 ]]
28     then
29     SPLIT_PACKAGES+=" libd3d-dev"
30     fi
31     # dri
32     SPLIT_PACKAGES+=" mesa-dri-i915"
33     SPLIT_PACKAGES+=" mesa-dri-i965"
34     SPLIT_PACKAGES+=" mesa-dri-nouveau"
35     SPLIT_PACKAGES+=" mesa-dri-r100"
36     SPLIT_PACKAGES+=" mesa-dri-r200"
37     # gallium
38     SPLIT_PACKAGES+=" mesa-dri-r300"
39     SPLIT_PACKAGES+=" mesa-dri-r600"
40     SPLIT_PACKAGES+=" mesa-dri-radeonsi"
41     SPLIT_PACKAGES+=" mesa-dri-swrast"
42     SPLIT_PACKAGES+=" mesa-dri-svga"
43     SPLIT_PACKAGES+=" mesa-dri-virgl"
44     SPLIT_PACKAGES+=" mesa-dri-iris"
45     # vulkan
46     SPLIT_PACKAGES+=" mesa-vulkan-radeon"
47     if [[ ${ENABLE_DEV_PACKAGES} = 1 ]]
48     then
49     SPLIT_PACKAGES+=" mesa-vulkan-radeon-dev"
50     fi
51     SPLIT_PACKAGES+=" mesa-vulkan-intel"
52     if [[ ${ENABLE_DEV_PACKAGES} = 1 ]]
53     then
54     SPLIT_PACKAGES+=" mesa-vulkan-intel-dev"
55     fi
56     # vdpau
57     if [[ ${ENABLE_VDPAU} = 1 ]]
58     then
59     SPLIT_PACKAGES+=" mesa-vdpau-nouveau"
60     SPLIT_PACKAGES+=" mesa-vdpau-r300"
61     SPLIT_PACKAGES+=" mesa-vdpau-r600"
62     SPLIT_PACKAGES+=" mesa-vdpau-radeonsi"
63     fi
64     # vaapi
65     if [[ ${ENABLE_VAAPI} = 1 ]]
66     then
67     SPLIT_PACKAGES+=" mesa-vaapi-nouveau"
68     SPLIT_PACKAGES+=" mesa-vaapi-r600"
69     SPLIT_PACKAGES+=" mesa-vaapi-radeonsi"
70     fi
71    
72     PCAT="media-libs"
73     HOMEPAGE="http://mesa3d.sourceforge.net/"
74    
75     # hardcoded llvm version for libxatracker
76     LLVM_PVER="10.0.0"
77    
78     MESA_DEPEND=">= dev-libs/expat-2.2
79     >= dev-libs/libffi-3.3
80     >= x11-libs/libX11-1.6
81     >= x11-libs/libXext-1.3
82     >= x11-libs/libXxf86vm-1.1
83     >= x11-libs/libXi-1.7
84     >= x11-libs/libXmu-1.1
85     >= x11-libs/libXrandr-1.5
86     >= x11-libs/libdrm-2.4.102
87     >= x11-libs/libICE-1
88     >= x11-libs/libglvnd-1.3
89     >= x11-libs/libxcb-1.14
90     >= x11-libs/libXfixes-5
91     >= x11-libs/libXdamage-1
92     >= x11-libs/libxshmfence-1.3
93     >= sys-libs/libstdc++-8.3
94     >= sys-fs/libudev-242
95     >= sys-libs/libelf-0.179"
96     if [[ ${ENABLE_VDPAU} = 1 ]]
97     then
98     MESA_DEPEND="${MESA_DEPEND}
99     >= x11-libs/libvdpau-1.1"
100     fi
101     if [[ ${ENABLE_VAAPI} = 1 ]]
102     then
103     MESA_DEPEND="${MESA_DEPEND}
104     >= x11-libs/libva-1.8"
105     fi
106     if [[ ${ENABLE_XVMC} = 1 ]]
107     then
108     MESA_DEPEND="${MESA_DEPEND}
109     >= x11-libs/libXvMC-1"
110     fi
111    
112     # mesa-dev runtime deps
113     MESA_DEV_DEPEND=">= dev-libs/expat-dev-2.2
114     >= dev-libs/libffi-dev-3.3
115     >= x11-libs/libX11-dev-1.6
116     >= x11-libs/libXext-dev-1.3
117     >= x11-libs/libXxf86vm-dev-1.1
118     >= x11-libs/libXi-dev-1.7
119     >= x11-libs/libXmu-dev-1.1
120     >= x11-libs/libXrandr-dev-1.5
121     >= x11-libs/libdrm-dev-2.4.102
122     >= x11-libs/libICE-dev-1
123     >= x11-libs/libglvnd-dev-1.3
124     >= x11-libs/libxcb-dev-1.14
125     >= x11-libs/libXfixes-dev-5
126     >= x11-libs/libXdamage-dev-1
127     >= x11-libs/libxshmfence-dev-1.3
128     >= sys-libs/libstdc++-dev-8.3
129     >= sys-fs/libudev-dev-242
130     >= sys-libs/libelf-dev-0.179"
131     if [[ ${ENABLE_VDPAU} = 1 ]]
132     then
133     MESA_DEV_DEPEND="${MESA_DEV_DEPEND}
134     >= x11-libs/libvdpau-dev-1.1"
135     fi
136     if [[ ${ENABLE_VAAPI} = 1 ]]
137     then
138     MESA_DEV_DEPEND="${MESA_DEV_DEPEND}
139     >= x11-libs/libva-dev-1.8"
140     fi
141     if [[ ${ENABLE_XVMC} = 1 ]]
142     then
143     MESA_DEV_DEPEND="${MESA_DEV_DEPEND}
144     >= x11-libs/libXvMC-dev-1"
145     fi
146    
147     XA_TRACKER_DEPEND=">= sys-libs/llvm-libs-${LLVM_PVER}"
148    
149     SDEPEND="${MESA_DEPEND}
150     ${XA_TRACKER_DEPEND}
151     >= dev-util/pkgconfig-0.25
152     >= x11-libs/libXxf86vm-1.1
153     >= virtual/glproto
154     >= virtual/xf86driproto
155     >= virtual/dri2proto
156     >= virtual/dri3proto
157     >= virtual/presentproto
158     >= virtual/xf86vidmodeproto
159     >= dev-lang/python3-3.7
160     >= dev-python/python3-mako-1
161     >= sys-dev/llvm-${LLVM_PVER}"
162    
163     if [[ ${ENABLE_DEV_PACKAGES} = 1 ]]
164     then
165     SDEPEND="${SDEPEND}
166     ${MESA_DEV_DEPEND}"
167     fi
168    
169     sminclude multilib xorg mtools meson cleanutils
170     msetfeature "!check"
171    
172     # must be set *after* the include of xorg!
173     SRCFILE="${PNAME}-${PVER/_/-}.tar.xz"
174     # libs SRCDIR
175     SRCDIR="${BUILDDIR}/${PNAME}-${PVER/_/-}"
176    
177     SRC_URI=(
178     ftp://ftp.freedesktop.org/pub/mesa/${PVER%_*}/${SRCFILE}
179     ftp://ftp.freedesktop.org/pub/mesa/${SRCFILE}
180     mirror://${PNAME}/${SRCFILE}
181     )
182    
183     UP2DATE="updatecmd ftp://ftp.freedesktop.org/pub/mesa/ | highesttarball xz"
184    
185     split_info_mesa()
186     {
187     DESCRIPTION="Mesa3D OpenGL graphics library."
188     DEPEND="${MESA_DEPEND}"
189    
190     PROVIDE="virtual/opengl"
191     }
192    
193     split_info_mesa-dev()
194     {
195     DESCRIPTION="Dev package for mesa"
196     DEPEND="== media-libs/mesa-${PVER}
197     ${MESA_DEV_DEPEND}"
198    
199     PROVIDE="virtual/opengl-dev"
200     }
201    
202     split_info_mesa-xa-tracker()
203     {
204     DESCRIPTION="Mesa XA state tracker."
205     DEPEND="== media-libs/mesa-${PVER}
206     ${XA_TRACKER_DEPEND}"
207     }
208    
209     split_info_libd3d()
210     {
211     DESCRIPTION="Mesa Direct3D9 state tracker."
212     DEPEND="== media-libs/mesa-${PVER}"
213     }
214    
215     split_info_mesa-dev()
216     {
217     DESCRIPTION="Dev package for libd3d"
218     DEPEND="== media-libs/libd3d-${PVER}"
219     }
220    
221     split_info_mesa-dri-i915()
222     {
223     DESCRIPTION="Mesa Intel i915 DRI driver."
224     DEPEND="== ${PCAT}/mesa-${PVER}"
225     }
226    
227     split_info_mesa-dri-i965()
228     {
229     DESCRIPTION="Mesa Intel i965 DRI driver."
230     DEPEND="== ${PCAT}/mesa-${PVER}"
231     }
232    
233     split_info_mesa-dri-r200()
234     {
235     DESCRIPTION="Mesa AMD Radeon r200 DRI driver."
236     DEPEND="== ${PCAT}/mesa-${PVER}"
237     }
238    
239     split_info_mesa-dri-r100()
240     {
241     DESCRIPTION="Mesa ATI Radeon generic DRI driver."
242     DEPEND="== ${PCAT}/mesa-${PVER}"
243     }
244    
245     split_info_mesa-dri-nouveau()
246     {
247     DESCRIPTION="Mesa Nvidia Nouveau DRI and Gallium driver."
248     DEPEND="== ${PCAT}/mesa-${PVER}
249     == ${PCAT}/mesa-xa-tracker-${PVER}"
250     }
251    
252     split_info_mesa-dri-r300()
253     {
254     DESCRIPTION="Mesa Ati Radeon r300 DRI (Gallium) driver."
255     DEPEND="== ${PCAT}/mesa-${PVER}
256     == ${PCAT}/mesa-xa-tracker-${PVER}"
257     }
258    
259     split_info_mesa-dri-r600()
260     {
261     DESCRIPTION="Mesa Ati Radeon r600 DRI (Gallium) driver."
262     DEPEND="== ${PCAT}/mesa-${PVER}
263     == ${PCAT}/mesa-xa-tracker-${PVER}"
264     }
265    
266     split_info_mesa-dri-radeonsi()
267     {
268     DESCRIPTION="Mesa AMD Radeon radeonsi DRI (Gallium) driver."
269     DEPEND="== ${PCAT}/mesa-${PVER}
270     == ${PCAT}/mesa-xa-tracker-${PVER}"
271     }
272    
273     split_info_mesa-dri-swrast()
274     {
275     DESCRIPTION="Mesa Software Raster DRI (Gallium) driver."
276     DEPEND="== ${PCAT}/mesa-${PVER}
277     == ${PCAT}/mesa-xa-tracker-${PVER}"
278     }
279    
280     split_info_mesa-dri-svga()
281     {
282     DESCRIPTION="Mesa Vmware svga DRI (Gallium) driver."
283     DEPEND="== ${PCAT}/mesa-${PVER}
284     == ${PCAT}/mesa-xa-tracker-${PVER}"
285     }
286    
287     split_info_mesa-dri-virgl()
288     {
289     DESCRIPTION="Mesa VirtualGL DRI (Gallium) driver."
290     DEPEND="== ${PCAT}/mesa-${PVER}
291     == ${PCAT}/mesa-xa-tracker-${PVER}"
292     }
293    
294     split_info_mesa-dri-iris()
295     {
296     DESCRIPTION="Mesa Intel Iris DRI (Gallium) driver."
297     DEPEND="== ${PCAT}/mesa-${PVER}
298     == ${PCAT}/mesa-xa-tracker-${PVER}"
299     }
300    
301     split_info_mesa-vulkan-radeon()
302     {
303     DESCRIPTION="Mesa AMD Radeon Vulkan driver."
304     DEPEND="== ${PCAT}/mesa-${PVER}
305     == ${PCAT}/mesa-xa-tracker-${PVER}"
306     }
307    
308     split_info_mesa-vulkan-radeon-dev()
309     {
310     DESCRIPTION="Dev package for mesa-vulkan-radeon"
311     DEPEND="== media-libs/mesa-vulkan-radeon-${PVER}"
312     }
313    
314     split_info_mesa-vulkan-intel()
315     {
316     DESCRIPTION="Mesa Intel Vulkan driver."
317     DEPEND="== ${PCAT}/mesa-${PVER}
318     == ${PCAT}/mesa-xa-tracker-${PVER}"
319     }
320    
321     split_info_mesa-vulkan-intel-dev()
322     {
323     DESCRIPTION="Dev package for mesa-intel-radeon"
324     DEPEND="== media-libs/mesa-vulkan-intel-${PVER}"
325     }
326    
327     split_info_mesa-vdpau-nouveau()
328     {
329     DESCRIPTION="Mesa NVIDIA Nouveau VDPAU driver."
330     DEPEND="== ${PCAT}/mesa-${PVER}"
331     }
332    
333     split_info_mesa-vdpau-r300()
334     {
335     DESCRIPTION="Mesa AMD Radeon r300 VDPAU driver."
336     DEPEND="== ${PCAT}/mesa-${PVER}"
337     }
338    
339     split_info_mesa-vdpau-r600()
340     {
341     DESCRIPTION="Mesa AMD Radeon r600 VDPAU driver."
342     DEPEND="== ${PCAT}/mesa-${PVER}"
343     }
344    
345     split_info_mesa-vdpau-radeonsi()
346     {
347     DESCRIPTION="Mesa AMD Radeon radeonsi VDPAU driver."
348     DEPEND="== ${PCAT}/mesa-${PVER}"
349     }
350    
351     split_info_mesa-vaapi-nouveau()
352     {
353     DESCRIPTION="Mesa NVIDIA Nouveau VAAPI driver."
354     DEPEND="== ${PCAT}/mesa-${PVER}"
355     }
356    
357     split_info_mesa-vaapi-r600()
358     {
359     DESCRIPTION="Mesa AMD Radeon r600 VAAPI driver."
360     DEPEND="== ${PCAT}/mesa-${PVER}"
361     }
362    
363     split_info_mesa-vaapi-radeonsi()
364     {
365     DESCRIPTION="Mesa AMD Radeon radeonsi VAAPI driver."
366     DEPEND="== ${PCAT}/mesa-${PVER}"
367     }
368    
369     install_dri_driver()
370     {
371     local drivers="$@"
372     local dri_drivers
373     local i
374    
375     for i in ${drivers}
376     do
377     case ${driver} in
378     *) dri_drivers="${i}_dri.so" ;;
379     esac
380     done
381    
382     DESTDIR=${BINDIR} mninja install || die
383     zapmost ${BINDIR} \
384     $(for i in ${dri_drivers}; do echo "usr/$(mlibdir)/dri/${i}"; done) \
385     $([[ $(mlibdir) != lib ]] && for i in ${dri_drivers}; do echo "usr/lib/dri/${i}"; done) \
386     || die
387     }
388    
389     install_vulkan_driver()
390     {
391     local driver="$1"
392     local vulkan_drivers
393    
394     case ${driver} in
395     *) vulkan_drivers="libvulkan_${driver}.so" ;;
396     esac
397    
398     DESTDIR=${BINDIR} mninja install || die
399     zapmost ${BINDIR} \
400     $(for i in ${vulkan_drivers}; do echo "usr/$(mlibdir)/${i}"; done) \
401     $([[ $(mlibdir) != lib ]] && for i in ${vulkan_drivers}; do echo "usr/lib/${i}"; done) \
402     usr/include/vulkan/vulkan_${driver}.h \
403     usr/share/vulkan/icd.d/${driver}_icd\*.json \
404     || die
405    
406     if [[ ${ENABLE_DEV_PACKAGES} = 1 ]]
407     then
408     mdelete -r /usr/include || die
409     fi
410     }
411    
412     install_vulkan_driver_dev()
413     {
414     local driver="$1"
415     local vulkan_drivers
416    
417     DESTDIR=${BINDIR} mninja install || die
418     zapmost ${BINDIR} \
419     usr/include/vulkan/vulkan_${driver}.h \
420     || die
421     }
422    
423     install_vdpau_driver()
424     {
425     local driver="$1"
426    
427     DESTDIR=${BINDIR} mninja install || die
428     zapmost ${BINDIR} usr/$(mlibdir)/vdpau/libvdpau_${driver}.* || die
429     if [[ $(mlibdir) != lib ]]
430     then
431     zapmost ${BINDIR} usr/lib/vdpau/libvdpau_${driver}.* || die
432     fi
433     }
434    
435     install_vaapi_driver()
436     {
437     local driver="$1"
438     local vaapi_drivers
439    
440     case ${driver} in
441     *) vaapi_drivers="${driver}_drv_video.so" ;;
442     esac
443    
444     DESTDIR=${BINDIR} mninja install || die
445     zapmost ${BINDIR} \
446     $(for i in ${vaapi_drivers}; do echo "usr/$(mlibdir)/dri/${i}"; done) \
447     $([[ $(mlibdir) != lib ]] && for i in ${vaapi_drivers}; do echo "usr/lib/dri/${i}"; done) \
448     || die
449     }
450    
451     src_prepare()
452     {
453     munpack ${SRCFILE} || die
454    
455     # get rid of glut includes
456     all-abis rm -f include/GL/glut*h || die
457     }
458    
459     src_compile()
460     {
461     local myconf
462    
463     MESA_DRI_DRIVERS="i915,i965,r100,r200,nouveau"
464     MESA_GALLIUM_DRIVERS+="swrast,nouveau,r300,r600,radeonsi,svga,virgl,iris"
465     MESA_VULKAN_DRIVERS+="amd,intel"
466    
467     if [[ ${ENABLE_VDPAU} = 1 ]]
468     then
469     myopts=" $(meson_bool_true gallium-vdpau)"
470     else
471     myopts=" $(meson_bool_false gallium-vdpau)"
472     fi
473     if [[ ${ENABLE_VAAPI} = 1 ]]
474     then
475     myopts=" $(meson_bool_true gallium-va)"
476     else
477     myopts=" $(meson_bool_false gallium-va)"
478     fi
479     if [[ ${ENABLE_XVMC} = 1 ]]
480     then
481     myopts=" $(meson_bool_true gallium-xvmc)"
482     else
483     myopts=" $(meson_bool_false gallium-xvmc)"
484     fi
485    
486     meson_configure \
487     $(meson_opt platforms x11,drm,surfaceless) \
488     $(meson_opt dri-drivers-path /usr/'$(mlibdir)'/dri) \
489     $(meson_opt dri-drivers ${MESA_DRI_DRIVERS}) \
490     $(meson_opt gallium-drivers ${MESA_GALLIUM_DRIVERS}) \
491     $(meson_opt vulkan-drivers ${MESA_VULKAN_DRIVERS}) \
492     $(meson_bool_false vulkan-overlay-layer) \
493     $(meson_bool_true b_ndebug) \
494     $(meson_opt glx dri) \
495     $(meson_bool_true shared-glapi) \
496     $(meson_bool_true dri3) \
497     $(meson_bool_true egl) \
498     $(meson_bool_true gles1) \
499     $(meson_bool_true gles2) \
500     $(meson_bool_true gbm) \
501     $(meson_opt osmesa gallium) \
502     $(meson_opt xa gallium-xa) \
503     $(meson_bool_true llvm) \
504     $(meson_bool_true gallium-nine) \
505     $(meson_bool_true shared-llvm) \
506     $(meson_bool_true glvnd) \
507     ${myopts} \
508     || die
509    
510     mninja || die
511     }
512    
513     src_install_mesa()
514     {
515     DESTDIR=${BINDIR} mninja install || die
516    
517     # remove all la files
518     find ${BINDIR} -name \*.la | xargs rm -fv
519    
520     # export LIBGL_DRIVER_PATH location.
521     # we are using '/usr/lib/dri' as hardcoded location.
522     # but nvidia and ati are using '/usr/$(mlibdir)/xorg/modules/dri'
523     # LIBGL_DRIVER_PATH overwrites the hardcoded location and
524     # if nvidia or ati driver are installed
525     # the dri modules will never be found by libGL
526     # use "LIBGL_DEBUG=verbose glxinfo" to check this issue
527     for abi in ${MULTILIB_ABIS}
528     do
529     [[ ${abi} = m32 ]] && ABI_LIBDIR="lib"
530     [[ ${abi} = m64 ]] && ABI_LIBDIR="lib64"
531     cd ${SRCDIR}-${abi}
532    
533     minstalldir /etc/env.d || die
534     MCONFIG=/etc/env.d/09mesa-${abi}
535     mclearconfig || die
536     maddconfig "LIBGL_DRIVERS_PATH=/usr/$(mlibdir)/dri" || die
537     done
538    
539     # remove xa-tracker
540     mdelete /usr/$(mlibdir)/libxatracker.\* || die
541     if [[ $(mlibdir) != lib ]]
542     then
543     mdelete /usr/lib/libxatracker.\* || die
544     fi
545    
546     # remove dri-drivers
547     mdelete /usr/$(mlibdir)/dri/\*_dri.so || die
548     if [[ $(mlibdir) != lib ]]
549     then
550     mdelete /usr/lib/dri/\*_dri.so || die
551     fi
552    
553     if [[ ${ENABLE_VDPAU} = 1 ]]
554     then
555     # remove vdpau-drivers, they are in extra packages
556     mdelete -r /usr/$(mlibdir)/vdpau || die
557     if [[ $(mlibdir) != lib ]]
558     then
559     mdelete -r /usr/lib/vdpau || die
560     fi
561     fi
562    
563     if [[ ${ENABLE_VAAPI} = 1 ]]
564     then
565     # remove vaapi-drivers, they are in extra packages
566     mdelete /usr/$(mlibdir)/dri/\*_drv_video.so || die
567     if [[ $(mlibdir) != lib ]]
568     then
569     mdelete /usr/lib/dri/\*_drv_video.so || die
570     fi
571     fi
572    
573     # remove vulkan drivers, headers, configs
574     mdelete -r /usr/include/vulkan || die
575     mdelete -r /usr/share/vulkan || die
576     mdelete /usr/$(mlibdir)/libvulkan_\*.so || die
577    
578     # remove libd3d
579     mdelete -r /usr/include/d3dadapter || die
580     mdelete -r /usr/$(mlibdir)/d3d || die
581     mdelete /usr/$(mlibdir)/pkgconfig/d3d.pc || die
582     if [[ $(mlibdir) != lib ]]
583     then
584     mdelete -r /usr/lib/d3d || die
585     mdelete /usr/lib/pkgconfig/d3d.pc || die
586     fi
587    
588     # support indirect rendering
589     mlink libGLX_mesa.so.0 /usr/$(mlibdir)/libGLX_indirect.so.0 || die
590     if [[ $(mlibdir) != lib ]]
591     then
592     mlink libGLX_mesa.so.0 /usr/lib/libGLX_indirect.so.0 || die
593     fi
594    
595     if [[ ${ENABLE_DEV_PACKAGES} = 1 ]]
596     then
597     mdelete -r /usr/include || die
598     mdelete -r /usr/$(mlibdir)/pkgconfig
599     if [[ $(mlibdir) != lib ]]
600     then
601     mdelete -r /usr/lib/pkgconfig
602     fi
603     fi
604     }
605    
606     src_install_mesa-dev()
607     {
608     DESTDIR=${BINDIR} mninja install || die
609    
610     # remove all la files
611     find ${BINDIR} -name \*.la | xargs rm -fv
612    
613     zapmost ${BINDIR} \
614     usr/include \
615     usr/$(mlibdir)/pkgconfig \
616     $([[ $(mlibdir) != lib ]] && echo 'usr/lib/pkgconfig') \
617     || die
618    
619     # remove vulkan drivers, headers, configs
620     mdelete -r /usr/include/vulkan || die
621    
622     # remove libd3d
623     mdelete -r /usr/include/d3dadapter || die
624     mdelete /usr/$(mlibdir)/pkgconfig/d3d.pc || die
625     if [[ $(mlibdir) != lib ]]
626     then
627     mdelete /usr/lib/pkgconfig/d3d.pc || die
628     fi
629     }
630    
631     src_install_mesa-xa-tracker()
632     {
633     DESTDIR=${BINDIR} mninja install || die
634    
635     zapmost ${BINDIR} \
636     usr/$(mlibdir)/libxatracker.* \
637     $([[ $(mlibdir) != lib ]] && echo 'usr/lib/libxatracker.*') \
638     || die
639     }
640    
641     src_install_libd3d()
642     {
643     DESTDIR=${BINDIR} mninja install || die
644    
645     zapmost ${BINDIR} \
646     usr/include/d3dadapter \
647     usr/$(mlibdir)/d3d \
648     $([[ $(mlibdir) != lib ]] && echo 'usr/lib/d3d') \
649     usr/$(mlibdir)/pkgconfig/d3d.pc \
650     $([[ $(mlibdir) != lib ]] && echo 'usr/lib/pkgconfig/d3d.pc') \
651     || die
652    
653     if [[ ${ENABLE_DEV_PACKAGES} = 1 ]]
654     then
655     mdelete -r /usr/include || die
656     mdelete -r /usr/$(mlibdir)/pkgconfig
657     if [[ $(mlibdir) != lib ]]
658     then
659     mdelete -r /usr/lib/pkgconfig
660     fi
661     fi
662     }
663    
664     src_install_libd3d-dev()
665     {
666     DESTDIR=${BINDIR} mninja install || die
667    
668     zapmost ${BINDIR} \
669     usr/include/d3dadapter \
670     usr/$(mlibdir)/pkgconfig/d3d.pc \
671     $([[ $(mlibdir) != lib ]] && echo 'usr/lib/pkgconfig/d3d.pc') \
672     || die
673     }
674    
675     src_install_mesa-dri-i915()
676     {
677     install_dri_driver i915 || die
678     }
679    
680     src_install_mesa-dri-i965()
681     {
682     install_dri_driver i965 || die
683     }
684    
685     src_install_mesa-dri-nouveau()
686     {
687     install_dri_driver nouveau nouveau_vieux || die
688     }
689    
690     src_install_mesa-dri-r200()
691     {
692     install_dri_driver r200 || die
693     }
694    
695     src_install_mesa-dri-r100()
696     {
697     install_dri_driver radeon || die
698     }
699    
700     src_install_mesa-dri-r300()
701     {
702     install_dri_driver r300 || die
703     }
704    
705     src_install_mesa-dri-r600()
706     {
707     install_dri_driver r600 || die
708     }
709    
710     src_install_mesa-dri-radeonsi()
711     {
712     install_dri_driver radeonsi || die
713     }
714    
715     src_install_mesa-dri-swrast()
716     {
717     install_dri_driver swrast kms_swrast || die
718     }
719    
720     src_install_mesa-dri-svga()
721     {
722     install_dri_driver vmwgfx || die
723     }
724    
725     src_install_mesa-dri-virgl()
726     {
727     install_dri_driver virtio_gpu || die
728     }
729    
730     src_install_mesa-dri-iris()
731     {
732     install_dri_driver iris || die
733     }
734    
735     src_install_mesa-vulkan-radeon()
736     {
737     install_vulkan_driver radeon || die
738     }
739    
740     src_install_mesa-vulkan-radeon-dev()
741     {
742     install_vulkan_driver_dev radeon || die
743     }
744    
745     src_install_mesa-vulkan-intel()
746     {
747     install_vulkan_driver intel || die
748     }
749    
750     src_install_mesa-vulkan-intel-dev()
751     {
752     install_vulkan_driver_dev intel || die
753     }
754    
755     src_install_mesa-vdpau-nouveau()
756     {
757     install_vdpau_driver nouveau || die
758     }
759    
760     src_install_mesa-vdpau-r300()
761     {
762     install_vdpau_driver r300 || die
763     }
764    
765     src_install_mesa-vdpau-r600()
766     {
767     install_vdpau_driver r600 || die
768     }
769    
770     src_install_mesa-vdpau-radeonsi()
771     {
772     install_vdpau_driver radeonsi || die
773     }
774    
775     src_install_mesa-vaapi-nouveau()
776     {
777     install_vaapi_driver nouveau || die
778     }
779    
780     src_install_mesa-vaapi-r600()
781     {
782     install_vaapi_driver r600 || die
783     }
784    
785     src_install_mesa-vaapi-radeonsi()
786     {
787     install_vaapi_driver radeonsi || die
788     }
789    
790     preinstall_mesa()
791     {
792     local i
793    
794     # clean up deprecated dynamic opengl symlinks in favor of libglvnd
795     for i in GL/{gl,glx,glext,glxext}.h \
796     EGL/{eglextchromium,eglext,egl,eglmesaext,eglplatform}.h \
797     GLES/{egl,glextm,gl,glplatform}.h \
798     GLES2/{gl2ext,gl2,gl2platform}.h \
799     GLES3/{gl31,gl3ext,gl3,gl3platform}.h \
800     KHR/khrplatform.h
801     do
802     if [ -L ${MROOT}/usr/include/${i} ]
803     then
804     echo "pruning dynamic opengl symlink '${MROOT}/usr/include/${i}'"
805     rm ${MROOT}/usr/include/${i}
806     fi
807     done
808     }
809    
810     postinstall_mesa()
811     {
812     echo "Searching deprecated package 'opengl-update'..."
813     if [[ ! -z $(magequery -n opengl-update) ]]
814     then
815     echo "Uninstalling deprecated package 'opengl-update'..."
816     mage uninstall opengl-update
817     fi
818     }