Annotation of /smage/trunk/core/mesa/mesa-20.1.2-r2.smage2
Parent Directory | Revision Log
Revision 14410 -
(hide annotations)
(download)
Mon Jul 13 12:42:02 2020 UTC (3 years, 10 months ago) by niro
File size: 17455 byte(s)
Mon Jul 13 12:42:02 2020 UTC (3 years, 10 months ago) by niro
File size: 17455 byte(s)
-fixed MESA_DEV_DEPENDS and split libd3d
1 | niro | 14410 | # $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 | } |