Magellan Linux

Contents of /smage/trunk/core/mesa/mesa-20.1.2-r2.smage2

Parent Directory Parent Directory | Revision Log Revision Log


Revision 14410 - (show annotations) (download)
Mon Jul 13 12:42:02 2020 UTC (3 years, 9 months ago) by niro
File size: 17455 byte(s)
-fixed MESA_DEV_DEPENDS and split libd3d
1 # $Id$
2
3 PNAME="mesa"
4 PVER="20.1.2"
5 PBUILD="r2"
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 ${LIBD3D_DEPEND}"
214 }
215
216 split_info_mesa-dev()
217 {
218 DESCRIPTION="Dev package for libd3d"
219 DEPEND="== media-libs/libd3d-${PVER}"
220 }
221
222 split_info_mesa-dri-i915()
223 {
224 DESCRIPTION="Mesa Intel i915 DRI driver."
225 DEPEND="== ${PCAT}/mesa-${PVER}"
226 }
227
228 split_info_mesa-dri-i965()
229 {
230 DESCRIPTION="Mesa Intel i965 DRI driver."
231 DEPEND="== ${PCAT}/mesa-${PVER}"
232 }
233
234 split_info_mesa-dri-r200()
235 {
236 DESCRIPTION="Mesa AMD Radeon r200 DRI driver."
237 DEPEND="== ${PCAT}/mesa-${PVER}"
238 }
239
240 split_info_mesa-dri-r100()
241 {
242 DESCRIPTION="Mesa ATI Radeon generic DRI driver."
243 DEPEND="== ${PCAT}/mesa-${PVER}"
244 }
245
246 split_info_mesa-dri-nouveau()
247 {
248 DESCRIPTION="Mesa Nvidia Nouveau DRI and Gallium driver."
249 DEPEND="== ${PCAT}/mesa-${PVER}
250 == ${PCAT}/mesa-xa-tracker-${PVER}"
251 }
252
253 split_info_mesa-dri-r300()
254 {
255 DESCRIPTION="Mesa Ati Radeon r300 DRI (Gallium) driver."
256 DEPEND="== ${PCAT}/mesa-${PVER}
257 == ${PCAT}/mesa-xa-tracker-${PVER}"
258 }
259
260 split_info_mesa-dri-r600()
261 {
262 DESCRIPTION="Mesa Ati Radeon r600 DRI (Gallium) driver."
263 DEPEND="== ${PCAT}/mesa-${PVER}
264 == ${PCAT}/mesa-xa-tracker-${PVER}"
265 }
266
267 split_info_mesa-dri-radeonsi()
268 {
269 DESCRIPTION="Mesa AMD Radeon radeonsi DRI (Gallium) driver."
270 DEPEND="== ${PCAT}/mesa-${PVER}
271 == ${PCAT}/mesa-xa-tracker-${PVER}"
272 }
273
274 split_info_mesa-dri-swrast()
275 {
276 DESCRIPTION="Mesa Software Raster DRI (Gallium) driver."
277 DEPEND="== ${PCAT}/mesa-${PVER}
278 == ${PCAT}/mesa-xa-tracker-${PVER}"
279 }
280
281 split_info_mesa-dri-svga()
282 {
283 DESCRIPTION="Mesa Vmware svga DRI (Gallium) driver."
284 DEPEND="== ${PCAT}/mesa-${PVER}
285 == ${PCAT}/mesa-xa-tracker-${PVER}"
286 }
287
288 split_info_mesa-dri-virgl()
289 {
290 DESCRIPTION="Mesa VirtualGL DRI (Gallium) driver."
291 DEPEND="== ${PCAT}/mesa-${PVER}
292 == ${PCAT}/mesa-xa-tracker-${PVER}"
293 }
294
295 split_info_mesa-dri-iris()
296 {
297 DESCRIPTION="Mesa Intel Iris DRI (Gallium) driver."
298 DEPEND="== ${PCAT}/mesa-${PVER}
299 == ${PCAT}/mesa-xa-tracker-${PVER}"
300 }
301
302 split_info_mesa-vulkan-radeon()
303 {
304 DESCRIPTION="Mesa AMD Radeon Vulkan driver."
305 DEPEND="== ${PCAT}/mesa-${PVER}
306 == ${PCAT}/mesa-xa-tracker-${PVER}"
307 }
308
309 split_info_mesa-vulkan-radeon-dev()
310 {
311 DESCRIPTION="Dev package for mesa-vulkan-radeon"
312 DEPEND="== media-libs/mesa-vulkan-radeon-${PVER}"
313 }
314
315 split_info_mesa-vulkan-intel()
316 {
317 DESCRIPTION="Mesa Intel Vulkan driver."
318 DEPEND="== ${PCAT}/mesa-${PVER}
319 == ${PCAT}/mesa-xa-tracker-${PVER}"
320 }
321
322 split_info_mesa-vulkan-intel-dev()
323 {
324 DESCRIPTION="Dev package for mesa-intel-radeon"
325 DEPEND="== media-libs/mesa-vulkan-intel-${PVER}"
326 }
327
328 split_info_mesa-vdpau-nouveau()
329 {
330 DESCRIPTION="Mesa NVIDIA Nouveau VDPAU driver."
331 DEPEND="== ${PCAT}/mesa-${PVER}"
332 }
333
334 split_info_mesa-vdpau-r300()
335 {
336 DESCRIPTION="Mesa AMD Radeon r300 VDPAU driver."
337 DEPEND="== ${PCAT}/mesa-${PVER}"
338 }
339
340 split_info_mesa-vdpau-r600()
341 {
342 DESCRIPTION="Mesa AMD Radeon r600 VDPAU driver."
343 DEPEND="== ${PCAT}/mesa-${PVER}"
344 }
345
346 split_info_mesa-vdpau-radeonsi()
347 {
348 DESCRIPTION="Mesa AMD Radeon radeonsi VDPAU driver."
349 DEPEND="== ${PCAT}/mesa-${PVER}"
350 }
351
352 split_info_mesa-vaapi-nouveau()
353 {
354 DESCRIPTION="Mesa NVIDIA Nouveau VAAPI driver."
355 DEPEND="== ${PCAT}/mesa-${PVER}"
356 }
357
358 split_info_mesa-vaapi-r600()
359 {
360 DESCRIPTION="Mesa AMD Radeon r600 VAAPI driver."
361 DEPEND="== ${PCAT}/mesa-${PVER}"
362 }
363
364 split_info_mesa-vaapi-radeonsi()
365 {
366 DESCRIPTION="Mesa AMD Radeon radeonsi VAAPI driver."
367 DEPEND="== ${PCAT}/mesa-${PVER}"
368 }
369
370 install_dri_driver()
371 {
372 local drivers="$@"
373 local dri_drivers
374 local i
375
376 for i in ${drivers}
377 do
378 case ${driver} in
379 *) dri_drivers="${i}_dri.so" ;;
380 esac
381 done
382
383 DESTDIR=${BINDIR} mninja install || die
384 zapmost ${BINDIR} \
385 $(for i in ${dri_drivers}; do echo "usr/$(mlibdir)/dri/${i}"; done) \
386 $([[ $(mlibdir) != lib ]] && for i in ${dri_drivers}; do echo "usr/lib/dri/${i}"; done) \
387 || die
388 }
389
390 install_vulkan_driver()
391 {
392 local driver="$1"
393 local vulkan_drivers
394
395 case ${driver} in
396 *) vulkan_drivers="libvulkan_${driver}.so" ;;
397 esac
398
399 DESTDIR=${BINDIR} mninja install || die
400 zapmost ${BINDIR} \
401 $(for i in ${vulkan_drivers}; do echo "usr/$(mlibdir)/${i}"; done) \
402 $([[ $(mlibdir) != lib ]] && for i in ${vulkan_drivers}; do echo "usr/lib/${i}"; done) \
403 usr/include/vulkan/vulkan_${driver}.h \
404 usr/share/vulkan/icd.d/${driver}_icd\*.json \
405 || die
406
407 if [[ ${ENABLE_DEV_PACKAGES} = 1 ]]
408 then
409 mdelete -r /usr/include || die
410 fi
411 }
412
413 install_vulkan_driver_dev()
414 {
415 local driver="$1"
416 local vulkan_drivers
417
418 DESTDIR=${BINDIR} mninja install || die
419 zapmost ${BINDIR} \
420 usr/include/vulkan/vulkan_${driver}.h \
421 || die
422 }
423
424 install_vdpau_driver()
425 {
426 local driver="$1"
427
428 DESTDIR=${BINDIR} mninja install || die
429 zapmost ${BINDIR} usr/$(mlibdir)/vdpau/libvdpau_${driver}.* || die
430 if [[ $(mlibdir) != lib ]]
431 then
432 zapmost ${BINDIR} usr/lib/vdpau/libvdpau_${driver}.* || die
433 fi
434 }
435
436 install_vaapi_driver()
437 {
438 local driver="$1"
439 local vaapi_drivers
440
441 case ${driver} in
442 *) vaapi_drivers="${driver}_drv_video.so" ;;
443 esac
444
445 DESTDIR=${BINDIR} mninja install || die
446 zapmost ${BINDIR} \
447 $(for i in ${vaapi_drivers}; do echo "usr/$(mlibdir)/dri/${i}"; done) \
448 $([[ $(mlibdir) != lib ]] && for i in ${vaapi_drivers}; do echo "usr/lib/dri/${i}"; done) \
449 || die
450 }
451
452 src_prepare()
453 {
454 munpack ${SRCFILE} || die
455
456 # get rid of glut includes
457 all-abis rm -f include/GL/glut*h || die
458 }
459
460 src_compile()
461 {
462 local myconf
463
464 MESA_DRI_DRIVERS="i915,i965,r100,r200,nouveau"
465 MESA_GALLIUM_DRIVERS+="swrast,nouveau,r300,r600,radeonsi,svga,virgl,iris"
466 MESA_VULKAN_DRIVERS+="amd,intel"
467
468 if [[ ${ENABLE_VDPAU} = 1 ]]
469 then
470 myopts=" $(meson_bool_true gallium-vdpau)"
471 else
472 myopts=" $(meson_bool_false gallium-vdpau)"
473 fi
474 if [[ ${ENABLE_VAAPI} = 1 ]]
475 then
476 myopts=" $(meson_bool_true gallium-va)"
477 else
478 myopts=" $(meson_bool_false gallium-va)"
479 fi
480 if [[ ${ENABLE_XVMC} = 1 ]]
481 then
482 myopts=" $(meson_bool_true gallium-xvmc)"
483 else
484 myopts=" $(meson_bool_false gallium-xvmc)"
485 fi
486
487 meson_configure \
488 $(meson_opt platforms x11,drm,surfaceless) \
489 $(meson_opt dri-drivers-path /usr/'$(mlibdir)'/dri) \
490 $(meson_opt dri-drivers ${MESA_DRI_DRIVERS}) \
491 $(meson_opt gallium-drivers ${MESA_GALLIUM_DRIVERS}) \
492 $(meson_opt vulkan-drivers ${MESA_VULKAN_DRIVERS}) \
493 $(meson_bool_false vulkan-overlay-layer) \
494 $(meson_bool_true b_ndebug) \
495 $(meson_opt glx dri) \
496 $(meson_bool_true shared-glapi) \
497 $(meson_bool_true dri3) \
498 $(meson_bool_true egl) \
499 $(meson_bool_true gles1) \
500 $(meson_bool_true gles2) \
501 $(meson_bool_true gbm) \
502 $(meson_opt osmesa gallium) \
503 $(meson_opt xa gallium-xa) \
504 $(meson_bool_true llvm) \
505 $(meson_bool_true gallium-nine) \
506 $(meson_bool_true shared-llvm) \
507 $(meson_bool_true glvnd) \
508 ${myopts} \
509 || die
510
511 mninja || die
512 }
513
514 src_install_mesa()
515 {
516 DESTDIR=${BINDIR} mninja install || die
517
518 # remove all la files
519 find ${BINDIR} -name \*.la | xargs rm -fv
520
521 # export LIBGL_DRIVER_PATH location.
522 # we are using '/usr/lib/dri' as hardcoded location.
523 # but nvidia and ati are using '/usr/$(mlibdir)/xorg/modules/dri'
524 # LIBGL_DRIVER_PATH overwrites the hardcoded location and
525 # if nvidia or ati driver are installed
526 # the dri modules will never be found by libGL
527 # use "LIBGL_DEBUG=verbose glxinfo" to check this issue
528 for abi in ${MULTILIB_ABIS}
529 do
530 [[ ${abi} = m32 ]] && ABI_LIBDIR="lib"
531 [[ ${abi} = m64 ]] && ABI_LIBDIR="lib64"
532 cd ${SRCDIR}-${abi}
533
534 minstalldir /etc/env.d || die
535 MCONFIG=/etc/env.d/09mesa-${abi}
536 mclearconfig || die
537 maddconfig "LIBGL_DRIVERS_PATH=/usr/$(mlibdir)/dri" || die
538 done
539
540 # remove xa-tracker
541 mdelete /usr/$(mlibdir)/libxatracker.\* || die
542 if [[ $(mlibdir) != lib ]]
543 then
544 mdelete /usr/lib/libxatracker.\* || die
545 fi
546
547 # remove dri-drivers
548 mdelete /usr/$(mlibdir)/dri/\*_dri.so || die
549 if [[ $(mlibdir) != lib ]]
550 then
551 mdelete /usr/lib/dri/\*_dri.so || die
552 fi
553
554 if [[ ${ENABLE_VDPAU} = 1 ]]
555 then
556 # remove vdpau-drivers, they are in extra packages
557 mdelete -r /usr/$(mlibdir)/vdpau || die
558 if [[ $(mlibdir) != lib ]]
559 then
560 mdelete -r /usr/lib/vdpau || die
561 fi
562 fi
563
564 if [[ ${ENABLE_VAAPI} = 1 ]]
565 then
566 # remove vaapi-drivers, they are in extra packages
567 mdelete /usr/$(mlibdir)/dri/\*_drv_video.so || die
568 if [[ $(mlibdir) != lib ]]
569 then
570 mdelete /usr/lib/dri/\*_drv_video.so || die
571 fi
572 fi
573
574 # remove vulkan drivers, headers, configs
575 mdelete -r /usr/include/vulkan || die
576 mdelete -r /usr/share/vulkan || die
577 mdelete /usr/$(mlibdir)/libvulkan_\*.so || die
578
579 # remove libd3d
580 mdelete -r /usr/include/d3d || die
581 mdelete -r /usr/$(mlibdir)/d3d || die
582 mdelete /usr/$(mlibdir)/pkgconfig/d3d.pc || die
583 if [[ $(mlibdir) != lib ]]
584 then
585 mdelete -r /usr/lib/d3d || die
586 mdelete /usr/lib/pkgconfig/d3d.pc || die
587 fi
588
589 # support indirect rendering
590 mlink libGLX_mesa.so.0 /usr/$(mlibdir)/libGLX_indirect.so.0 || die
591 if [[ $(mlibdir) != lib ]]
592 then
593 mlink libGLX_mesa.so.0 /usr/lib/libGLX_indirect.so.0 || die
594 fi
595
596 if [[ ${ENABLE_DEV_PACKAGES} = 1 ]]
597 then
598 mdelete -r /usr/include || die
599 mdelete -r /usr/$(mlibdir)/pkgconfig
600 if [[ $(mlibdir) != lib ]]
601 then
602 mdelete -r /usr/lib/pkgconfig
603 fi
604 fi
605 }
606
607 src_install_mesa-dev()
608 {
609 DESTDIR=${BINDIR} mninja install || die
610
611 # remove all la files
612 find ${BINDIR} -name \*.la | xargs rm -fv
613
614 zapmost ${BINDIR} \
615 usr/include \
616 usr/$(mlibdir)/pkgconfig \
617 $([[ $(mlibdir) != lib ]] && echo 'usr/lib/pkgconfig') \
618 || die
619
620 # remove vulkan drivers, headers, configs
621 mdelete -r /usr/include/vulkan || die
622
623 # remove libd3d
624 mdelete -r /usr/include/d3d || die
625 mdelete /usr/$(mlibdir)/pkgconfig/d3d.pc || die
626 if [[ $(mlibdir) != lib ]]
627 then
628 mdelete /usr/lib/pkgconfig/d3d.pc || die
629 fi
630 }
631
632 src_install_mesa-xa-tracker()
633 {
634 DESTDIR=${BINDIR} mninja install || die
635
636 zapmost ${BINDIR} \
637 usr/$(mlibdir)/libxatracker.* \
638 $([[ $(mlibdir) != lib ]] && echo 'usr/lib/libxatracker.*') \
639 || die
640 }
641
642 src_install_libd3d()
643 {
644 DESTDIR=${BINDIR} mninja install || die
645
646 zapmost ${BINDIR} \
647 usr/include/d3dadapter \
648 usr/$(mlibdir)/d3d \
649 $([[ $(mlibdir) != lib ]] && echo 'usr/lib/d3d') \
650 usr/$(mlibdir)/pkgconfig/d3d.pc \
651 $([[ $(mlibdir) != lib ]] && echo 'usr/lib/pkgconfig/d3d.pc') \
652 || die
653
654 if [[ ${ENABLE_DEV_PACKAGES} = 1 ]]
655 then
656 mdelete -r /usr/include || die
657 mdelete -r /usr/$(mlibdir)/pkgconfig
658 if [[ $(mlibdir) != lib ]]
659 then
660 mdelete -r /usr/lib/pkgconfig
661 fi
662 fi
663 }
664
665 src_install_libd3d-dev()
666 {
667 DESTDIR=${BINDIR} mninja install || die
668
669 zapmost ${BINDIR} \
670 usr/include/d3dadapter \
671 usr/$(mlibdir)/pkgconfig/d3d.pc \
672 $([[ $(mlibdir) != lib ]] && echo 'usr/lib/pkgconfig/d3d.pc') \
673 || die
674 }
675
676 src_install_mesa-dri-i915()
677 {
678 install_dri_driver i915 || die
679 }
680
681 src_install_mesa-dri-i965()
682 {
683 install_dri_driver i965 || die
684 }
685
686 src_install_mesa-dri-nouveau()
687 {
688 install_dri_driver nouveau nouveau_vieux || die
689 }
690
691 src_install_mesa-dri-r200()
692 {
693 install_dri_driver r200 || die
694 }
695
696 src_install_mesa-dri-r100()
697 {
698 install_dri_driver radeon || die
699 }
700
701 src_install_mesa-dri-r300()
702 {
703 install_dri_driver r300 || die
704 }
705
706 src_install_mesa-dri-r600()
707 {
708 install_dri_driver r600 || die
709 }
710
711 src_install_mesa-dri-radeonsi()
712 {
713 install_dri_driver radeonsi || die
714 }
715
716 src_install_mesa-dri-swrast()
717 {
718 install_dri_driver swrast kms_swrast || die
719 }
720
721 src_install_mesa-dri-svga()
722 {
723 install_dri_driver vmwgfx || die
724 }
725
726 src_install_mesa-dri-virgl()
727 {
728 install_dri_driver virtio_gpu || die
729 }
730
731 src_install_mesa-dri-iris()
732 {
733 install_dri_driver iris || die
734 }
735
736 src_install_mesa-vulkan-radeon()
737 {
738 install_vulkan_driver radeon || die
739 }
740
741 src_install_mesa-vulkan-radeon-dev()
742 {
743 install_vulkan_driver_dev radeon || die
744 }
745
746 src_install_mesa-vulkan-intel()
747 {
748 install_vulkan_driver intel || die
749 }
750
751 src_install_mesa-vulkan-intel-dev()
752 {
753 install_vulkan_driver_dev intel || die
754 }
755
756 src_install_mesa-vdpau-nouveau()
757 {
758 install_vdpau_driver nouveau || die
759 }
760
761 src_install_mesa-vdpau-r300()
762 {
763 install_vdpau_driver r300 || die
764 }
765
766 src_install_mesa-vdpau-r600()
767 {
768 install_vdpau_driver r600 || die
769 }
770
771 src_install_mesa-vdpau-radeonsi()
772 {
773 install_vdpau_driver radeonsi || die
774 }
775
776 src_install_mesa-vaapi-nouveau()
777 {
778 install_vaapi_driver nouveau || die
779 }
780
781 src_install_mesa-vaapi-r600()
782 {
783 install_vaapi_driver r600 || die
784 }
785
786 src_install_mesa-vaapi-radeonsi()
787 {
788 install_vaapi_driver radeonsi || die
789 }
790
791 preinstall_mesa()
792 {
793 local i
794
795 # clean up deprecated dynamic opengl symlinks in favor of libglvnd
796 for i in GL/{gl,glx,glext,glxext}.h \
797 EGL/{eglextchromium,eglext,egl,eglmesaext,eglplatform}.h \
798 GLES/{egl,glextm,gl,glplatform}.h \
799 GLES2/{gl2ext,gl2,gl2platform}.h \
800 GLES3/{gl31,gl3ext,gl3,gl3platform}.h \
801 KHR/khrplatform.h
802 do
803 if [ -L ${MROOT}/usr/include/${i} ]
804 then
805 echo "pruning dynamic opengl symlink '${MROOT}/usr/include/${i}'"
806 rm ${MROOT}/usr/include/${i}
807 fi
808 done
809 }
810
811 postinstall_mesa()
812 {
813 echo "Searching deprecated package 'opengl-update'..."
814 if [[ ! -z $(magequery -n opengl-update) ]]
815 then
816 echo "Uninstalling deprecated package 'opengl-update'..."
817 mage uninstall opengl-update
818 fi
819 }