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