Magellan Linux

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

Parent Directory Parent Directory | Revision Log Revision Log


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