Magellan Linux

Contents of /smage/branches/alx-0_6_0/core/mesa/mesa-7.10.3-r3.smage2

Parent Directory Parent Directory | Revision Log Revision Log


Revision 4945 - (show annotations) (download)
Wed Jun 5 12:12:01 2013 UTC (10 years, 11 months ago) by niro
File size: 9418 byte(s)
-rebuild against libdrm-2.4.33
1 # $Id$
2
3 PNAME="mesa"
4 PVER="7.10.3"
5 PBUILD="r3"
6
7 PCATEGORIE="media-libs"
8
9 SPLIT_PACKAGES="mesa
10 mesa-dev
11 mesa-dri-swrast
12 mesa-dri-i810
13 mesa-dri-i915
14 mesa-dri-i965
15 mesa-dri-mach64
16 mesa-dri-mga
17 mesa-dri-r128
18 mesa-dri-r200
19 mesa-dri-r300
20 mesa-dri-r600
21 mesa-dri-radeon
22 mesa-dri-savage
23 mesa-dri-sis
24 mesa-dri-tdfx
25 mesa-dri-unichrome
26 mesa-gallium-nouveau"
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.33
37 >= x11-libs/libICE-1
38 >= x11-libs/libXfixes-4
39 >= x11-libs/libXdamage-1"
40
41 SDEPEND="${COMMON_DEPEND}
42 >= dev-util/pkgconfig-0.25
43 >= x11-misc/makedepend-1
44 >= x11-proto/xf86vidmodeproto-2.3
45 >= x11-libs/libXxf86vm-1.1
46 >= x11-proto/glproto-1.4.9
47 >= x11-proto/inputproto-1
48 >= x11-proto/xextproto-7
49 >= x11-proto/xf86driproto-2
50 >= x11-proto/dri2proto-2.0
51 >= x11-proto/xproto-7
52 >= x11-proto/fixesproto-4
53 >= x11-proto/damageproto-1
54 >= dev-lang/python-2.7
55 >= dev-libs/libxml2-2.7"
56
57 # must be set before the include of multilib!
58 EMUL_LINUX_32=true
59 sminclude xorg mtools multilib cleanutils alx
60
61 # must be set *after* the include of xorg!
62 SRCFILE="MesaLib-${PVER/_/-}.tar.gz"
63 SRCDIR="${BUILDDIR}/Mesa-${PVER/_/-}"
64
65 SRC_URI=(
66 ftp://ftp.freedesktop.org/pub/mesa/${PVER}/${SRCFILE}
67 sourceforge://mesa3d/${SRCFILE}
68 mirror://${PNAME}/${SRCFILE}
69 mirror://${PNAME}/libGLU.la
70 mirror://${PNAME}/libGL.la
71 mirror://${PNAME}/${PNAME}-7.10.2-nouveau-missing-headers.patch
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 split_info_mesa-gallium-nouveau()
180 {
181 DESCRIPTION="Mesa Nvidia Nouveau Gallium 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}-7.10.2-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-gallium-nouveau \
214 --disable-egl \
215 || die
216
217 # only build software renderer on multilib arches
218 if [[ ${ARCH} = x86_64 ]]
219 then
220 only-m32 "echo 'DRI_DIRS =' >> configs/autoconf" || die
221 fi
222
223 mmake || die
224 }
225
226 src_install_mesa()
227 {
228 # needed directories
229 minstalldir /etc/env.d || die
230
231 mmake DESTDIR=${BINDIR} install || die
232
233 for abi in ${MULTILIB_ABIS}
234 do
235 [[ ${abi} = m32 ]] && ABI_LIBDIR="lib"
236 [[ ${abi} = m64 ]] && ABI_LIBDIR="lib64"
237 cd ${SRCDIR}-${abi}
238
239 # fix opengl-symlinks
240 # first remove invalid symlinks
241 find ${BINDIR}/usr/$(mlibdir) -name libGL\.* -type l | xargs rm -f
242 # now create required opengl-symlinks
243 mlink libGL.so.1.2 /usr/$(mlibdir)/libGL.so || die
244 mlink libGL.so.1.2 /usr/$(mlibdir)/libGL.so.1 || die
245
246 # create the two-number versioned libs (.so.#.#), since only .so.# and
247 # .so.#.#.# were made
248 local x
249 for x in ${BINDIR}/usr/$(mlibdir)/libGLU.so.*.*.* \
250 ${BINDIR}/usr/$(mlibdir)/libGLw.so.*.*.*
251 do
252 local lib_name_dot3="$(basename $(ls ${x}))"
253 local lib_name_dot2="${lib_name_dot3%.*}"
254 local lib_name_dot1="${lib_name_dot2%.*}"
255 local lib_name_dot0="${lib_name_dot1%.*}"
256 mlink ${lib_name_dot3} /usr/$(mlibdir)/${lib_name_dot2} || die "${x}"
257 mlink ${lib_name_dot3} /usr/$(mlibdir)/${lib_name_dot1} || die "${x}"
258 mlink ${lib_name_dot3} /usr/$(mlibdir)/${lib_name_dot0} || die "${x}"
259 done
260
261 # export LIBGL_DRIVER_PATH location.
262 # we are using '/usr/lib/dri' as hardcoded location.
263 # but nvidia and ati are using '/usr/$(mlibdir)/xorg/modules/dri'
264 # LIBGL_DRIVER_PATH overwrites the hardcoded location and
265 # if nvidia or ati driver are installed
266 # the dri modules will never be found by libGL
267 # use "LIBGL_DEBUG=verbose glxinfo" to check this issue
268 echo "LIBGL_DRIVERS_PATH=/usr/$(mlibdir)/dri" > ${BINDIR}/etc/env.d/09mesa-${abi} || die
269 done
270
271 # cleanup
272 zapmost ${BINDIR} etc/env.d usr/$(mlibdir)/*.so usr/$(mlibdir)/*.so.* \
273 usr/$(mlibdir)/opengl/xorg/lib/*.so usr/$(mlibdir)/opengl/xorg/lib/*.so.* \
274 $(if [[ $(mlibdir) != lib ]];then echo "usr/lib/*.so usr/lib/*.so.* usr/lib/opengl/xorg/lib/*.so usr/lib/opengl/xorg/lib/*.so.*"; fi) \
275 || die
276 }
277
278 src_install_mesa-dev()
279 {
280 mmake DESTDIR=${BINDIR} install || die
281
282 # missing gl headers
283 minstallfile src/glw/GLwDrawA.h /usr/include/GL || die
284
285 # remove private headers
286 rm -f ${BINDIR}/usr/include/GL/GLw*P.h || die
287
288 for abi in ${MULTILIB_ABIS}
289 do
290 [[ ${abi} = m32 ]] && ABI_LIBDIR="lib"
291 [[ ${abi} = m64 ]] && ABI_LIBDIR="lib64"
292 cd ${SRCDIR}-${abi}
293
294 # satisfy libtool
295 minstallfile -s libGLU.la /usr/$(mlibdir) || die
296
297 # fix libdir on 64bit arches
298 if [[ $(mlibdir) != lib ]]
299 then
300 sed -i "s:/usr/lib:/usr/$(mlibdir):g" ${BINDIR}/usr/$(mlibdir)/libGLU.la || die
301 fi
302 done
303
304 # cleanup
305 rm -r ${BINDIR}/usr/$(mlibdir)/*.so || die
306 rm -r ${BINDIR}/usr/$(mlibdir)/*.so.* || die
307 #rm -r ${BINDIR}/usr/$(mlibdir)/opengl/xorg/lib/*.so || die
308 #rm -r ${BINDIR}/usr/$(mlibdir)/opengl/xorg/lib/*.so.* || die
309 rm -r ${BINDIR}/usr/$(mlibdir)/dri || die
310 if [[ $(mlibdir) != lib ]]
311 then
312 rm -r ${BINDIR}/usr/lib/*.so || die
313 rm -r ${BINDIR}/usr/lib/*.so.* || die
314 #rm -r ${BINDIR}/usr/lib/opengl/xorg/lib/*.so || die
315 #rm -r ${BINDIR}/usr/lib/opengl/xorg/lib/*.so.* || die
316 rm -r ${BINDIR}/usr/lib/dri || die
317 fi
318 }
319
320 src_install_mesa-dri-swrast()
321 {
322 mmake -C src/mesa/drivers/dri/swrast DESTDIR=${BINDIR} install || die
323 }
324
325 src_install_mesa-dri-i810()
326 {
327 mmake -C src/mesa/drivers/dri/i810 DESTDIR=${BINDIR} install || die
328 }
329
330 src_install_mesa-dri-i915()
331 {
332 mmake -C src/mesa/drivers/dri/i915 DESTDIR=${BINDIR} install || die
333 }
334
335 src_install_mesa-dri-i965()
336 {
337 mmake -C src/mesa/drivers/dri/i965 DESTDIR=${BINDIR} install || die
338 }
339
340 src_install_mesa-dri-mach64()
341 {
342 mmake -C src/mesa/drivers/dri/mach64 DESTDIR=${BINDIR} install || die
343 }
344 src_install_mesa-dri-mga()
345 {
346 mmake -C src/mesa/drivers/dri/mga DESTDIR=${BINDIR} install || die
347 }
348
349 src_install_mesa-dri-r128()
350 {
351 mmake -C src/mesa/drivers/dri/r128 DESTDIR=${BINDIR} install || die
352 }
353
354 src_install_mesa-dri-r200()
355 {
356 mmake -C src/mesa/drivers/dri/r200 DESTDIR=${BINDIR} install || die
357 }
358
359 src_install_mesa-dri-r300()
360 {
361 mmake -C src/mesa/drivers/dri/r300 DESTDIR=${BINDIR} install || die
362 }
363
364 src_install_mesa-dri-r600()
365 {
366 mmake -C src/mesa/drivers/dri/r600 DESTDIR=${BINDIR} install || die
367 }
368
369 src_install_mesa-dri-radeon()
370 {
371 mmake -C src/mesa/drivers/dri/radeon DESTDIR=${BINDIR} install || die
372 }
373
374 src_install_mesa-dri-savage()
375 {
376 mmake -C src/mesa/drivers/dri/savage DESTDIR=${BINDIR} install || die
377 }
378
379 src_install_mesa-dri-sis()
380 {
381 mmake -C src/mesa/drivers/dri/sis DESTDIR=${BINDIR} install || die
382 }
383
384 src_install_mesa-dri-tdfx()
385 {
386 mmake -C src/mesa/drivers/dri/tdfx DESTDIR=${BINDIR} install || die
387 }
388
389 src_install_mesa-dri-unichrome()
390 {
391 mmake -C src/mesa/drivers/dri/unichrome DESTDIR=${BINDIR} install || die
392 }
393
394 src_install_mesa-gallium-nouveau()
395 {
396 mmake -C src/gallium/targets/dri-nouveau DESTDIR=${BINDIR} install || die
397 }