Magellan Linux

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

Parent Directory Parent Directory | Revision Log Revision Log


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