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