Magellan Linux

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

Parent Directory Parent Directory | Revision Log Revision Log


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