Magellan Linux

Contents of /smage/branches/alx-0_6_0/core/mesa/mesa-9.0.3-r1.smage2

Parent Directory Parent Directory | Revision Log Revision Log


Revision 4957 - (show annotations) (download)
Wed Jun 5 15:13:37 2013 UTC (10 years, 10 months ago) by niro
File size: 14055 byte(s)
auto added: ver bump to 9.0.3-r1
1 # $Id$
2
3 PNAME="mesa"
4 PVER="9.0.3"
5 PBUILD="r1"
6
7 SPLIT_PACKAGES="mesa"
8
9 PCAT="media-libs"
10 HOMEPAGE="http://mesa3d.sourceforge.net/"
11
12 MESA_DEPEND=">= dev-libs/expat-2
13 >= x11-libs/libX11-1.4
14 >= x11-libs/libXext-1.3
15 >= x11-libs/libXxf86vm-1.1
16 >= x11-libs/libXi-1.4
17 >= x11-libs/libXmu-1.1
18 >= x11-libs/libdrm-2.4.42
19 >= x11-libs/libICE-1
20 >= x11-libs/libxcb-1
21 >= x11-libs/libXfixes-5
22 >= x11-libs/libXdamage-1
23 >= sys-libs/libstdc++-4.7
24 >= sys-fs/udev-185"
25
26 SDEPEND="${MESA_DEPEND}
27 >= dev-util/pkgconfig-0.25
28 >= x11-misc/makedepend-1
29 >= x11-proto/xf86vidmodeproto-2.3
30 >= x11-libs/libXxf86vm-1.1
31 >= x11-proto/glproto-1.4.12
32 >= x11-proto/inputproto-2
33 >= x11-proto/xextproto-7.2
34 >= x11-proto/xf86driproto-2.1
35 >= x11-proto/dri2proto-2.3
36 >= x11-proto/xcb-proto-1.6
37 >= x11-proto/xproto-7
38 >= x11-proto/fixesproto-5
39 >= x11-proto/damageproto-1.2
40 >= dev-lang/python-2.7
41 >= sys-dev/llvm-3.1"
42
43 # must be set before the include of multilib!
44 EMUL_LINUX_32=true
45 sminclude xorg mtools multilib cleanutils
46 msetfeature "!check"
47
48 # must be set *after* the include of xorg!
49 SRCFILE="MesaLib-${PVER/_/-}.tar.bz2"
50 # libs SRCDIR
51 SRCDIR="${BUILDDIR}/Mesa-${PVER/_/-}"
52
53 # known drivers:
54 # dri: dri-swrast,dri-i915,dri-i965,dri-r200,dri-radeon,dri-i810,dri-mach64,dri-mga,
55 # dri-r128,dri-r300,dri-r600,dri-savage,dri-sis,dri-tdfx,dri-unichrome
56 # gallium: gallium-i915,gallium-i965,gallium-r300,gallium-r600,gallium-vmwgfx,gallium-swrast,gallium-nouveau, gallium-radeonsi
57 #MESA_DRIVERS="dri-swrast,dri-i915,dri-i965,dri-r200,dri-radeon"
58 #MESA_DRIVERS+=","
59 MESA_DRIVERS+="gallium-i915,gallium-nouveau,gallium-r300,gallium-r600,gallium-radeonsi,gallium-vmwgfx,gallium-swrast"
60
61 # helper functions
62 driver_enabled()
63 {
64 local driver="$1"
65
66 if [[ ${MESA_DRIVERS//${driver}} != ${MESA_DRIVERS} ]]
67 then
68 return 0
69 else
70 return 1
71 fi
72 }
73
74 add_dri_driver()
75 {
76 local driver="$1"
77
78 if [[ -z ${MESA_DRI_DRIVERS} ]]
79 then
80 MESA_DRI_DRIVERS="${driver}"
81 elif [[ ${MESA_DRI_DRIVERS//${driver}} = ${MESA_DRI_DRIVERS} ]]
82 then
83 MESA_DRI_DRIVERS+=",${driver}"
84 fi
85 }
86
87 add_gallium_driver()
88 {
89 local driver="$1"
90
91 if [[ -z ${MESA_GALLIUM_DRIVERS} ]]
92 then
93 MESA_GALLIUM_DRIVERS="${driver}"
94 elif [[ ${MESA_GALLIUM_DRIVERS//${driver}} = ${MESA_GALLIUM_DRIVERS} ]]
95 then
96 MESA_GALLIUM_DRIVERS+=",${driver}"
97 fi
98 }
99
100 install_gbm_driver()
101 {
102 local driver="$1"
103
104 mmake -C src/gallium/targets/gbm DESTDIR=${BINDIR} install || die
105 zapmost ${BINDIR}/usr/$(mlibdir)/gbm pipe_${driver}.so || die
106 if [[ $(mlibdir) != lib ]]
107 then
108 zapmost ${BINDIR}/usr/lib/gbm pipe_${driver}.so || die
109 fi
110 }
111
112 SRC_URI=(
113 ftp://ftp.freedesktop.org/pub/mesa/${PVER%_*}/${SRCFILE}
114 mirror://${PNAME}/${SRCFILE}
115 mirror://${PNAME}/${PNAME}-8.0.2-multilib.patch
116 #mirror://${PNAME}/${PNAME}-${PVER}-llvm32.patch
117 )
118
119 UP2DATE="updatecmd ftp://ftp.freedesktop.org/pub/mesa/current | lasttarball"
120
121 split_info_mesa()
122 {
123 DESCRIPTION="Mesa3D OpenGL graphics library."
124 DEPEND="${MESA_DEPEND}"
125
126 PROVIDE="virtual/opengl"
127 }
128
129 if driver_enabled dri-swrast
130 then
131 SPLIT_PACKAGES+=" mesa-dri-swrast"
132 add_dri_driver swrast
133
134 split_info_mesa-dri-swrast()
135 {
136 DESCRIPTION="Mesa Software Raster DRI driver."
137 DEPEND="== ${PCAT}/mesa-${PVER}"
138 }
139 fi
140
141 if driver_enabled dri-i810
142 then
143 SPLIT_PACKAGES+=" mesa-dri-i810"
144 add_dri_driver i810
145
146 split_info_mesa-dri-i810()
147 {
148 DESCRIPTION="Mesa Intel i810 DRI driver."
149 DEPEND="== ${PCAT}/mesa-${PVER}"
150 }
151 fi
152
153 if driver_enabled dri-i915
154 then
155 SPLIT_PACKAGES+=" mesa-dri-i915"
156 add_dri_driver i915
157
158 split_info_mesa-dri-i915()
159 {
160 DESCRIPTION="Mesa Intel i915 DRI driver."
161 DEPEND="== ${PCAT}/mesa-${PVER}"
162 }
163 fi
164
165 if driver_enabled dri-i965
166 then
167 SPLIT_PACKAGES+=" mesa-dri-i965"
168 add_dri_driver i965
169
170 split_info_mesa-dri-i965()
171 {
172 DESCRIPTION="Mesa Intel i965 DRI driver."
173 DEPEND="== ${PCAT}/mesa-${PVER}"
174 }
175 fi
176
177 if driver_enabled dri-mach64
178 then
179 SPLIT_PACKAGES+=" mesa-dri-mach64"
180 add_dri_driver mach64
181
182 split_info_mesa-dri-mach64()
183 {
184 DESCRIPTION="Mesa ATI mach64 DRI driver."
185 DEPEND="== ${PCAT}/mesa-${PVER}"
186 }
187 fi
188
189 if driver_enabled dri-mga
190 then
191 SPLIT_PACKAGES+=" mesa-dri-mga"
192 add_dri_driver mga
193
194 split_info_mesa-dri-mga()
195 {
196 DESCRIPTION="Mesa Matrox mga DRI driver."
197 DEPEND="== ${PCAT}/mesa-${PVER}"
198 }
199 fi
200
201 if driver_enabled dri-r128
202 then
203 SPLIT_PACKAGES+=" mesa-dri-r128"
204 add_dri_driver r128
205
206 split_info_mesa-dri-r128()
207 {
208 DESCRIPTION="Mesa ATI Rage128 DRI driver."
209 DEPEND="== ${PCAT}/mesa-${PVER}"
210 }
211 fi
212
213 if driver_enabled dri-r200
214 then
215 SPLIT_PACKAGES+=" mesa-dri-r200"
216 add_dri_driver r200
217
218 split_info_mesa-dri-r200()
219 {
220 DESCRIPTION="Mesa ATI Radeon r200 DRI driver."
221 DEPEND="== ${PCAT}/mesa-${PVER}"
222 }
223 fi
224
225 if driver_enabled dri-r300
226 then
227 SPLIT_PACKAGES+=" mesa-dri-r300"
228 add_dri_driver r300
229
230 split_info_mesa-dri-r300()
231 {
232 DESCRIPTION="Mesa ATI Radeon r300 DRI driver."
233 DEPEND="== ${PCAT}/mesa-${PVER}"
234 }
235 fi
236
237 if driver_enabled dri-r600
238 then
239 SPLIT_PACKAGES+=" mesa-dri-r600"
240 add_dri_driver r600
241
242 split_info_mesa-dri-r600()
243 {
244 DESCRIPTION="Mesa ATI Radeon r600 DRI driver."
245 DEPEND="== ${PCAT}/mesa-${PVER}"
246 }
247 fi
248
249 if driver_enabled dri-radeon
250 then
251 SPLIT_PACKAGES+=" mesa-dri-radeon"
252 add_dri_driver radeon
253
254 split_info_mesa-dri-radeon()
255 {
256 DESCRIPTION="Mesa ATI Radeon generic DRI driver."
257 DEPEND="== ${PCAT}/mesa-${PVER}"
258 }
259 fi
260
261 if driver_enabled dri-savage
262 then
263 SPLIT_PACKAGES+=" mesa-dri-savage"
264 add_dri_driver savage
265
266 split_info_mesa-dri-savage()
267 {
268 DESCRIPTION="Mesa S3 Savage DRI driver."
269 DEPEND="== ${PCAT}/mesa-${PVER}"
270 }
271 fi
272
273 if driver_enabled dri-sis
274 then
275 SPLIT_PACKAGES+=" mesa-dri-sis"
276 add_dri_driver sis
277
278 split_info_mesa-dri-sis()
279 {
280 DESCRIPTION="Mesa SIS generic DRI driver."
281 DEPEND="== ${PCAT}/mesa-${PVER}"
282 }
283 fi
284
285 if driver_enabled dri-tdfx
286 then
287 SPLIT_PACKAGES+=" mesa-dri-tdfx"
288 add_dri_driver tdfx
289
290 split_info_mesa-dri-tdfx()
291 {
292 DESCRIPTION="Mesa 3DFX Voodoo DRI driver."
293 DEPEND="== ${PCAT}/mesa-${PVER}"
294 }
295 fi
296
297 if driver_enabled dri-unichrome
298 then
299 SPLIT_PACKAGES+=" mesa-dri-unichrome"
300 add_dri_driver unichrome
301
302 split_info_mesa-dri-unichrome()
303 {
304 DESCRIPTION="Mesa VIA Chrome DRI driver."
305 DEPEND="== ${PCAT}/mesa-${PVER}"
306 }
307 fi
308
309 if driver_enabled gallium-i915
310 then
311 SPLIT_PACKAGES+=" mesa-gallium-i915"
312 add_gallium_driver i915
313
314 split_info_mesa-gallium-i915()
315 {
316 DESCRIPTION="Mesa Intel i915 Gallium driver."
317 DEPEND="== ${PCAT}/mesa-${PVER}"
318 }
319 fi
320
321 if driver_enabled gallium-i965
322 then
323 SPLIT_PACKAGES+=" mesa-gallium-i965"
324 add_gallium_driver i965
325
326 split_info_mesa-gallium-i965()
327 {
328 DESCRIPTION="Mesa Intel i965 Gallium driver."
329 DEPEND="== ${PCAT}/mesa-${PVER}"
330 }
331 fi
332
333 if driver_enabled gallium-nouveau
334 then
335 SPLIT_PACKAGES+=" mesa-gallium-nouveau"
336 add_gallium_driver nouveau
337
338 split_info_mesa-gallium-nouveau()
339 {
340 DESCRIPTION="Mesa Nvidia Nouveau Gallium driver."
341 DEPEND="== ${PCAT}/mesa-${PVER}"
342 }
343 fi
344
345 if driver_enabled gallium-r300
346 then
347 SPLIT_PACKAGES+=" mesa-gallium-r300"
348 add_gallium_driver r300
349
350 split_info_mesa-gallium-r300()
351 {
352 DESCRIPTION="Mesa Ati Radeon r300 Gallium driver."
353 DEPEND="== ${PCAT}/mesa-${PVER}"
354 }
355 fi
356
357 if driver_enabled gallium-r600
358 then
359 SPLIT_PACKAGES+=" mesa-gallium-r600"
360 add_gallium_driver r600
361
362 split_info_mesa-gallium-r600()
363 {
364 DESCRIPTION="Mesa Ati Radeon r600 Gallium driver."
365 DEPEND="== ${PCAT}/mesa-${PVER}"
366 }
367 fi
368
369 if driver_enabled gallium-radeonsi
370 then
371 SPLIT_PACKAGES+=" mesa-gallium-radeonsi"
372 add_gallium_driver radeonsi
373
374 split_info_mesa-gallium-radeonsi()
375 {
376 DESCRIPTION="Mesa Ati Radeon radeonsi Gallium driver."
377 DEPEND="== ${PCAT}/mesa-${PVER}"
378 }
379 fi
380
381 if driver_enabled gallium-swrast
382 then
383 SPLIT_PACKAGES+=" mesa-gallium-swrast"
384 add_gallium_driver swrast
385
386 split_info_mesa-gallium-swrast()
387 {
388 DESCRIPTION="Mesa Software Raster Gallium driver."
389 DEPEND="== ${PCAT}/mesa-${PVER}"
390 }
391 fi
392
393 if driver_enabled gallium-vmwgfx
394 then
395 SPLIT_PACKAGES+=" mesa-gallium-vmwgfx"
396 add_gallium_driver svga
397
398 split_info_mesa-gallium-vmwgfx()
399 {
400 DESCRIPTION="Mesa Vmware generic Gallium driver."
401 DEPEND="== ${PCAT}/mesa-${PVER}"
402 }
403 fi
404
405 src_prepare()
406 {
407 munpack ${SRCFILE} || die
408
409 # fix multilib ftbfs
410 mpatch ${PNAME}-8.0.2-multilib.patch || die
411
412 # no debug code in the drives (gentoo)
413 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/" ;'
414
415 # get rid of glut includes
416 all-abis rm -f include/GL/glut*h || die
417
418 mautoreconf || die
419 }
420
421 src_compile()
422 {
423 # build without rtti and exeptions, fixes issues with llvm as well
424 export CXXFLAGS="${CXXFLAGS} -fno-rtti -fno-exceptions -DNDEBUG"
425
426 mconfigure \
427 --with-dri-driverdir=/usr/'$(mlibdir)'/dri \
428 --with-dri-drivers=${MESA_DRI_DRIVERS} \
429 --with-gallium-drivers=${MESA_GALLIUM_DRIVERS} \
430 --with-egl-platforms=x11,drm \
431 --disable-debug \
432 --enable-glx-tls \
433 --enable-asm \
434 --enable-shared-glapi \
435 --disable-egl \
436 --disable-gles1 \
437 --disable-gles2 \
438 --enable-osmesa \
439 --enable-xa \
440 --disable-gallium-egl \
441 --enable-gallium-llvm \
442 --disable-vdpau \
443 || die
444
445 # only build software renderer on multilib arches
446 if [[ ${ARCH} = x86_64 ]]
447 then
448 only-m32 "echo 'DRI_DIRS =' >> configs/autoconf" || die
449 fi
450
451 mmake -j1 || die
452 }
453
454 src_install_mesa()
455 {
456 mmake DESTDIR=${BINDIR} install || die
457
458 # remove all la files
459 find ${BINDIR} -name \*.la | xargs rm -fv
460
461 for abi in ${MULTILIB_ABIS}
462 do
463 [[ ${abi} = m32 ]] && ABI_LIBDIR="lib"
464 [[ ${abi} = m64 ]] && ABI_LIBDIR="lib64"
465 cd ${SRCDIR}-${abi}
466
467 # export LIBGL_DRIVER_PATH location.
468 # we are using '/usr/lib/dri' as hardcoded location.
469 # but nvidia and ati are using '/usr/$(mlibdir)/xorg/modules/dri'
470 # LIBGL_DRIVER_PATH overwrites the hardcoded location and
471 # if nvidia or ati driver are installed
472 # the dri modules will never be found by libGL
473 # use "LIBGL_DEBUG=verbose glxinfo" to check this issue
474 minstalldir /etc/env.d || die
475 echo "LIBGL_DRIVERS_PATH=/usr/$(mlibdir)/dri" > ${BINDIR}/etc/env.d/09mesa-${abi} || die
476 done
477
478 # cleanup
479 zapmost ${BINDIR} etc/env.d usr/$(mlibdir)/*.so usr/$(mlibdir)/*.so.* \
480 $(if [[ $(mlibdir) != lib ]];then echo "usr/lib/*.so usr/lib/*.so.*"; fi) \
481 || die
482 }
483
484 src_install_mesa-dev()
485 {
486 mmake DESTDIR=${BINDIR} install || die
487
488 # remove all la files
489 find ${BINDIR} -name \*.la | xargs rm -fv
490
491 # cleanup
492 rm -r ${BINDIR}/usr/$(mlibdir)/*.so || die
493 rm -r ${BINDIR}/usr/$(mlibdir)/*.so.* || die
494 # remove dri-drivers, they are in extra packages
495 rm -r ${BINDIR}/usr/$(mlibdir)/dri || die
496 if [[ $(mlibdir) != lib ]]
497 then
498 rm -r ${BINDIR}/usr/lib/*.so || die
499 rm -r ${BINDIR}/usr/lib/*.so.* || die
500 # remove dri-drivers, they are in extra packages
501 rm -r ${BINDIR}/usr/lib/dri || die
502 fi
503 }
504
505 if driver_enabled dri-swrast
506 then
507 src_install_mesa-dri-swrast()
508 {
509 mmake -C src/mesa/drivers/dri/swrast DESTDIR=${BINDIR} install || die
510 }
511 fi
512
513 if driver_enabled dri-i810
514 then
515 src_install_mesa-dri-i810()
516 {
517 mmake -C src/mesa/drivers/dri/i810 DESTDIR=${BINDIR} install || die
518 }
519 fi
520
521 if driver_enabled dri-i915
522 then
523 src_install_mesa-dri-i915()
524 {
525 mmake -C src/mesa/drivers/dri/i915 DESTDIR=${BINDIR} install || die
526 }
527 fi
528
529 if driver_enabled dri-i965
530 then
531 src_install_mesa-dri-i965()
532 {
533 mmake -C src/mesa/drivers/dri/i965 DESTDIR=${BINDIR} install || die
534 }
535 fi
536
537 if driver_enabled dri-mach64
538 then
539 src_install_mesa-dri-mach64()
540 {
541 mmake -C src/mesa/drivers/dri/mach64 DESTDIR=${BINDIR} install || die
542 }
543 fi
544
545 if driver_enabled dri-mga
546 then
547 src_install_mesa-dri-mga()
548 {
549 mmake -C src/mesa/drivers/dri/mga DESTDIR=${BINDIR} install || die
550 }
551 fi
552
553 if driver_enabled dri-r128
554 then
555 src_install_mesa-dri-r128()
556 {
557 mmake -C src/mesa/drivers/dri/r128 DESTDIR=${BINDIR} install || die
558 }
559 fi
560
561 if driver_enabled dri-r200
562 then
563 src_install_mesa-dri-r200()
564 {
565 mmake -C src/mesa/drivers/dri/r200 DESTDIR=${BINDIR} install || die
566 }
567 fi
568
569 if driver_enabled dri-r300
570 then
571 src_install_mesa-dri-r300()
572 {
573 mmake -C src/mesa/drivers/dri/r300 DESTDIR=${BINDIR} install || die
574 }
575 fi
576
577 if driver_enabled dri-r600
578 then
579 src_install_mesa-dri-r600()
580 {
581 mmake -C src/mesa/drivers/dri/r600 DESTDIR=${BINDIR} install || die
582 }
583 fi
584
585 if driver_enabled dri-radeon
586 then
587 src_install_mesa-dri-radeon()
588 {
589 mmake -C src/mesa/drivers/dri/radeon DESTDIR=${BINDIR} install || die
590 }
591 fi
592
593 if driver_enabled dri-savage
594 then
595 src_install_mesa-dri-savage()
596 {
597 mmake -C src/mesa/drivers/dri/savage DESTDIR=${BINDIR} install || die
598 }
599 fi
600
601 if driver_enabled dri-sis
602 then
603 src_install_mesa-dri-sis()
604 {
605 mmake -C src/mesa/drivers/dri/sis DESTDIR=${BINDIR} install || die
606 }
607 fi
608
609 if driver_enabled dri-tdfx
610 then
611 src_install_mesa-dri-tdfx()
612 {
613 mmake -C src/mesa/drivers/dri/tdfx DESTDIR=${BINDIR} install || die
614 }
615 fi
616
617 if driver_enabled dri-unichrome
618 then
619 src_install_mesa-dri-unichrome()
620 {
621 mmake -C src/mesa/drivers/dri/unichrome DESTDIR=${BINDIR} install || die
622 }
623 fi
624
625 if driver_enabled gallium-i915
626 then
627 src_install_mesa-gallium-i915()
628 {
629 mmake -C src/gallium/targets/dri-i915 DESTDIR=${BINDIR} install || die
630 }
631 fi
632
633 if driver_enabled gallium-i965
634 then
635 src_install_mesa-gallium-i965()
636 {
637 mmake -C src/gallium/targets/dri-i965 DESTDIR=${BINDIR} install || die
638 }
639 fi
640
641 if driver_enabled gallium-nouveau
642 then
643 src_install_mesa-gallium-nouveau()
644 {
645 mmake -C src/gallium/targets/dri-nouveau DESTDIR=${BINDIR} install || die
646 }
647 fi
648
649 if driver_enabled gallium-r300
650 then
651 src_install_mesa-gallium-r300()
652 {
653 mmake -C src/gallium/targets/dri-r300 DESTDIR=${BINDIR} install || die
654 }
655 fi
656
657 if driver_enabled gallium-r600
658 then
659 src_install_mesa-gallium-r600()
660 {
661 mmake -C src/gallium/targets/dri-r600 DESTDIR=${BINDIR} install || die
662 }
663 fi
664
665 if driver_enabled gallium-radeonsi
666 then
667 src_install_mesa-gallium-radeonsi()
668 {
669 mmake -C src/gallium/targets/dri-radeonsi DESTDIR=${BINDIR} install || die
670 }
671 fi
672
673 if driver_enabled gallium-swrast
674 then
675 src_install_mesa-gallium-swrast()
676 {
677 mmake -C src/gallium/targets/dri-swrast DESTDIR=${BINDIR} install || die
678 }
679 fi
680
681 if driver_enabled gallium-vmwgfx
682 then
683 src_install_mesa-gallium-vmwgfx()
684 {
685 mmake -C src/gallium/targets/dri-vmwgfx DESTDIR=${BINDIR} install || die
686 }
687 fi