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