Magellan Linux

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 7722 - (show 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 # $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 # not the same version anymore
49 MESA_PROGS_PVER="8.0.1"
50
51 # must be set *after* the include of xorg!
52 SRCFILE="MesaLib-${PVER/_/-}.tar.bz2"
53 MESA_PROGS_SRCFILE="mesa-demos-${PROGS_PVER}.tar.bz2"
54 # 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 ftp://ftp.freedesktop.org/pub/mesa/demos/${MESA_PROGS_PVER}/${MESA_PROGS_SRCFILE}
78 sourceforge://mesa3d/${SRCFILE}
79 sourceforge://mesa3d/${MESA_PROGS_SRCFILE}
80 mirror://${PNAME}/${SRCFILE}
81 mirror://${PNAME}/${MESA_PROGS_SRCFILE}
82 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 PVER="${MESA_PROGS_PVER}"
107 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 all-abis "oldmunpack ${MESA_PROGS_SRCFILE} && cp -R ${SRCDIR}/* ${SRCDIR}-$(mabi)/" || die
206
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 }