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