Magellan Linux

Contents of /smage/branches/alx07x-unstable/core/mesa/mesa-20.1.7-r1.smage2

Parent Directory Parent Directory | Revision Log Revision Log


Revision 15514 - (show annotations) (download)
Wed Sep 9 13:52:29 2020 UTC (3 years, 7 months ago) by niro
File size: 17450 byte(s)
-release branches/alx07x-unstable
1 # $Id$
2
3 PNAME="mesa"
4 PVER="20.1.7"
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 }