Magellan Linux

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 7733 - (hide annotations) (download)
Mon May 30 16:54:21 2011 UTC (12 years, 11 months ago) by niro
File size: 9493 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 niro 7733 mirror://${PNAME}/${PNAME}-${PVER}-nouveau-missing-headers.patch
76 niro 7721 )
77    
78     UP2DATE="updatecmd ftp://ftp.freedesktop.org/pub/mesa/current | lasttarball"
79    
80     split_info_mesa()
81     {
82     DESCRIPTION="Mesa3D OpenGL graphics library."
83     PCATEGORIE="media-libs"
84    
85     DEPEND="${MESA_DEPEND}"
86    
87 niro 7731 PROVIDE="virtual/opengl"
88    
89 niro 7721 postinstall()
90     {
91     ${MROOT}/usr/sbin/opengl-update --use-old xorg
92     }
93     }
94    
95     split_info_mesa-dri-swrast()
96     {
97     DESCRIPTION="Mesa Software Raster DRI driver."
98     DEPEND="== ${PCATEGORIE}/mesa-${PVER}"
99     }
100    
101     split_info_mesa-dri-i810()
102     {
103     DESCRIPTION="Mesa Intel i810 DRI driver."
104     DEPEND="== ${PCATEGORIE}/mesa-${PVER}"
105     }
106    
107     split_info_mesa-dri-i915()
108     {
109     DESCRIPTION="Mesa Intel i915 DRI driver."
110     DEPEND="== ${PCATEGORIE}/mesa-${PVER}"
111     }
112    
113     split_info_mesa-dri-i965()
114     {
115     DESCRIPTION="Mesa Intel i965 DRI driver."
116     DEPEND="== ${PCATEGORIE}/mesa-${PVER}"
117     }
118    
119     split_info_mesa-dri-mach64()
120     {
121     DESCRIPTION="Mesa ATI mach64 DRI driver."
122     DEPEND="== ${PCATEGORIE}/mesa-${PVER}"
123     }
124    
125     split_info_mesa-dri-mga()
126     {
127     DESCRIPTION="Mesa Matrox mga DRI driver."
128     DEPEND="== ${PCATEGORIE}/mesa-${PVER}"
129     }
130    
131     split_info_mesa-dri-r128()
132     {
133     DESCRIPTION="Mesa ATI Rage128 DRI driver."
134     DEPEND="== ${PCATEGORIE}/mesa-${PVER}"
135     }
136    
137     split_info_mesa-dri-r200()
138     {
139     DESCRIPTION="Mesa ATI Radeon r200 DRI driver."
140     DEPEND="== ${PCATEGORIE}/mesa-${PVER}"
141     }
142    
143     split_info_mesa-dri-r300()
144     {
145     DESCRIPTION="Mesa ATI Radeon r300 DRI driver."
146     DEPEND="== ${PCATEGORIE}/mesa-${PVER}"
147     }
148    
149     split_info_mesa-dri-r600()
150     {
151     DESCRIPTION="Mesa ATI Radeon r600 DRI driver."
152     DEPEND="== ${PCATEGORIE}/mesa-${PVER}"
153     }
154    
155     split_info_mesa-dri-radeon()
156     {
157     DESCRIPTION="Mesa ATI Radeon generic DRI driver."
158     DEPEND="== ${PCATEGORIE}/mesa-${PVER}"
159     }
160    
161     split_info_mesa-dri-savage()
162     {
163     DESCRIPTION="Mesa S3 Savage DRI driver."
164     DEPEND="== ${PCATEGORIE}/mesa-${PVER}"
165     }
166    
167     split_info_mesa-dri-sis()
168     {
169     DESCRIPTION="Mesa SIS generic DRI driver."
170     DEPEND="== ${PCATEGORIE}/mesa-${PVER}"
171     }
172    
173     split_info_mesa-dri-tdfx()
174     {
175     DESCRIPTION="Mesa 3DFX Voodoo DRI driver."
176     DEPEND="== ${PCATEGORIE}/mesa-${PVER}"
177     }
178    
179     split_info_mesa-dri-unichrome()
180     {
181     DESCRIPTION="Mesa VIA Chrome DRI driver."
182     DEPEND="== ${PCATEGORIE}/mesa-${PVER}"
183     }
184    
185     src_prepare()
186     {
187     munpack ${SRCFILE} || die
188    
189 niro 7733 # fix missing nouveau headers
190     mpatch ${PNAME}-${PVER}-nouveau-missing-headers.patch || die
191    
192 niro 7721 # 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