Annotation of /smage/branches/alx07x-unstable/core/mesa/mesa-20.1.5-r1.smage2
Parent Directory | Revision Log
Revision 14891 -
(hide annotations)
(download)
Thu Aug 6 12:27:08 2020 UTC (3 years, 9 months ago) by niro
File size: 17450 byte(s)
Thu Aug 6 12:27:08 2020 UTC (3 years, 9 months ago) by niro
File size: 17450 byte(s)
-release branches/alx07x-unstable
1 | niro | 14889 | # $Id$ |
2 | |||
3 | PNAME="mesa" | ||
4 | PVER="20.1.5" | ||
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 | } |