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