Magellan Linux

Annotation of /smage/trunk/core/mesa/mesa-7.10-r2.smage2

Parent Directory Parent Directory | Revision Log Revision Log


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