Annotation of /trunk/extras/mesa/mesa-18.3.1-r1.smage2
Parent Directory | Revision Log
Revision 31859 -
(hide annotations)
(download)
Fri Dec 21 10:27:20 2018 UTC (5 years, 9 months ago) by niro
File size: 22937 byte(s)
Fri Dec 21 10:27:20 2018 UTC (5 years, 9 months ago) by niro
File size: 22937 byte(s)
-added missing libXrand depend, only depend on libudev instead of full udev and use python3 with python3-mako
1 | niro | 31858 | # $Id$ |
2 | |||
3 | PNAME="mesa" | ||
4 | PVER="18.3.1" | ||
5 | PBUILD="r1" | ||
6 | |||
7 | SPLIT_PACKAGES="mesa mesa-xa-tracker" | ||
8 | |||
9 | PCAT="media-libs" | ||
10 | HOMEPAGE="http://mesa3d.sourceforge.net/" | ||
11 | |||
12 | # hardcoded llvm version for libxatracker | ||
13 | LLVM_PVER="7.0.1" | ||
14 | |||
15 | MESA_DEPEND=">= dev-libs/expat-2.1 | ||
16 | >= dev-libs/libffi-3.2 | ||
17 | >= x11-libs/libX11-1.6 | ||
18 | >= x11-libs/libXext-1.3 | ||
19 | >= x11-libs/libXxf86vm-1.1 | ||
20 | >= x11-libs/libXi-1.7 | ||
21 | >= x11-libs/libXmu-1.1 | ||
22 | niro | 31859 | >= x11-libs/libXrandr-1.5 |
23 | niro | 31858 | >= x11-libs/libdrm-2.4.96 |
24 | >= x11-libs/libICE-1 | ||
25 | >= x11-base/opengl-update-2.3 | ||
26 | >= x11-libs/libxcb-1.11 | ||
27 | >= x11-libs/libXfixes-5 | ||
28 | >= x11-libs/libXdamage-1 | ||
29 | >= x11-libs/libvdpau-1.1 | ||
30 | >= x11-libs/libva-1.8 | ||
31 | >= x11-libs/libXvMC-1 | ||
32 | >= x11-libs/libxshmfence-1.1 | ||
33 | >= sys-libs/libstdc++-8.2 | ||
34 | niro | 31859 | >= sys-fs/libudev-239 |
35 | niro | 31858 | >= sys-libs/libelf-0.175" |
36 | |||
37 | XA_TRACKER_DEPEND=">= sys-libs/llvm-libs-${LLVM_PVER}" | ||
38 | |||
39 | SDEPEND="${MESA_DEPEND} | ||
40 | ${XA_TRACKER_DEPEND} | ||
41 | >= dev-util/pkgconfig-0.25 | ||
42 | >= x11-misc/makedepend-1 | ||
43 | >= x11-libs/libXxf86vm-1.1 | ||
44 | >= virtual/glproto | ||
45 | >= virtual/xf86driproto | ||
46 | >= virtual/dri2proto | ||
47 | >= virtual/dri3proto | ||
48 | >= virtual/presentproto | ||
49 | >= virtual/xf86vidmodeproto | ||
50 | niro | 31859 | >= dev-lang/python3-3.7 |
51 | >= dev-python/python3-mako-1 | ||
52 | niro | 31858 | >= sys-dev/llvm-${LLVM_PVER}" |
53 | |||
54 | # must be set before the include of multilib! | ||
55 | EMUL_LINUX_32=true | ||
56 | sminclude multilib xorg mtools mbuild cleanutils | ||
57 | msetfeature "!check" | ||
58 | |||
59 | # must be set *after* the include of xorg! | ||
60 | SRCFILE="${PNAME}-${PVER/_/-}.tar.xz" | ||
61 | # libs SRCDIR | ||
62 | SRCDIR="${BUILDDIR}/${PNAME}-${PVER/_/-}" | ||
63 | |||
64 | # known drivers: | ||
65 | # dri: dri-swrast,dri-i915,dri-i965,dri-r200,dri-radeon,dri-i810,dri-mach64,dri-mga, | ||
66 | # dri-r128,dri-r300,dri-r600,dri-savage,dri-sis,dri-tdfx,dri-unichrome | ||
67 | # gallium: gallium-i915,gallium-i965,gallium-r300,gallium-r600,gallium-vmwgfx,gallium-swrast,gallium-nouveau, gallium-radeonsi | ||
68 | MESA_DRIVERS="dri-swrast,dri-i915,dri-i965,dri-r200,dri-radeon,dri-nouveau" | ||
69 | MESA_DRIVERS+="," | ||
70 | MESA_DRIVERS+="gallium-i915,gallium-nouveau,gallium-r300,gallium-r600,gallium-radeonsi,gallium-vmwgfx,gallium-swrast" | ||
71 | |||
72 | # helper functions | ||
73 | driver_enabled() | ||
74 | { | ||
75 | local driver="$1" | ||
76 | |||
77 | if [[ ${MESA_DRIVERS//${driver}} != ${MESA_DRIVERS} ]] | ||
78 | then | ||
79 | return 0 | ||
80 | else | ||
81 | return 1 | ||
82 | fi | ||
83 | } | ||
84 | |||
85 | add_dri_driver() | ||
86 | { | ||
87 | local driver="$1" | ||
88 | |||
89 | if [[ -z ${MESA_DRI_DRIVERS} ]] | ||
90 | then | ||
91 | MESA_DRI_DRIVERS="${driver}" | ||
92 | elif [[ ${MESA_DRI_DRIVERS//${driver}} = ${MESA_DRI_DRIVERS} ]] | ||
93 | then | ||
94 | MESA_DRI_DRIVERS+=",${driver}" | ||
95 | fi | ||
96 | } | ||
97 | |||
98 | add_gallium_driver() | ||
99 | { | ||
100 | local driver="$1" | ||
101 | |||
102 | if [[ -z ${MESA_GALLIUM_DRIVERS} ]] | ||
103 | then | ||
104 | MESA_GALLIUM_DRIVERS="${driver}" | ||
105 | elif [[ ${MESA_GALLIUM_DRIVERS//${driver}} = ${MESA_GALLIUM_DRIVERS} ]] | ||
106 | then | ||
107 | MESA_GALLIUM_DRIVERS+=",${driver}" | ||
108 | fi | ||
109 | } | ||
110 | |||
111 | install_dri_driver() | ||
112 | { | ||
113 | local driver="$1" | ||
114 | local dri_drivers | ||
115 | local i | ||
116 | |||
117 | case ${driver} in | ||
118 | nouveau) dri_drivers="nouveau_vieux_dri.so" ;; | ||
119 | *) dri_drivers="${driver}_dri.so" ;; | ||
120 | esac | ||
121 | |||
122 | # glapi install required beforehand | ||
123 | mmake -C src/mapi DESTDIR=${BINDIR} install || die | ||
124 | mmake -C src/mesa/drivers/dri DESTDIR=${BINDIR} install || die | ||
125 | zapmost ${BINDIR} \ | ||
126 | $(for i in ${dri_drivers}; do echo "usr/$(mlibdir)/dri/${i}"; done) \ | ||
127 | $([[ $(mlibdir) != lib ]] && for i in ${dri_drivers}; do echo "usr/lib/dri/${i}"; done) \ | ||
128 | || die | ||
129 | } | ||
130 | |||
131 | install_gallium_driver() | ||
132 | { | ||
133 | local driver="$1" | ||
134 | local dri_drivers | ||
135 | |||
136 | case ${driver} in | ||
137 | # honor kms-swrast | ||
138 | swrast) dri_drivers="swrast_dri.so kms_swrast_dri.so" ;; | ||
139 | *) dri_drivers="${driver}_dri.so" ;; | ||
140 | esac | ||
141 | |||
142 | # glapi install required beforehand | ||
143 | mmake -C src/mapi DESTDIR=${BINDIR} install || die | ||
144 | mmake -C src/gallium/targets/dri DESTDIR=${BINDIR} install || die | ||
145 | zapmost ${BINDIR} \ | ||
146 | $(for i in ${dri_drivers}; do echo "usr/$(mlibdir)/dri/${i}"; done) \ | ||
147 | $([[ $(mlibdir) != lib ]] && for i in ${dri_drivers}; do echo "usr/lib/dri/${i}"; done) \ | ||
148 | || die | ||
149 | } | ||
150 | |||
151 | install_gallium_pipe_driver() | ||
152 | { | ||
153 | local driver="$1" | ||
154 | |||
155 | # not required anymore with 18.1.0 and higher | ||
156 | # # prereq - libllvmradeon${PVER}.so is needed to link the pipes | ||
157 | # mmake -C src/gallium/drivers/radeon DESTDIR=${BINDIR} install || die | ||
158 | |||
159 | mmake -C src/gallium/targets/pipe-loader DESTDIR=${BINDIR} install || die | ||
160 | zapmost ${BINDIR}/usr/$(mlibdir)/gallium-pipe pipe_${driver}.so || die | ||
161 | if [[ $(mlibdir) != lib ]] | ||
162 | then | ||
163 | zapmost ${BINDIR}/usr/lib/gallium-pipe pipe_${driver}.so || die | ||
164 | fi | ||
165 | |||
166 | # not required anymore with 18.1.0 and higher | ||
167 | # # remove prereq libs | ||
168 | # mmake -C src/gallium/drivers/radeon DESTDIR=${BINDIR} uninstall || die | ||
169 | } | ||
170 | |||
171 | install_gallium_vdpau_driver() | ||
172 | { | ||
173 | local driver="$1" | ||
174 | |||
175 | mmake -C src/gallium/targets/vdpau DESTDIR=${BINDIR} install || die | ||
176 | zapmost ${BINDIR}/usr/$(mlibdir)/vdpau libvdpau_${driver}.* || die | ||
177 | if [[ $(mlibdir) != lib ]] | ||
178 | then | ||
179 | zapmost ${BINDIR}/usr/lib/vdpau libvdpau_${driver}.* || die | ||
180 | fi | ||
181 | } | ||
182 | |||
183 | # setup_dynamic_dri $impl | ||
184 | # impl may be classic or gallium atm | ||
185 | setup_dynamic_dri() | ||
186 | { | ||
187 | local impl="$1" | ||
188 | local i | ||
189 | local abi | ||
190 | |||
191 | [[ -z ${impl} ]] && die "missing dri implementation!" | ||
192 | case ${impl} in | ||
193 | classic|gallium) ;; | ||
194 | *) die "unkown dri implementation '${impl}'!" ;; | ||
195 | esac | ||
196 | |||
197 | echo "settin up dynamic dri for a '${impl} implementation..." | ||
198 | if [[ -z ${MULTILIB_ABIS} ]] | ||
199 | then | ||
200 | minstalldir /usr/$(mlibdir)/mesa/${impl} || die | ||
201 | for i in ${BINDIR}/usr/$(mlibdir)/dri/*_dri.so | ||
202 | do | ||
203 | echo -n " processing ${i}:" | ||
204 | if [ -f ${i} -o -L ${i} ] | ||
205 | then | ||
206 | echo -n " moving" | ||
207 | mv -vf ${i} ${BINDIR}/usr/$(mlibdir)/mesa/${impl} || die "moving ${i}" | ||
208 | fi | ||
209 | done | ||
210 | else | ||
211 | for abi in ${MULTILIB_ABIS} | ||
212 | do | ||
213 | [[ ${abi} = m32 ]] && ABI_LIBDIR="lib" | ||
214 | [[ ${abi} = m64 ]] && ABI_LIBDIR="lib64" | ||
215 | |||
216 | minstalldir /usr/$(mlibdir)/mesa/${impl} || die | ||
217 | for i in ${BINDIR}/usr/$(mlibdir)/dri/*_dri.so | ||
218 | do | ||
219 | echo -n " processing ${i}" | ||
220 | if [ -f ${i} -o -L ${i} ] | ||
221 | then | ||
222 | echo -n " moving" | ||
223 | mv -vf ${i} ${BINDIR}/usr/$(mlibdir)/mesa/${impl} || die "moving ${i}" | ||
224 | fi | ||
225 | echo " done" | ||
226 | done | ||
227 | done | ||
228 | fi | ||
229 | } | ||
230 | |||
231 | SRC_URI=( | ||
232 | ftp://ftp.freedesktop.org/pub/mesa/${PVER%_*}/${SRCFILE} | ||
233 | ftp://ftp.freedesktop.org/pub/mesa/${SRCFILE} | ||
234 | mirror://${PNAME}/${SRCFILE} | ||
235 | ) | ||
236 | |||
237 | UP2DATE="updatecmd ftp://ftp.freedesktop.org/pub/mesa/ | highesttarball xz" | ||
238 | #UP2DATE="updatecmd ftp://ftp.freedesktop.org/pub/mesa/ | grep '/[0-9].*' | sed 's:.*/\(.*\)/:\1:' | upsort_pipe" | ||
239 | |||
240 | split_info_mesa() | ||
241 | { | ||
242 | DESCRIPTION="Mesa3D OpenGL graphics library." | ||
243 | DEPEND="${MESA_DEPEND}" | ||
244 | |||
245 | PROVIDE="virtual/opengl" | ||
246 | } | ||
247 | |||
248 | split_info_mesa-xa-tracker() | ||
249 | { | ||
250 | DESCRIPTION="Mesa XA state tracker." | ||
251 | DEPEND="== media-libs/mesa-${PVER} | ||
252 | ${XA_TRACKER_DEPEND}" | ||
253 | } | ||
254 | |||
255 | if driver_enabled dri-swrast | ||
256 | then | ||
257 | SPLIT_PACKAGES+=" mesa-dri-swrast" | ||
258 | add_dri_driver swrast | ||
259 | |||
260 | split_info_mesa-dri-swrast() | ||
261 | { | ||
262 | DESCRIPTION="Mesa Software Raster DRI driver." | ||
263 | DEPEND="== ${PCAT}/mesa-${PVER}" | ||
264 | } | ||
265 | fi | ||
266 | |||
267 | if driver_enabled dri-i810 | ||
268 | then | ||
269 | SPLIT_PACKAGES+=" mesa-dri-i810" | ||
270 | add_dri_driver i810 | ||
271 | |||
272 | split_info_mesa-dri-i810() | ||
273 | { | ||
274 | DESCRIPTION="Mesa Intel i810 DRI driver." | ||
275 | DEPEND="== ${PCAT}/mesa-${PVER}" | ||
276 | } | ||
277 | fi | ||
278 | |||
279 | if driver_enabled dri-i915 | ||
280 | then | ||
281 | SPLIT_PACKAGES+=" mesa-dri-i915" | ||
282 | add_dri_driver i915 | ||
283 | |||
284 | split_info_mesa-dri-i915() | ||
285 | { | ||
286 | DESCRIPTION="Mesa Intel i915 DRI driver." | ||
287 | DEPEND="== ${PCAT}/mesa-${PVER}" | ||
288 | } | ||
289 | fi | ||
290 | |||
291 | if driver_enabled dri-i965 | ||
292 | then | ||
293 | SPLIT_PACKAGES+=" mesa-dri-i965" | ||
294 | add_dri_driver i965 | ||
295 | |||
296 | split_info_mesa-dri-i965() | ||
297 | { | ||
298 | DESCRIPTION="Mesa Intel i965 DRI driver." | ||
299 | DEPEND="== ${PCAT}/mesa-${PVER}" | ||
300 | } | ||
301 | fi | ||
302 | |||
303 | if driver_enabled dri-mach64 | ||
304 | then | ||
305 | SPLIT_PACKAGES+=" mesa-dri-mach64" | ||
306 | add_dri_driver mach64 | ||
307 | |||
308 | split_info_mesa-dri-mach64() | ||
309 | { | ||
310 | DESCRIPTION="Mesa ATI mach64 DRI driver." | ||
311 | DEPEND="== ${PCAT}/mesa-${PVER}" | ||
312 | } | ||
313 | fi | ||
314 | |||
315 | if driver_enabled dri-mga | ||
316 | then | ||
317 | SPLIT_PACKAGES+=" mesa-dri-mga" | ||
318 | add_dri_driver mga | ||
319 | |||
320 | split_info_mesa-dri-mga() | ||
321 | { | ||
322 | DESCRIPTION="Mesa Matrox mga DRI driver." | ||
323 | DEPEND="== ${PCAT}/mesa-${PVER}" | ||
324 | } | ||
325 | fi | ||
326 | |||
327 | if driver_enabled dri-nouveau | ||
328 | then | ||
329 | SPLIT_PACKAGES+=" mesa-dri-nouveau" | ||
330 | add_dri_driver nouveau | ||
331 | |||
332 | split_info_mesa-dri-nouveau() | ||
333 | { | ||
334 | DESCRIPTION="Mesa Nvidia Nouveau DRI driver." | ||
335 | DEPEND="== ${PCAT}/mesa-${PVER}" | ||
336 | } | ||
337 | fi | ||
338 | |||
339 | if driver_enabled dri-r128 | ||
340 | then | ||
341 | SPLIT_PACKAGES+=" mesa-dri-r128" | ||
342 | add_dri_driver r128 | ||
343 | |||
344 | split_info_mesa-dri-r128() | ||
345 | { | ||
346 | DESCRIPTION="Mesa ATI Rage128 DRI driver." | ||
347 | DEPEND="== ${PCAT}/mesa-${PVER}" | ||
348 | } | ||
349 | fi | ||
350 | |||
351 | if driver_enabled dri-r200 | ||
352 | then | ||
353 | SPLIT_PACKAGES+=" mesa-dri-r200" | ||
354 | add_dri_driver r200 | ||
355 | |||
356 | split_info_mesa-dri-r200() | ||
357 | { | ||
358 | DESCRIPTION="Mesa ATI Radeon r200 DRI driver." | ||
359 | DEPEND="== ${PCAT}/mesa-${PVER}" | ||
360 | } | ||
361 | fi | ||
362 | |||
363 | if driver_enabled dri-r300 | ||
364 | then | ||
365 | SPLIT_PACKAGES+=" mesa-dri-r300" | ||
366 | add_dri_driver r300 | ||
367 | |||
368 | split_info_mesa-dri-r300() | ||
369 | { | ||
370 | DESCRIPTION="Mesa ATI Radeon r300 DRI driver." | ||
371 | DEPEND="== ${PCAT}/mesa-${PVER}" | ||
372 | } | ||
373 | fi | ||
374 | |||
375 | if driver_enabled dri-r600 | ||
376 | then | ||
377 | SPLIT_PACKAGES+=" mesa-dri-r600" | ||
378 | add_dri_driver r600 | ||
379 | |||
380 | split_info_mesa-dri-r600() | ||
381 | { | ||
382 | DESCRIPTION="Mesa ATI Radeon r600 DRI driver." | ||
383 | DEPEND="== ${PCAT}/mesa-${PVER}" | ||
384 | } | ||
385 | fi | ||
386 | |||
387 | if driver_enabled dri-radeon | ||
388 | then | ||
389 | SPLIT_PACKAGES+=" mesa-dri-radeon" | ||
390 | add_dri_driver radeon | ||
391 | |||
392 | split_info_mesa-dri-radeon() | ||
393 | { | ||
394 | DESCRIPTION="Mesa ATI Radeon generic DRI driver." | ||
395 | DEPEND="== ${PCAT}/mesa-${PVER}" | ||
396 | } | ||
397 | fi | ||
398 | |||
399 | if driver_enabled dri-savage | ||
400 | then | ||
401 | SPLIT_PACKAGES+=" mesa-dri-savage" | ||
402 | add_dri_driver savage | ||
403 | |||
404 | split_info_mesa-dri-savage() | ||
405 | { | ||
406 | DESCRIPTION="Mesa S3 Savage DRI driver." | ||
407 | DEPEND="== ${PCAT}/mesa-${PVER}" | ||
408 | } | ||
409 | fi | ||
410 | |||
411 | if driver_enabled dri-sis | ||
412 | then | ||
413 | SPLIT_PACKAGES+=" mesa-dri-sis" | ||
414 | add_dri_driver sis | ||
415 | |||
416 | split_info_mesa-dri-sis() | ||
417 | { | ||
418 | DESCRIPTION="Mesa SIS generic DRI driver." | ||
419 | DEPEND="== ${PCAT}/mesa-${PVER}" | ||
420 | } | ||
421 | fi | ||
422 | |||
423 | if driver_enabled dri-tdfx | ||
424 | then | ||
425 | SPLIT_PACKAGES+=" mesa-dri-tdfx" | ||
426 | add_dri_driver tdfx | ||
427 | |||
428 | split_info_mesa-dri-tdfx() | ||
429 | { | ||
430 | DESCRIPTION="Mesa 3DFX Voodoo DRI driver." | ||
431 | DEPEND="== ${PCAT}/mesa-${PVER}" | ||
432 | } | ||
433 | fi | ||
434 | |||
435 | if driver_enabled dri-unichrome | ||
436 | then | ||
437 | SPLIT_PACKAGES+=" mesa-dri-unichrome" | ||
438 | add_dri_driver unichrome | ||
439 | |||
440 | split_info_mesa-dri-unichrome() | ||
441 | { | ||
442 | DESCRIPTION="Mesa VIA Chrome DRI driver." | ||
443 | DEPEND="== ${PCAT}/mesa-${PVER}" | ||
444 | } | ||
445 | fi | ||
446 | |||
447 | if driver_enabled gallium-i915 | ||
448 | then | ||
449 | SPLIT_PACKAGES+=" mesa-gallium-i915" | ||
450 | add_gallium_driver i915 | ||
451 | |||
452 | split_info_mesa-gallium-i915() | ||
453 | { | ||
454 | DESCRIPTION="Mesa Intel i915 Gallium driver." | ||
455 | DEPEND="== ${PCAT}/mesa-${PVER} | ||
456 | == ${PCAT}/mesa-xa-tracker-${PVER}" | ||
457 | } | ||
458 | fi | ||
459 | |||
460 | if driver_enabled gallium-i965 | ||
461 | then | ||
462 | SPLIT_PACKAGES+=" mesa-gallium-i965" | ||
463 | add_gallium_driver i965 | ||
464 | |||
465 | split_info_mesa-gallium-i965() | ||
466 | { | ||
467 | DESCRIPTION="Mesa Intel i965 Gallium driver." | ||
468 | DEPEND="== ${PCAT}/mesa-${PVER} | ||
469 | == ${PCAT}/mesa-xa-tracker-${PVER}" | ||
470 | } | ||
471 | fi | ||
472 | |||
473 | if driver_enabled gallium-nouveau | ||
474 | then | ||
475 | SPLIT_PACKAGES+=" mesa-gallium-nouveau" | ||
476 | add_gallium_driver nouveau | ||
477 | |||
478 | split_info_mesa-gallium-nouveau() | ||
479 | { | ||
480 | DESCRIPTION="Mesa Nvidia Nouveau Gallium driver." | ||
481 | DEPEND="== ${PCAT}/mesa-${PVER} | ||
482 | == ${PCAT}/mesa-xa-tracker-${PVER}" | ||
483 | } | ||
484 | fi | ||
485 | |||
486 | if driver_enabled gallium-r300 | ||
487 | then | ||
488 | SPLIT_PACKAGES+=" mesa-gallium-r300" | ||
489 | add_gallium_driver r300 | ||
490 | |||
491 | split_info_mesa-gallium-r300() | ||
492 | { | ||
493 | DESCRIPTION="Mesa Ati Radeon r300 Gallium driver." | ||
494 | DEPEND="== ${PCAT}/mesa-${PVER} | ||
495 | == ${PCAT}/mesa-xa-tracker-${PVER}" | ||
496 | } | ||
497 | fi | ||
498 | |||
499 | if driver_enabled gallium-r600 | ||
500 | then | ||
501 | SPLIT_PACKAGES+=" mesa-gallium-r600" | ||
502 | add_gallium_driver r600 | ||
503 | |||
504 | split_info_mesa-gallium-r600() | ||
505 | { | ||
506 | DESCRIPTION="Mesa Ati Radeon r600 Gallium driver." | ||
507 | DEPEND="== ${PCAT}/mesa-${PVER} | ||
508 | == ${PCAT}/mesa-xa-tracker-${PVER}" | ||
509 | } | ||
510 | fi | ||
511 | |||
512 | if driver_enabled gallium-radeonsi | ||
513 | then | ||
514 | SPLIT_PACKAGES+=" mesa-gallium-radeonsi" | ||
515 | add_gallium_driver radeonsi | ||
516 | |||
517 | split_info_mesa-gallium-radeonsi() | ||
518 | { | ||
519 | DESCRIPTION="Mesa Ati Radeon radeonsi Gallium driver." | ||
520 | DEPEND="== ${PCAT}/mesa-${PVER} | ||
521 | == ${PCAT}/mesa-xa-tracker-${PVER}" | ||
522 | } | ||
523 | fi | ||
524 | |||
525 | if driver_enabled gallium-swrast | ||
526 | then | ||
527 | SPLIT_PACKAGES+=" mesa-gallium-swrast" | ||
528 | add_gallium_driver swrast | ||
529 | |||
530 | split_info_mesa-gallium-swrast() | ||
531 | { | ||
532 | DESCRIPTION="Mesa Software Raster Gallium driver." | ||
533 | DEPEND="== ${PCAT}/mesa-${PVER} | ||
534 | == ${PCAT}/mesa-xa-tracker-${PVER}" | ||
535 | } | ||
536 | fi | ||
537 | |||
538 | if driver_enabled gallium-vmwgfx | ||
539 | then | ||
540 | SPLIT_PACKAGES+=" mesa-gallium-vmwgfx" | ||
541 | add_gallium_driver svga | ||
542 | |||
543 | split_info_mesa-gallium-vmwgfx() | ||
544 | { | ||
545 | DESCRIPTION="Mesa Vmware generic Gallium driver." | ||
546 | DEPEND="== ${PCAT}/mesa-${PVER} | ||
547 | == ${PCAT}/mesa-xa-tracker-${PVER}" | ||
548 | } | ||
549 | fi | ||
550 | |||
551 | src_prepare() | ||
552 | { | ||
553 | munpack ${SRCFILE} || die | ||
554 | |||
555 | # no debug code in the drives (gentoo) | ||
556 | all-abis 'find src/mesa/drivers/dri -name *.[hc] -exec egrep -l "\#define\W+DO_DEBUG\W+1" {} \; | xargs --no-run-if-empty sed -i -re "s/\#define\W+DO_DEBUG\W+1/\#define DO_DEBUG 0/" ;' | ||
557 | |||
558 | # get rid of glut includes | ||
559 | all-abis rm -f include/GL/glut*h || die | ||
560 | |||
561 | # fix an error in the libva detection | ||
562 | # all-abis 'sed -i "s:libva = 0.31.1:libva >= 0.31.1:" configure.ac' || die | ||
563 | |||
564 | mautoreconf || die | ||
565 | } | ||
566 | |||
567 | src_compile() | ||
568 | { | ||
569 | # build without rtti and exeptions, fixes issues with llvm as well | ||
570 | export CXXFLAGS="${CXXFLAGS} -fno-rtti -fno-exceptions -DNDEBUG" | ||
571 | |||
572 | # texture-float has patent issues in non european contries | ||
573 | # disable this feature if this legal concern is affected | ||
574 | local myconf="--enable-texture-float" | ||
575 | |||
576 | mconfigure \ | ||
577 | --with-dri-driverdir=/usr/'$(mlibdir)'/dri \ | ||
578 | --with-dri-drivers=${MESA_DRI_DRIVERS} \ | ||
579 | --with-gallium-drivers=${MESA_GALLIUM_DRIVERS} \ | ||
580 | --with-egl-platforms=x11,drm \ | ||
581 | --disable-debug \ | ||
582 | --enable-glx-tls \ | ||
583 | --enable-asm \ | ||
584 | --enable-shared-glapi \ | ||
585 | --enable-egl \ | ||
586 | --enable-gles1 \ | ||
587 | --enable-gles2 \ | ||
588 | --enable-gbm \ | ||
589 | --enable-osmesa \ | ||
590 | --enable-xa \ | ||
591 | --enable-gallium-egl \ | ||
592 | --enable-gallium-llvm \ | ||
593 | --enable-vdpau \ | ||
594 | --enable-llvm-shared-libs \ | ||
595 | ${myconf} \ | ||
596 | || die | ||
597 | # --enable-va \ | ||
598 | |||
599 | # # only build software renderer on multilib arches for 32Bit | ||
600 | # if [[ ${ARCH} = x86_64 ]] | ||
601 | # then | ||
602 | # only-m32 "echo 'DRI_DIRS =' >> configs/autoconf" || die | ||
603 | # fi | ||
604 | |||
605 | mmake -j1 || die | ||
606 | } | ||
607 | |||
608 | src_install_mesa() | ||
609 | { | ||
610 | mmake DESTDIR=${BINDIR} install || die | ||
611 | |||
612 | # remove all la files | ||
613 | find ${BINDIR} -name \*.la | xargs rm -fv | ||
614 | |||
615 | # setup included for dynamic opengl | ||
616 | # only target arch needed on multilib systems | ||
617 | minstalldir /usr/$(mlibdir)/opengl/xorg/include/GL || die | ||
618 | for x in ${BINDIR}/usr/include/GL/{gl.h,glx.h,glext.h,glxext.h} | ||
619 | do | ||
620 | if [ -f ${x} -o -L ${x} ] | ||
621 | then | ||
622 | mv -fv ${x} ${BINDIR}/usr/$(mlibdir)/opengl/xorg/include/GL || die "${x}" | ||
623 | fi | ||
624 | done | ||
625 | for x in ${BINDIR}/usr/include/{EGL,GLES*,VG,KHR} | ||
626 | do | ||
627 | if [ -d ${x} ] | ||
628 | then | ||
629 | mv -fv ${x} ${BINDIR}/usr/$(mlibdir)/opengl/xorg/include || die "${x}" | ||
630 | fi | ||
631 | done | ||
632 | |||
633 | for abi in ${MULTILIB_ABIS} | ||
634 | do | ||
635 | [[ ${abi} = m32 ]] && ABI_LIBDIR="lib" | ||
636 | [[ ${abi} = m64 ]] && ABI_LIBDIR="lib64" | ||
637 | cd ${SRCDIR}-${abi} | ||
638 | |||
639 | # setup dynamic opengl | ||
640 | minstalldir /usr/$(mlibdir)/opengl/xorg/lib || die | ||
641 | minstalldir /usr/$(mlibdir)/opengl/xorg/extensions || die | ||
642 | |||
643 | local x | ||
644 | for x in ${BINDIR}/usr/$(mlibdir)/lib{EGL,GL*,OpenVG}.{la,a,so*} | ||
645 | do | ||
646 | if [ -f ${x} -o -L ${x} ] | ||
647 | then | ||
648 | mv -fv ${x} ${BINDIR}/usr/$(mlibdir)/opengl/xorg/lib || die "${x}" | ||
649 | fi | ||
650 | done | ||
651 | |||
652 | # export LIBGL_DRIVER_PATH location. | ||
653 | # we are using '/usr/lib/dri' as hardcoded location. | ||
654 | # but nvidia and ati are using '/usr/$(mlibdir)/xorg/modules/dri' | ||
655 | # LIBGL_DRIVER_PATH overwrites the hardcoded location and | ||
656 | # if nvidia or ati driver are installed | ||
657 | # the dri modules will never be found by libGL | ||
658 | # use "LIBGL_DEBUG=verbose glxinfo" to check this issue | ||
659 | minstalldir /etc/env.d || die | ||
660 | MCONFIG=/etc/env.d/09mesa-${abi} | ||
661 | mclearconfig || die | ||
662 | maddconfig "LIBGL_DRIVERS_PATH=/usr/$(mlibdir)/dri" || die | ||
663 | |||
664 | # remove dri-drivers, they are in extra packages | ||
665 | rm -rv ${BINDIR}/usr/$(mlibdir)/dri/*_dri.so || die | ||
666 | # remove vdpau-drivers, they are in extra packages | ||
667 | rm -rv ${BINDIR}/usr/$(mlibdir)/vdpau || die | ||
668 | # # remove gbm-pipes, they are in extra packages | ||
669 | # rm -rv ${BINDIR}/usr/$(mlibdir)/gallium-pipe/pipe_*.so || die | ||
670 | done | ||
671 | |||
672 | # remove xa-tracker | ||
673 | mdelete /usr/$(mlibdir)/libxatracker.\* || die | ||
674 | if [[ $(mlibdir) != lib ]] | ||
675 | then | ||
676 | mdelete /usr/lib/libxatracker.\* || die | ||
677 | fi | ||
678 | } | ||
679 | |||
680 | src_install_mesa-xa-tracker() | ||
681 | { | ||
682 | mmake DESTDIR=${BINDIR} install || die | ||
683 | |||
684 | zapmost ${BINDIR} \ | ||
685 | usr/$(mlibdir)/libxatracker.* \ | ||
686 | $([[ $(mlibdir) != lib ]] && echo 'usr/lib/libxatracker.*') \ | ||
687 | || die | ||
688 | } | ||
689 | |||
690 | if driver_enabled dri-swrast | ||
691 | then | ||
692 | src_install_mesa-dri-swrast() | ||
693 | { | ||
694 | install_dri_driver swrast || die | ||
695 | setup_dynamic_dri classic || die | ||
696 | } | ||
697 | fi | ||
698 | |||
699 | if driver_enabled dri-i810 | ||
700 | then | ||
701 | src_install_mesa-dri-i810() | ||
702 | { | ||
703 | install_dri_driver i810 || die | ||
704 | setup_dynamic_dri classic || die | ||
705 | } | ||
706 | fi | ||
707 | |||
708 | if driver_enabled dri-i915 | ||
709 | then | ||
710 | src_install_mesa-dri-i915() | ||
711 | { | ||
712 | install_dri_driver i915 || die | ||
713 | setup_dynamic_dri classic || die | ||
714 | } | ||
715 | fi | ||
716 | |||
717 | if driver_enabled dri-i965 | ||
718 | then | ||
719 | src_install_mesa-dri-i965() | ||
720 | { | ||
721 | install_dri_driver i965 || die | ||
722 | setup_dynamic_dri classic || die | ||
723 | } | ||
724 | fi | ||
725 | |||
726 | if driver_enabled dri-mach64 | ||
727 | then | ||
728 | src_install_mesa-dri-mach64() | ||
729 | { | ||
730 | install_dri_driver mach64 || die | ||
731 | setup_dynamic_dri classic || die | ||
732 | } | ||
733 | fi | ||
734 | |||
735 | if driver_enabled dri-mga | ||
736 | then | ||
737 | src_install_mesa-dri-mga() | ||
738 | { | ||
739 | install_dri_driver mga || die | ||
740 | setup_dynamic_dri classic || die | ||
741 | } | ||
742 | fi | ||
743 | |||
744 | if driver_enabled dri-nouveau | ||
745 | then | ||
746 | src_install_mesa-dri-nouveau() | ||
747 | { | ||
748 | install_dri_driver nouveau || die | ||
749 | setup_dynamic_dri classic || die | ||
750 | } | ||
751 | fi | ||
752 | |||
753 | if driver_enabled dri-r128 | ||
754 | then | ||
755 | src_install_mesa-dri-r128() | ||
756 | { | ||
757 | install_dri_driver r128 || die | ||
758 | setup_dynamic_dri classic || die | ||
759 | } | ||
760 | fi | ||
761 | |||
762 | if driver_enabled dri-r200 | ||
763 | then | ||
764 | src_install_mesa-dri-r200() | ||
765 | { | ||
766 | install_dri_driver r200 || die | ||
767 | setup_dynamic_dri classic || die | ||
768 | } | ||
769 | fi | ||
770 | |||
771 | if driver_enabled dri-r300 | ||
772 | then | ||
773 | src_install_mesa-dri-r300() | ||
774 | { | ||
775 | install_dri_driver r300 || die | ||
776 | setup_dynamic_dri classic || die | ||
777 | } | ||
778 | fi | ||
779 | |||
780 | if driver_enabled dri-r600 | ||
781 | then | ||
782 | src_install_mesa-dri-r600() | ||
783 | { | ||
784 | install_dri_driver r600 || die | ||
785 | setup_dynamic_dri classic || die | ||
786 | } | ||
787 | fi | ||
788 | |||
789 | if driver_enabled dri-radeon | ||
790 | then | ||
791 | src_install_mesa-dri-radeon() | ||
792 | { | ||
793 | install_dri_driver radeon || die | ||
794 | setup_dynamic_dri classic || die | ||
795 | } | ||
796 | fi | ||
797 | |||
798 | if driver_enabled dri-savage | ||
799 | then | ||
800 | src_install_mesa-dri-savage() | ||
801 | { | ||
802 | install_dri_driver savage || die | ||
803 | setup_dynamic_dri classic || die | ||
804 | } | ||
805 | fi | ||
806 | |||
807 | if driver_enabled dri-sis | ||
808 | then | ||
809 | src_install_mesa-dri-sis() | ||
810 | { | ||
811 | install_dri_driver sis || die | ||
812 | setup_dynamic_dri classic || die | ||
813 | } | ||
814 | fi | ||
815 | |||
816 | if driver_enabled dri-tdfx | ||
817 | then | ||
818 | src_install_mesa-dri-tdfx() | ||
819 | { | ||
820 | install_dri_driver tdfx || die | ||
821 | setup_dynamic_dri classic || die | ||
822 | } | ||
823 | fi | ||
824 | |||
825 | if driver_enabled dri-unichrome | ||
826 | then | ||
827 | src_install_mesa-dri-unichrome() | ||
828 | { | ||
829 | install_dri_driver unichrome || die | ||
830 | setup_dynamic_dri classic || die | ||
831 | } | ||
832 | fi | ||
833 | |||
834 | if driver_enabled gallium-i915 | ||
835 | then | ||
836 | src_install_mesa-gallium-i915() | ||
837 | { | ||
838 | install_gallium_driver i915 || die | ||
839 | setup_dynamic_dri gallium || die | ||
840 | |||
841 | # gbm | ||
842 | install_gallium_pipe_driver i915 || die | ||
843 | } | ||
844 | fi | ||
845 | |||
846 | if driver_enabled gallium-i965 | ||
847 | then | ||
848 | src_install_mesa-gallium-i965() | ||
849 | { | ||
850 | install_gallium_driver i965 || die | ||
851 | setup_dynamic_dri gallium || die | ||
852 | |||
853 | # gbm | ||
854 | install_gallium_pipe_driver i965 || die | ||
855 | } | ||
856 | fi | ||
857 | |||
858 | if driver_enabled gallium-nouveau | ||
859 | then | ||
860 | src_install_mesa-gallium-nouveau() | ||
861 | { | ||
862 | install_gallium_driver nouveau || die | ||
863 | setup_dynamic_dri gallium || die | ||
864 | |||
865 | # vdpau | ||
866 | install_gallium_vdpau_driver nouveau || die | ||
867 | |||
868 | # gbm | ||
869 | install_gallium_pipe_driver nouveau || die | ||
870 | } | ||
871 | fi | ||
872 | |||
873 | if driver_enabled gallium-r300 | ||
874 | then | ||
875 | src_install_mesa-gallium-r300() | ||
876 | { | ||
877 | install_gallium_driver r300 || die | ||
878 | setup_dynamic_dri gallium || die | ||
879 | |||
880 | # vdpau | ||
881 | #install_gallium_vdpau_driver r300 || die | ||
882 | |||
883 | # gbm | ||
884 | install_gallium_pipe_driver r300 || die | ||
885 | } | ||
886 | fi | ||
887 | |||
888 | if driver_enabled gallium-r600 | ||
889 | then | ||
890 | src_install_mesa-gallium-r600() | ||
891 | { | ||
892 | install_gallium_driver r600 || die | ||
893 | setup_dynamic_dri gallium || die | ||
894 | |||
895 | # vdpau | ||
896 | install_gallium_vdpau_driver r600 || die | ||
897 | |||
898 | # gbm | ||
899 | install_gallium_pipe_driver r600 || die | ||
900 | } | ||
901 | fi | ||
902 | |||
903 | if driver_enabled gallium-radeonsi | ||
904 | then | ||
905 | src_install_mesa-gallium-radeonsi() | ||
906 | { | ||
907 | install_gallium_driver radeonsi || die | ||
908 | setup_dynamic_dri gallium || die | ||
909 | |||
910 | # vdpau | ||
911 | install_gallium_vdpau_driver radeonsi || die | ||
912 | |||
913 | # gbm | ||
914 | install_gallium_pipe_driver radeonsi || die | ||
915 | } | ||
916 | fi | ||
917 | |||
918 | if driver_enabled gallium-swrast | ||
919 | then | ||
920 | src_install_mesa-gallium-swrast() | ||
921 | { | ||
922 | install_gallium_driver swrast || die | ||
923 | setup_dynamic_dri gallium || die | ||
924 | |||
925 | # vdpau | ||
926 | #install_gallium_vdpau_driver softpipe || die | ||
927 | |||
928 | # gbm | ||
929 | install_gallium_pipe_driver swrast || die | ||
930 | } | ||
931 | fi | ||
932 | |||
933 | if driver_enabled gallium-vmwgfx | ||
934 | then | ||
935 | src_install_mesa-gallium-vmwgfx() | ||
936 | { | ||
937 | install_gallium_driver vmwgfx || die | ||
938 | setup_dynamic_dri gallium || die | ||
939 | |||
940 | # gbm | ||
941 | install_gallium_pipe_driver vmwgfx || die | ||
942 | } | ||
943 | fi | ||
944 | |||
945 | postinstall_mesa() | ||
946 | { | ||
947 | ${MROOT}/usr/sbin/opengl-update --use-old xorg | ||
948 | } | ||
949 | |||
950 | if driver_enabled dri-swrast | ||
951 | then | ||
952 | postinstall_mesa-dri-swrast() | ||
953 | { | ||
954 | ${MROOT}/usr/sbin/dri-update --use-old classic | ||
955 | } | ||
956 | fi | ||
957 | |||
958 | if driver_enabled dri-i810 | ||
959 | then | ||
960 | postinstall_mesa-dri-i810() | ||
961 | { | ||
962 | ${MROOT}/usr/sbin/dri-update --use-old classic | ||
963 | } | ||
964 | fi | ||
965 | |||
966 | if driver_enabled dri-i915 | ||
967 | then | ||
968 | postinstall_mesa-dri-i915() | ||
969 | { | ||
970 | ${MROOT}/usr/sbin/dri-update --use-old classic | ||
971 | } | ||
972 | fi | ||
973 | |||
974 | if driver_enabled dri-i965 | ||
975 | then | ||
976 | postinstall_mesa-dri-i965() | ||
977 | { | ||
978 | ${MROOT}/usr/sbin/dri-update --use-old classic | ||
979 | } | ||
980 | fi | ||
981 | |||
982 | if driver_enabled dri-mach64 | ||
983 | then | ||
984 | postinstall_mesa-dri-mach64() | ||
985 | { | ||
986 | ${MROOT}/usr/sbin/dri-update --use-old classic | ||
987 | } | ||
988 | fi | ||
989 | |||
990 | if driver_enabled dri-mga | ||
991 | then | ||
992 | postinstall_mesa-dri-mga() | ||
993 | { | ||
994 | ${MROOT}/usr/sbin/dri-update --use-old classic | ||
995 | } | ||
996 | fi | ||
997 | |||
998 | if driver_enabled dri-nouveau | ||
999 | then | ||
1000 | postinstall_mesa-dri-nouveau() | ||
1001 | { | ||
1002 | ${MROOT}/usr/sbin/dri-update --use-old classic | ||
1003 | } | ||
1004 | fi | ||
1005 | |||
1006 | if driver_enabled dri-r128 | ||
1007 | then | ||
1008 | postinstall_mesa-dri-r128() | ||
1009 | { | ||
1010 | ${MROOT}/usr/sbin/dri-update --use-old classic | ||
1011 | } | ||
1012 | fi | ||
1013 | |||
1014 | if driver_enabled dri-r200 | ||
1015 | then | ||
1016 | postinstall_mesa-dri-r200() | ||
1017 | { | ||
1018 | ${MROOT}/usr/sbin/dri-update --use-old classic | ||
1019 | } | ||
1020 | fi | ||
1021 | |||
1022 | if driver_enabled dri-r300 | ||
1023 | then | ||
1024 | postinstall_mesa-dri-r300() | ||
1025 | { | ||
1026 | ${MROOT}/usr/sbin/dri-update --use-old classic | ||
1027 | } | ||
1028 | fi | ||
1029 | |||
1030 | if driver_enabled dri-r600 | ||
1031 | then | ||
1032 | postinstall_mesa-dri-r600() | ||
1033 | { | ||
1034 | ${MROOT}/usr/sbin/dri-update --use-old classic | ||
1035 | } | ||
1036 | fi | ||
1037 | |||
1038 | if driver_enabled dri-radeon | ||
1039 | then | ||
1040 | postinstall_mesa-dri-radeon() | ||
1041 | { | ||
1042 | ${MROOT}/usr/sbin/dri-update --use-old classic | ||
1043 | } | ||
1044 | fi | ||
1045 | |||
1046 | if driver_enabled dri-savage | ||
1047 | then | ||
1048 | postinstall_mesa-dri-savage() | ||
1049 | { | ||
1050 | ${MROOT}/usr/sbin/dri-update --use-old classic | ||
1051 | } | ||
1052 | fi | ||
1053 | |||
1054 | if driver_enabled dri-sis | ||
1055 | then | ||
1056 | postinstall_mesa-dri-sis() | ||
1057 | { | ||
1058 | ${MROOT}/usr/sbin/dri-update --use-old classic | ||
1059 | } | ||
1060 | fi | ||
1061 | |||
1062 | if driver_enabled dri-tdfx | ||
1063 | then | ||
1064 | postinstall_mesa-dri-tdfx() | ||
1065 | { | ||
1066 | ${MROOT}/usr/sbin/dri-update --use-old classic | ||
1067 | } | ||
1068 | fi | ||
1069 | |||
1070 | if driver_enabled dri-unichrome | ||
1071 | then | ||
1072 | postinstall_mesa-dri-unichrome() | ||
1073 | { | ||
1074 | ${MROOT}/usr/sbin/dri-update --use-old classic | ||
1075 | } | ||
1076 | fi | ||
1077 | |||
1078 | if driver_enabled gallium-i915 | ||
1079 | then | ||
1080 | postinstall_mesa-gallium-i915() | ||
1081 | { | ||
1082 | ${MROOT}/usr/sbin/dri-update --use-old gallium | ||
1083 | } | ||
1084 | fi | ||
1085 | |||
1086 | if driver_enabled gallium-i965 | ||
1087 | then | ||
1088 | postinstall_mesa-gallium-i965() | ||
1089 | { | ||
1090 | ${MROOT}/usr/sbin/dri-update --use-old gallium | ||
1091 | } | ||
1092 | fi | ||
1093 | |||
1094 | if driver_enabled gallium-nouveau | ||
1095 | then | ||
1096 | postinstall_mesa-gallium-nouveau() | ||
1097 | { | ||
1098 | ${MROOT}/usr/sbin/dri-update --use-old gallium | ||
1099 | } | ||
1100 | fi | ||
1101 | |||
1102 | if driver_enabled gallium-r300 | ||
1103 | then | ||
1104 | postinstall_mesa-gallium-r300() | ||
1105 | { | ||
1106 | ${MROOT}/usr/sbin/dri-update --use-old gallium | ||
1107 | } | ||
1108 | fi | ||
1109 | |||
1110 | if driver_enabled gallium-r600 | ||
1111 | then | ||
1112 | postinstall_mesa-gallium-r600() | ||
1113 | { | ||
1114 | ${MROOT}/usr/sbin/dri-update --use-old gallium | ||
1115 | } | ||
1116 | fi | ||
1117 | |||
1118 | if driver_enabled gallium-radeonsi | ||
1119 | then | ||
1120 | postinstall_mesa-gallium-radeonsi() | ||
1121 | { | ||
1122 | ${MROOT}/usr/sbin/dri-update --use-old gallium | ||
1123 | } | ||
1124 | fi | ||
1125 | |||
1126 | if driver_enabled gallium-swrast | ||
1127 | then | ||
1128 | postinstall_mesa-gallium-swrast() | ||
1129 | { | ||
1130 | ${MROOT}/usr/sbin/dri-update --use-old gallium | ||
1131 | } | ||
1132 | fi | ||
1133 | |||
1134 | if driver_enabled gallium-vmwgfx | ||
1135 | then | ||
1136 | postinstall_mesa-gallium-vmwgfx() | ||
1137 | { | ||
1138 | ${MROOT}/usr/sbin/dri-update --use-old gallium | ||
1139 | } | ||
1140 | fi |