Magellan Linux

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1917 - (show annotations) (download)
Wed Nov 9 13:26:19 2011 UTC (12 years, 5 months ago) by niro
File size: 10574 byte(s)
-fixed missing includes
1 # $Id$
2
3 PNAME="mesa"
4 PVER="7.11"
5 PBUILD="r1"
6
7 PCATEGORIE="media-libs"
8
9 HOMEPAGE="http://mesa3d.sourceforge.net/"
10
11 MESA_DEPEND=">= dev-libs/expat-2
12 >= x11-libs/libX11-1.4
13 >= x11-libs/libXext-1.3
14 >= x11-libs/libXxf86vm-1.1
15 >= x11-libs/libXi-1.4
16 >= x11-libs/libXmu-1.1
17 >= x11-libs/libdrm-2.4.27
18 >= x11-libs/libICE-1
19 >= x11-libs/libxcb-1
20 >= x11-libs/libXfixes-5
21 >= x11-libs/libXdamage-1
22 >= sys-libs/talloc-2"
23
24 MESA_PROGS_DEPEND=">= virtual/glut"
25
26 SDEPEND="${MESA_DEPEND}
27 ${MESA_PROGS_DEPEND}
28 >= dev-util/pkgconfig-0.25
29 >= x11-misc/makedepend-1
30 >= x11-proto/xf86vidmodeproto-2.3
31 >= x11-libs/libXxf86vm-1.1
32 >= x11-proto/glproto-1.4.12
33 >= x11-proto/inputproto-2
34 >= x11-proto/xextproto-7.2
35 >= x11-proto/xf86driproto-2.1
36 >= x11-proto/dri2proto-2.3
37 >= x11-proto/xcb-proto-1.6
38 >= x11-proto/xproto-7
39 >= x11-proto/fixesproto-5
40 >= x11-proto/damageproto-1.2
41 >= dev-lang/python-2.7
42 >= sys-dev/llvm-2.9"
43
44 # must be set before the include of multilib!
45 EMUL_LINUX_32=true
46 sminclude xorg mtools multilib cleanutils
47
48 # must be set *after* the include of xorg!
49 SRCFILE="MesaLib-${PVER/_/-}.tar.bz2"
50 # libs SRCDIR
51 SRCDIR="${BUILDDIR}/Mesa-${PVER/_/-}"
52
53 SPLIT_PACKAGES="mesa
54 mesa-dev
55 mesa-dri-i810
56 mesa-dri-i915
57 mesa-dri-i965
58 mesa-dri-mach64
59 mesa-dri-mga
60 mesa-dri-r128
61 mesa-dri-r200
62 mesa-dri-radeon
63 mesa-dri-savage
64 mesa-dri-sis
65 mesa-dri-unichrome
66 mesa-gallium-nouveau
67 mesa-gallium-r300
68 mesa-gallium-r600
69 mesa-gallium-swrast"
70 #mesa-dri-swrast
71 #mesa-dri-r300
72 #mesa-dri-r600
73 #mesa-dri-tdfx
74 #
75 # broken atm
76 #mesa-gallium-vmwgfx
77 #mesa-gallium-i915
78 #mesa-gallium-i965
79
80 SRC_URI=(
81 ftp://ftp.freedesktop.org/pub/mesa/${PVER}/${SRCFILE}
82 sourceforge://mesa3d/${SRCFILE}
83 mirror://${PNAME}/${SRCFILE}
84 mirror://${PNAME}/libGLU.la
85 mirror://${PNAME}/libGL.la
86 )
87
88 UP2DATE="updatecmd ftp://ftp.freedesktop.org/pub/mesa/current | lasttarball"
89
90 split_info_mesa()
91 {
92 DESCRIPTION="Mesa3D OpenGL graphics library."
93 DEPEND="${MESA_DEPEND}"
94
95 PROVIDE="virtual/opengl"
96 }
97
98 split_info_mesa-dev()
99 {
100 DESCRIPTION="Development files for ${PCATEGORIE}/mesa-${PVER}."
101 DEPEND="== ${PCATEGORIE}/mesa-${PVER}"
102 }
103
104 #split_info_mesa-dri-swrast()
105 #{
106 # DESCRIPTION="Mesa Software Raster DRI driver."
107 # DEPEND="== ${PCATEGORIE}/mesa-${PVER}"
108 #}
109
110 split_info_mesa-dri-i810()
111 {
112 DESCRIPTION="Mesa Intel i810 DRI driver."
113 DEPEND="== ${PCATEGORIE}/mesa-${PVER}"
114 }
115
116 split_info_mesa-dri-i915()
117 {
118 DESCRIPTION="Mesa Intel i915 DRI driver."
119 DEPEND="== ${PCATEGORIE}/mesa-${PVER}"
120 }
121
122 split_info_mesa-dri-i965()
123 {
124 DESCRIPTION="Mesa Intel i965 DRI driver."
125 DEPEND="== ${PCATEGORIE}/mesa-${PVER}"
126 }
127
128 split_info_mesa-dri-mach64()
129 {
130 DESCRIPTION="Mesa ATI mach64 DRI driver."
131 DEPEND="== ${PCATEGORIE}/mesa-${PVER}"
132 }
133
134 split_info_mesa-dri-mga()
135 {
136 DESCRIPTION="Mesa Matrox mga DRI driver."
137 DEPEND="== ${PCATEGORIE}/mesa-${PVER}"
138 }
139
140 split_info_mesa-dri-r128()
141 {
142 DESCRIPTION="Mesa ATI Rage128 DRI driver."
143 DEPEND="== ${PCATEGORIE}/mesa-${PVER}"
144 }
145
146 split_info_mesa-dri-r200()
147 {
148 DESCRIPTION="Mesa ATI Radeon r200 DRI driver."
149 DEPEND="== ${PCATEGORIE}/mesa-${PVER}"
150 }
151
152 #split_info_mesa-dri-r300()
153 #{
154 # DESCRIPTION="Mesa ATI Radeon r300 DRI driver."
155 # DEPEND="== ${PCATEGORIE}/mesa-${PVER}"
156 #}
157
158 #split_info_mesa-dri-r600()
159 #{
160 # DESCRIPTION="Mesa ATI Radeon r600 DRI driver."
161 # DEPEND="== ${PCATEGORIE}/mesa-${PVER}"
162 #}
163
164 split_info_mesa-dri-radeon()
165 {
166 DESCRIPTION="Mesa ATI Radeon generic DRI driver."
167 DEPEND="== ${PCATEGORIE}/mesa-${PVER}"
168 }
169
170 split_info_mesa-dri-savage()
171 {
172 DESCRIPTION="Mesa S3 Savage DRI driver."
173 DEPEND="== ${PCATEGORIE}/mesa-${PVER}"
174 }
175
176 split_info_mesa-dri-sis()
177 {
178 DESCRIPTION="Mesa SIS generic DRI driver."
179 DEPEND="== ${PCATEGORIE}/mesa-${PVER}"
180 }
181
182 #split_info_mesa-dri-tdfx()
183 #{
184 # DESCRIPTION="Mesa 3DFX Voodoo DRI driver."
185 # DEPEND="== ${PCATEGORIE}/mesa-${PVER}"
186 #}
187
188 split_info_mesa-dri-unichrome()
189 {
190 DESCRIPTION="Mesa VIA Chrome DRI driver."
191 DEPEND="== ${PCATEGORIE}/mesa-${PVER}"
192 }
193
194 #split_info_mesa-gallium-i915()
195 #{
196 # DESCRIPTION="Mesa Intel i915 Gallium driver."
197 # DEPEND="== ${PCATEGORIE}/mesa-${PVER}"
198 #}
199
200 #split_info_mesa-gallium-i965()
201 #{
202 # DESCRIPTION="Mesa Intel i965 Gallium driver."
203 # DEPEND="== ${PCATEGORIE}/mesa-${PVER}"
204 #}
205
206 split_info_mesa-gallium-nouveau()
207 {
208 DESCRIPTION="Mesa Nvidia Nouveau Gallium driver."
209 DEPEND="== ${PCATEGORIE}/mesa-${PVER}"
210 }
211
212 split_info_mesa-gallium-r300()
213 {
214 DESCRIPTION="Mesa Ati Radeon r300 Gallium driver."
215 DEPEND="== ${PCATEGORIE}/mesa-${PVER}"
216 }
217
218 split_info_mesa-gallium-r600()
219 {
220 DESCRIPTION="Mesa Ati Radeon r600 Gallium driver."
221 DEPEND="== ${PCATEGORIE}/mesa-${PVER}"
222 }
223
224 split_info_mesa-gallium-swrast()
225 {
226 DESCRIPTION="Mesa Software Raster Gallium driver."
227 DEPEND="== ${PCATEGORIE}/mesa-${PVER}"
228 }
229
230 #split_info_mesa-gallium-vmwgfx()
231 #{
232 # DESCRIPTION="Mesa Vmware generic Gallium driver."
233 # DEPEND="== ${PCATEGORIE}/mesa-${PVER}"
234 #}
235
236 src_prepare()
237 {
238 munpack ${SRCFILE} || die
239
240 # no debug code in the drives (gentoo)
241 all-abis 'find src/mesa/drivers/dri -name *.[hc] -exec egrep -l "\#define\W+DO_DEBUG\W+1" {} \; | xargs sed -i -re "s/\#define\W+DO_DEBUG\W+1/\#define DO_DEBUG 0/" ;'
242
243 # get rid of glut includes
244 all-abis rm -f include/GL/glut*h || die
245 }
246
247 src_compile()
248 {
249 # gallium is highly experimental, disabled atm!
250 mconfigure \
251 --with-driver=dri \
252 --with-dri-driverdir=/usr/'$(mlibdir)'/dri \
253 --disable-debug \
254 --disable-glut \
255 --disable-ttm-api \
256 --without-demos \
257 --enable-glx-tls \
258 --enable-asm \
259 --enable-xcb \
260 --enable-shared-glapi \
261 --enable-shared-dricore \
262 --enable-glw \
263 --enable-egl \
264 --enable-gles1 \
265 --enable-gles2 \
266 --enable-gallium-egl \
267 --enable-gallium-llvm \
268 --with-gallium-drivers=r300,r600,nouveau,swrast \
269 --with-state-trackers=glx,dri,egl,vega \
270 || die
271
272 # only build software renderer on multilib arches
273 if [[ ${ARCH} = x86_64 ]]
274 then
275 only-m32 "echo 'DRI_DIRS =' >> configs/autoconf" || die
276 fi
277
278 mmake -j1 || die
279 }
280
281 src_install_mesa()
282 {
283 # needed directories
284 minstalldir /etc/env.d || die
285
286 mmake DESTDIR=${BINDIR} install || die
287
288 # # missing gl headers
289 # minstallfile src/glw/GLwDrawA.h /usr/include/GL || die
290 #
291 # # remove private headers
292 # rm -f ${BINDIR}/usr/include/GL/GLw*P.h || die
293
294 for abi in ${MULTILIB_ABIS}
295 do
296 [[ ${abi} = m32 ]] && ABI_LIBDIR="lib"
297 [[ ${abi} = m64 ]] && ABI_LIBDIR="lib64"
298 cd ${SRCDIR}-${abi}
299
300 # fix opengl-symlinks
301 # first remove invalid symlinks
302 find ${BINDIR}/usr/$(mlibdir) -name libGL\.* -type l | xargs rm -f
303 # now create required opengl-symlinks
304 mlink libGL.so.1.2 /usr/$(mlibdir)/libGL.so || die
305 mlink libGL.so.1.2 /usr/$(mlibdir)/libGL.so.1 || die
306
307 # export LIBGL_DRIVER_PATH location.
308 # we are using '/usr/lib/dri' as hardcoded location.
309 # but nvidia and ati are using '/usr/$(mlibdir)/xorg/modules/dri'
310 # LIBGL_DRIVER_PATH overwrites the hardcoded location and
311 # if nvidia or ati driver are installed
312 # the dri modules will never be found by libGL
313 # use "LIBGL_DEBUG=verbose glxinfo" to check this issue
314 echo "LIBGL_DRIVERS_PATH=/usr/$(mlibdir)/dri" > ${BINDIR}/etc/env.d/09mesa-${abi} || die
315
316 # remove dri-drivers, they are in extra packages
317 rm -r ${BINDIR}/usr/$(mlibdir)/dri/*_dri.so || die
318 done
319
320 # cleanup
321 zapmost ${BINDIR} etc/env.d usr/$(mlibdir)/*.so usr/$(mlibdir)/*.so.* \
322 $(if [[ $(mlibdir) != lib ]];then echo "usr/lib/*.so usr/lib/*.so.*"; fi) \
323 || die
324 }
325
326 src_install_mesa-dev()
327 {
328 mmake DESTDIR=${BINDIR} install || die
329
330 # missing gl headers
331 minstallfile src/glw/GLwDrawA.h /usr/include/GL || die
332
333 # remove private headers
334 rm -f ${BINDIR}/usr/include/GL/GLw*P.h || die
335
336 for abi in ${MULTILIB_ABIS}
337 do
338 [[ ${abi} = m32 ]] && ABI_LIBDIR="lib"
339 [[ ${abi} = m64 ]] && ABI_LIBDIR="lib64"
340 cd ${SRCDIR}-${abi}
341
342 # satisfy libtool
343 minstallfile -s libGLU.la /usr/$(mlibdir) || die
344 minstallfile -s libGL.la /usr/$(mlibdir) || die
345
346 # fix libdir on 64bit arches
347 if [[ $(mlibdir) != lib ]]
348 then
349 sed -i "s:/usr/lib:/usr/$(mlibdir):g" ${BINDIR}/usr/$(mlibdir)/libGLU.la || die
350 sed -i "s:/usr/lib:/usr/$(mlibdir):g" ${BINDIR}/usr/$(mlibdir)/libGL.la || die
351 fi
352 done
353
354 # cleanup
355 rm -r ${BINDIR}/usr/$(mlibdir)/*.so || die
356 rm -r ${BINDIR}/usr/$(mlibdir)/*.so.* || die
357 rm -r ${BINDIR}/usr/$(mlibdir)/dri || die
358 if [[ $(mlibdir) != lib ]]
359 then
360 rm -r ${BINDIR}/usr/lib/*.so || die
361 rm -r ${BINDIR}/usr/lib/*.so.* || die
362 rm -r ${BINDIR}/usr/lib/dri || die
363 fi
364 }
365
366 #src_install_mesa-dri-swrast()
367 #{
368 # mmake -C src/mesa/drivers/dri/swrast DESTDIR=${BINDIR} install || die
369 #}
370
371 src_install_mesa-dri-i810()
372 {
373 mmake -C src/mesa/drivers/dri/i810 DESTDIR=${BINDIR} install || die
374 }
375
376 src_install_mesa-dri-i915()
377 {
378 mmake -C src/mesa/drivers/dri/i915 DESTDIR=${BINDIR} install || die
379 }
380
381 src_install_mesa-dri-i965()
382 {
383 mmake -C src/mesa/drivers/dri/i965 DESTDIR=${BINDIR} install || die
384 }
385
386 src_install_mesa-dri-mach64()
387 {
388 mmake -C src/mesa/drivers/dri/mach64 DESTDIR=${BINDIR} install || die
389 }
390
391 src_install_mesa-dri-mga()
392 {
393 mmake -C src/mesa/drivers/dri/mga DESTDIR=${BINDIR} install || die
394 }
395
396 src_install_mesa-dri-r128()
397 {
398 mmake -C src/mesa/drivers/dri/r128 DESTDIR=${BINDIR} install || die
399 }
400
401 src_install_mesa-dri-r200()
402 {
403 mmake -C src/mesa/drivers/dri/r200 DESTDIR=${BINDIR} install || die
404 }
405
406 #src_install_mesa-dri-r300()
407 #{
408 # mmake -C src/mesa/drivers/dri/r300 DESTDIR=${BINDIR} install || die
409 #}
410
411 #src_install_mesa-dri-r600()
412 #{
413 # mmake -C src/mesa/drivers/dri/r600 DESTDIR=${BINDIR} install || die
414 #}
415
416 src_install_mesa-dri-radeon()
417 {
418 mmake -C src/mesa/drivers/dri/radeon DESTDIR=${BINDIR} install || die
419 }
420
421 src_install_mesa-dri-savage()
422 {
423 mmake -C src/mesa/drivers/dri/savage DESTDIR=${BINDIR} install || die
424 }
425
426 src_install_mesa-dri-sis()
427 {
428 mmake -C src/mesa/drivers/dri/sis DESTDIR=${BINDIR} install || die
429 }
430
431 src_install_mesa-dri-unichrome()
432 {
433 mmake -C src/mesa/drivers/dri/unichrome DESTDIR=${BINDIR} install || die
434 }
435
436 #src_install_mesa-gallium-i915()
437 #{
438 # mmake -C src/gallium/targets/dri-i915 DESTDIR=${BINDIR} install || die
439 #}
440
441 #src_install_mesa-gallium-i965()
442 #{
443 # mmake -C src/gallium/targets/dri-i965 DESTDIR=${BINDIR} install || die
444 #}
445
446 src_install_mesa-gallium-nouveau()
447 {
448 mmake -C src/gallium/targets/dri-nouveau DESTDIR=${BINDIR} install || die
449 }
450
451 src_install_mesa-gallium-r300()
452 {
453 mmake -C src/gallium/targets/dri-r300 DESTDIR=${BINDIR} install || die
454 }
455
456 src_install_mesa-gallium-r600()
457 {
458 mmake -C src/gallium/targets/dri-r600 DESTDIR=${BINDIR} install || die
459 }
460
461 src_install_mesa-gallium-swrast()
462 {
463 mmake -C src/gallium/targets/dri-swrast DESTDIR=${BINDIR} install || die
464 }
465
466 #src_install_mesa-gallium-vmwgfx()
467 #{
468 # mmake -C src/gallium/targets/dri-vmwgfx DESTDIR=${BINDIR} install || die
469 #}