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