Magellan Linux

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

Parent Directory Parent Directory | Revision Log Revision Log


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