Magellan Linux

Contents of /smage/trunk/core/mesa/mesa-10.6.1-r1.smage2

Parent Directory Parent Directory | Revision Log Revision Log


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