Magellan Linux

Annotation of /smage/trunk/core/mesa/mesa-20.1.2-r1.smage2

Parent Directory Parent Directory | Revision Log Revision Log


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