Magellan Linux

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 7724 - (show 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 # $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 MESA_PROGS_SRCFILE="mesa-demos-${MESA_PROGS_PVER}.tar.bz2"
51 MESA_PROGS_SRCDIR="${BUILDDIR}/mesa-demos-${MESA_PROGS_PVER}"
52
53 # must be set *after* the include of xorg!
54 SRCFILE="MesaLib-${PVER/_/-}.tar.bz2"
55 # libs SRCDIR
56 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 ftp://ftp.freedesktop.org/pub/mesa/demos/${MESA_PROGS_PVER}/${MESA_PROGS_SRCFILE}
79 sourceforge://mesa3d/${SRCFILE}
80 sourceforge://mesa3d/${MESA_PROGS_SRCFILE}
81 mirror://${PNAME}/${SRCFILE}
82 mirror://${PNAME}/${MESA_PROGS_SRCFILE}
83 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 PVER="${MESA_PROGS_PVER}"
108 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 all-abis "oldmunpack ${MESA_PROGS_SRCFILE} && cp -R ${MESA_PROGS_SRCDIR}/* ${SRCDIR}-$(mabi)/" || die
207
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 }