Magellan Linux

Annotation of /branches/magellan-next/core/mesa/mesa-7.10.2-r1.smage2

Parent Directory Parent Directory | Revision Log Revision Log


Revision 7729 - (hide annotations) (download)
Mon May 30 16:34:17 2011 UTC (12 years, 11 months ago) by niro
File size: 9485 byte(s)
-enabled gallium drivers
1 niro 7721 # $Id$
2    
3     PNAME="mesa"
4     PVER="7.10.2"
5     PBUILD="r1"
6    
7     STATE="unstable"
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.25
18     >= x11-libs/libICE-1
19     >= x11-base/opengl-update-magellan-2.2.13
20     >= x11-libs/libxcb-1
21     >= x11-libs/libXfixes-5
22     >= x11-libs/libXdamage-1"
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    
42     PROVIDE="virtual/opengl"
43    
44     # must be set before the include of multilib!
45     EMUL_LINUX_32=true
46     sminclude xorg mtools multilib
47    
48 niro 7722 # not the same version anymore
49     MESA_PROGS_PVER="8.0.1"
50 niro 7724 MESA_PROGS_SRCFILE="mesa-demos-${MESA_PROGS_PVER}.tar.bz2"
51     MESA_PROGS_SRCDIR="${BUILDDIR}/mesa-demos-${MESA_PROGS_PVER}"
52 niro 7722
53 niro 7721 # must be set *after* the include of xorg!
54     SRCFILE="MesaLib-${PVER/_/-}.tar.bz2"
55 niro 7724 # libs SRCDIR
56 niro 7721 SRCDIR="${BUILDDIR}/Mesa-${PVER/_/-}"
57    
58     SPLIT_PACKAGES="mesa
59     mesa-dri-swrast
60     mesa-dri-i810
61     mesa-dri-i915
62     mesa-dri-i965
63     mesa-dri-mach64
64     mesa-dri-mga
65     mesa-dri-r128
66     mesa-dri-r200
67     mesa-dri-r300
68     mesa-dri-r600
69     mesa-dri-radeon
70     mesa-dri-savage
71     mesa-dri-sis
72     mesa-dri-tdfx
73     mesa-dri-unichrome"
74    
75     SRC_URI=(
76     ftp://ftp.freedesktop.org/pub/mesa/${PVER}/${SRCFILE}
77     sourceforge://mesa3d/${SRCFILE}
78     mirror://${PNAME}/${SRCFILE}
79     mirror://${PNAME}/libGLU.la
80     mirror://${PNAME}/libGL.la
81     )
82    
83     UP2DATE="updatecmd ftp://ftp.freedesktop.org/pub/mesa/current | lasttarball"
84    
85     split_info_mesa()
86     {
87     DESCRIPTION="Mesa3D OpenGL graphics library."
88     PCATEGORIE="media-libs"
89    
90     DEPEND="${MESA_DEPEND}"
91    
92     postinstall()
93     {
94     ${MROOT}/usr/sbin/opengl-update --use-old xorg
95     }
96     }
97    
98     split_info_mesa-dri-swrast()
99     {
100     DESCRIPTION="Mesa Software Raster DRI driver."
101     DEPEND="== ${PCATEGORIE}/mesa-${PVER}"
102     }
103    
104     split_info_mesa-dri-i810()
105     {
106     DESCRIPTION="Mesa Intel i810 DRI driver."
107     DEPEND="== ${PCATEGORIE}/mesa-${PVER}"
108     }
109    
110     split_info_mesa-dri-i915()
111     {
112     DESCRIPTION="Mesa Intel i915 DRI driver."
113     DEPEND="== ${PCATEGORIE}/mesa-${PVER}"
114     }
115    
116     split_info_mesa-dri-i965()
117     {
118     DESCRIPTION="Mesa Intel i965 DRI driver."
119     DEPEND="== ${PCATEGORIE}/mesa-${PVER}"
120     }
121    
122     split_info_mesa-dri-mach64()
123     {
124     DESCRIPTION="Mesa ATI mach64 DRI driver."
125     DEPEND="== ${PCATEGORIE}/mesa-${PVER}"
126     }
127    
128     split_info_mesa-dri-mga()
129     {
130     DESCRIPTION="Mesa Matrox mga DRI driver."
131     DEPEND="== ${PCATEGORIE}/mesa-${PVER}"
132     }
133    
134     split_info_mesa-dri-r128()
135     {
136     DESCRIPTION="Mesa ATI Rage128 DRI driver."
137     DEPEND="== ${PCATEGORIE}/mesa-${PVER}"
138     }
139    
140     split_info_mesa-dri-r200()
141     {
142     DESCRIPTION="Mesa ATI Radeon r200 DRI driver."
143     DEPEND="== ${PCATEGORIE}/mesa-${PVER}"
144     }
145    
146     split_info_mesa-dri-r300()
147     {
148     DESCRIPTION="Mesa ATI Radeon r300 DRI driver."
149     DEPEND="== ${PCATEGORIE}/mesa-${PVER}"
150     }
151    
152     split_info_mesa-dri-r600()
153     {
154     DESCRIPTION="Mesa ATI Radeon r600 DRI driver."
155     DEPEND="== ${PCATEGORIE}/mesa-${PVER}"
156     }
157    
158     split_info_mesa-dri-radeon()
159     {
160     DESCRIPTION="Mesa ATI Radeon generic DRI driver."
161     DEPEND="== ${PCATEGORIE}/mesa-${PVER}"
162     }
163    
164     split_info_mesa-dri-savage()
165     {
166     DESCRIPTION="Mesa S3 Savage DRI driver."
167     DEPEND="== ${PCATEGORIE}/mesa-${PVER}"
168     }
169    
170     split_info_mesa-dri-sis()
171     {
172     DESCRIPTION="Mesa SIS generic DRI driver."
173     DEPEND="== ${PCATEGORIE}/mesa-${PVER}"
174     }
175    
176     split_info_mesa-dri-tdfx()
177     {
178     DESCRIPTION="Mesa 3DFX Voodoo DRI driver."
179     DEPEND="== ${PCATEGORIE}/mesa-${PVER}"
180     }
181    
182     split_info_mesa-dri-unichrome()
183     {
184     DESCRIPTION="Mesa VIA Chrome DRI driver."
185     DEPEND="== ${PCATEGORIE}/mesa-${PVER}"
186     }
187    
188     src_prepare()
189     {
190     munpack ${SRCFILE} || die
191    
192     # no debug code in the drives (gentoo)
193     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/" ;'
194    
195     # get rid of glut includes
196     all-abis rm -f include/GL/glut*h || die
197     }
198    
199     src_compile()
200     {
201     # gallium is highly experimental, disabled atm!
202     mconfigure \
203     --with-driver=dri \
204     --with-dri-driverdir=/usr/'$(mlibdir)'/dri \
205     --disable-debug \
206     --disable-glut \
207     --disable-ttm-api \
208     --without-demos \
209     --enable-glx-tls \
210     --enable-asm \
211     --enable-xcb \
212     --enable-glw \
213 niro 7729 --enable-egl \
214     --enable-gles1 \
215     --enable-gles2 \
216     --enable-galium-egl \
217     --enable-gallium-svga \
218     --enable-gallium-radeon \
219     --enable-gallium-r600 \
220     --enable-gallium-nouveau \
221     --enable-gallium-swrast \
222     --enable-gallium-i915 \
223     --enable-gallium-i965 \
224     --with-state-trackers=glx,dri,egl,vega \
225 niro 7721 || die
226    
227     # only build software renderer on multilib arches
228     if [[ ${ARCH} = x86_64 ]]
229     then
230     only-m32 "echo 'DRI_DIRS =' >> configs/autoconf" || die
231     fi
232    
233 niro 7729 mmake -j1 || die
234 niro 7721 }
235    
236     src_install_mesa()
237     {
238     # needed directories
239     minstalldir /etc/env.d || die
240    
241     mmake DESTDIR=${BINDIR} install || die
242    
243     # missing gl headers
244     minstallfile src/glw/GLwDrawA.h /usr/include/GL || die
245    
246     # remove private headers
247     rm -f ${BINDIR}/usr/include/GL/GLw*P.h || die
248    
249     for abi in ${MULTILIB_ABIS}
250     do
251     [[ ${abi} = m32 ]] && ABI_LIBDIR="lib"
252     [[ ${abi} = m64 ]] && ABI_LIBDIR="lib64"
253     cd ${SRCDIR}-${abi}
254    
255     # fix opengl-symlinks
256     # first remove invalid symlinks
257     find ${BINDIR}/usr/$(mlibdir) -name libGL\.* -type l | xargs rm -f
258     # now create required opengl-symlinks
259     mlink libGL.so.1.2 /usr/$(mlibdir)/libGL.so || die
260     mlink libGL.so.1.2 /usr/$(mlibdir)/libGL.so.1 || die
261    
262     # now setup dynamic opengl
263     minstalldir /usr/$(mlibdir)/opengl/xorg/lib || die
264     minstalldir /usr/$(mlibdir)/opengl/xorg/extensions || die
265     minstalldir /usr/$(mlibdir)/opengl/xorg/include || die
266    
267     local x
268     for x in ${BINDIR}/usr/$(mlibdir)/libGL.so* \
269     ${BINDIR}/usr/$(mlibdir)/libGL.la \
270     ${BINDIR}/usr/$(mlibdir)/libGL.a
271     do
272     if [ -f ${x} -o -L ${x} ]
273     then
274     # libGL.a cause problems with tuxracer, etc
275     mv -f ${x} ${BINDIR}/usr/$(mlibdir)/opengl/xorg/lib || die "${x}"
276     fi
277     done
278     for x in ${BINDIR}/usr/include/GL/{gl.h,glx.h,glext.h,glxext.h}
279     do
280     if [ -f ${x} -o -L ${x} ]
281     then
282     mv -f ${x} ${BINDIR}/usr/$(mlibdir)/opengl/xorg/include || die "${x}"
283     fi
284     done
285    
286     # satisfy libtool
287     minstallfile -s libGLU.la /usr/$(mlibdir) || die
288     minstallfile -s libGL.la /usr/$(mlibdir)/opengl/xorg/lib || die
289    
290     # fix libdir on 64bit arches
291     if [[ $(mlibdir) != lib ]]
292     then
293     sed -i "s:/usr/lib:/usr/$(mlibdir):g" ${BINDIR}/usr/$(mlibdir)/libGLU.la || die
294     sed -i "s:/usr/lib:/usr/$(mlibdir):g" ${BINDIR}/usr/$(mlibdir)/opengl/xorg/lib/libGL.la || die
295     fi
296    
297     # create the two-number versioned libs (.so.#.#), since only .so.# and
298     # .so.#.#.# were made
299     local x
300     for x in ${BINDIR}/usr/$(mlibdir)/libGLU.so.*.*.* \
301     ${BINDIR}/usr/$(mlibdir)/libGLw.so.*.*.*
302     do
303     local lib_name_dot3="$(basename $(ls ${x}))"
304     local lib_name_dot2="${lib_name_dot3%.*}"
305     local lib_name_dot1="${lib_name_dot2%.*}"
306     local lib_name_dot0="${lib_name_dot1%.*}"
307     mlink ${lib_name_dot3} /usr/$(mlibdir)/${lib_name_dot2} || die "${x}"
308     mlink ${lib_name_dot3} /usr/$(mlibdir)/${lib_name_dot1} || die "${x}"
309     mlink ${lib_name_dot3} /usr/$(mlibdir)/${lib_name_dot0} || die "${x}"
310     done
311    
312     # export LIBGL_DRIVER_PATH location.
313     # we are using '/usr/lib/dri' as hardcoded location.
314     # but nvidia and ati are using '/usr/$(mlibdir)/xorg/modules/dri'
315     # LIBGL_DRIVER_PATH overwrites the hardcoded location and
316     # if nvidia or ati driver are installed
317     # the dri modules will never be found by libGL
318     # use "LIBGL_DEBUG=verbose glxinfo" to check this issue
319     echo "LIBGL_DRIVERS_PATH=/usr/$(mlibdir)/dri" > ${BINDIR}/etc/env.d/09mesa-${abi} || die
320     done
321    
322     # remove dri-drivers
323 niro 7728 # rm -r ${BINDIR}/usr/$(mlibdir)/dri || die
324     # if [[ $(mlibdir) != lib ]]
325     # then
326     # rm -r ${BINDIR}/usr/lib/dri || die
327     # fi
328 niro 7721 }
329    
330     src_install_mesa-dri-swrast()
331     {
332     mmake -C src/mesa/drivers/dri/swrast DESTDIR=${BINDIR} install || die
333     }
334    
335     src_install_mesa-dri-i810()
336     {
337     mmake -C src/mesa/drivers/dri/i810 DESTDIR=${BINDIR} install || die
338     }
339    
340     src_install_mesa-dri-i915()
341     {
342     mmake -C src/mesa/drivers/dri/i915 DESTDIR=${BINDIR} install || die
343     }
344    
345     src_install_mesa-dri-i965()
346     {
347     mmake -C src/mesa/drivers/dri/i965 DESTDIR=${BINDIR} install || die
348     }
349    
350     src_install_mesa-dri-mach64()
351     {
352     mmake -C src/mesa/drivers/dri/mach64 DESTDIR=${BINDIR} install || die
353     }
354     src_install_mesa-dri-mga()
355     {
356     mmake -C src/mesa/drivers/dri/mga DESTDIR=${BINDIR} install || die
357     }
358    
359     src_install_mesa-dri-r128()
360     {
361     mmake -C src/mesa/drivers/dri/r128 DESTDIR=${BINDIR} install || die
362     }
363    
364     src_install_mesa-dri-r200()
365     {
366     mmake -C src/mesa/drivers/dri/r200 DESTDIR=${BINDIR} install || die
367     }
368    
369     src_install_mesa-dri-r300()
370     {
371     mmake -C src/mesa/drivers/dri/r300 DESTDIR=${BINDIR} install || die
372     }
373    
374     src_install_mesa-dri-r600()
375     {
376     mmake -C src/mesa/drivers/dri/r600 DESTDIR=${BINDIR} install || die
377     }
378    
379     src_install_mesa-dri-radeon()
380     {
381     mmake -C src/mesa/drivers/dri/radeon DESTDIR=${BINDIR} install || die
382     }
383    
384     src_install_mesa-dri-savage()
385     {
386     mmake -C src/mesa/drivers/dri/savage DESTDIR=${BINDIR} install || die
387     }
388    
389     src_install_mesa-dri-sis()
390     {
391     mmake -C src/mesa/drivers/dri/sis DESTDIR=${BINDIR} install || die
392     }
393    
394     src_install_mesa-dri-tdfx()
395     {
396     mmake -C src/mesa/drivers/dri/tdfx DESTDIR=${BINDIR} install || die
397     }
398    
399     src_install_mesa-dri-unichrome()
400     {
401     mmake -C src/mesa/drivers/dri/unichrome DESTDIR=${BINDIR} install || die
402     }
403 niro 7729