Magellan Linux

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

Parent Directory Parent Directory | Revision Log Revision Log


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