Magellan Linux

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

Parent Directory Parent Directory | Revision Log Revision Log


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