Magellan Linux

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

Parent Directory Parent Directory | Revision Log Revision Log


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