Magellan Linux

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1917 - (hide annotations) (download)
Wed Nov 9 13:26:19 2011 UTC (12 years, 6 months ago) by niro
File size: 10574 byte(s)
-fixed missing includes
1 niro 1912 # $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 niro 1917 sminclude xorg mtools multilib cleanutils
47 niro 1912
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     #}