Magellan Linux

Contents of /smage/trunk/core/mesa/mesa-11.0.4-r2.smage2

Parent Directory Parent Directory | Revision Log Revision Log


Revision 7953 - (show annotations) (download)
Thu Dec 3 13:59:48 2015 UTC (8 years, 5 months ago) by niro
File size: 8237 byte(s)
auto added: ver bump to 11.0.6-r1
1 # $Id$
2
3 PNAME="mesa"
4 PVER="11.0.4"
5 PBUILD="r2"
6
7 SPLIT_PACKAGES="mesa mesa-dev"
8
9 PCAT="media-libs"
10 HOMEPAGE="http://mesa3d.sourceforge.net/"
11
12 # hardcoded llvm version for libxatracker
13 LLVM_PVER="3.6.2"
14
15 MESA_DEPEND=">= dev-libs/expat-2.1
16 >= dev-libs/libffi-3.2
17 >= x11-libs/libX11-1.6
18 >= x11-libs/libXext-1.3
19 >= x11-libs/libXxf86vm-1.1
20 >= x11-libs/libXi-1.7
21 >= x11-libs/libXmu-1.1
22 >= x11-libs/libdrm-2.4.61
23 >= x11-libs/libICE-1
24 >= x11-base/opengl-update-2.3
25 >= x11-libs/libxcb-1.11
26 >= x11-libs/libXfixes-5
27 >= x11-libs/libXdamage-1
28 >= x11-libs/libxshmfence-1.1
29 >= sys-libs/libstdc++-5.2
30 >= sys-fs/libudev-220
31 >= sys-libs/llvm-libs-${LLVM_PVER}
32 >= dev-libs/openssl-1.0.2"
33 #>= x11-libs/libXvMC-1
34 # >= x11-libs/libvdpau-1.1
35 # >= x11-libs/libva-1.5
36
37 MESA_PROGS_DEPEND=">= virtual/glut"
38
39 # mesa-dev runtime deps
40 MESA_DEV_DEPEND=">= dev-libs/expat-dev-2.1
41 >= dev-libs/libffi-dev-3.2
42 >= x11-libs/libX11-dev-1.6
43 >= x11-libs/libXext-dev-1.3
44 >= x11-libs/libXxf86vm-dev-1.1
45 >= x11-libs/libXi-dev-1.7
46 >= x11-libs/libXmu-dev-1.1
47 >= x11-libs/libdrm-dev-2.4.59
48 >= x11-libs/libICE-dev-1
49 >= x11-libs/libxcb-dev-1.11
50 >= x11-libs/libXfixes-dev-5
51 >= x11-libs/libXdamage-dev-1
52 >= x11-libs/libxshmfence-dev-1.1
53 >= sys-libs/libstdc++-dev-5.2
54 >= sys-fs/libudev-dev-220
55 >= dev-libs/openssl-dev-1.0.2"
56
57 SDEPEND="${MESA_DEPEND}
58 ${MESA_PROGS_DEPEND}
59 >= dev-util/pkgconfig-0.25
60 >= x11-misc/makedepend-1
61 >= x11-libs/libXxf86vm-1.1
62 >= x11-proto/glproto-1.4.17
63 >= x11-proto/xf86driproto-2.1
64 >= x11-proto/dri2proto-2.8
65 >= x11-proto/dri3proto-1
66 >= x11-proto/presentproto-1.0
67 >= dev-lang/python-2.7
68 >= sys-dev/llvm-${LLVM_PVER}
69 ${MESA_DEV_DEPEND}"
70
71 # must be set before the include of multilib!
72 EMUL_LINUX_32=true
73 sminclude xorg mtools multilib cleanutils
74 msetfeature "!check"
75
76 # must be set *after* the include of xorg!
77 SRCFILE="${PNAME}-${PVER/_/-}.tar.xz"
78 # libs SRCDIR
79 SRCDIR="${BUILDDIR}/${PNAME}-${PVER/_/-}"
80
81 # setup_dynamic_dri $impl
82 # impl may be classic or gallium atm
83 setup_dynamic_dri()
84 {
85 local impl="$1"
86 local i
87 local abi
88
89 [[ -z ${impl} ]] && die "missing dri implementation!"
90 case ${impl} in
91 classic|gallium) ;;
92 *) die "unkown dri implementation '${impl}'!" ;;
93 esac
94
95 echo "settin up dynamic dri for a '${impl} implementation..."
96 if [[ -z ${MULTILIB_ABIS} ]]
97 then
98 minstalldir /usr/$(mlibdir)/mesa/${impl} || die
99 for i in ${BINDIR}/usr/$(mlibdir)/dri/*_dri.so
100 do
101 echo -n " processing ${i}:"
102 if [ -f ${i} -o -L ${i} ]
103 then
104 echo -n " moving"
105 mv -vf ${i} ${BINDIR}/usr/$(mlibdir)/mesa/${impl} || die "moving ${i}"
106 fi
107 done
108 else
109 for abi in ${MULTILIB_ABIS}
110 do
111 [[ ${abi} = m32 ]] && ABI_LIBDIR="lib"
112 [[ ${abi} = m64 ]] && ABI_LIBDIR="lib64"
113
114 minstalldir /usr/$(mlibdir)/mesa/${impl} || die
115 for i in ${BINDIR}/usr/$(mlibdir)/dri/*_dri.so
116 do
117 echo -n " processing ${i}"
118 if [ -f ${i} -o -L ${i} ]
119 then
120 echo -n " moving"
121 mv -vf ${i} ${BINDIR}/usr/$(mlibdir)/mesa/${impl} || die "moving ${i}"
122 fi
123 echo " done"
124 done
125 done
126 fi
127 }
128
129 SRC_URI=(
130 ftp://ftp.freedesktop.org/pub/mesa/${PVER%_*}/${SRCFILE}
131 mirror://${PNAME}/${SRCFILE}
132 )
133
134 #UP2DATE="updatecmd ftp://ftp.freedesktop.org/pub/mesa/current | highesttarball xz"
135 UP2DATE="updatecmd ftp://ftp.freedesktop.org/pub/mesa/ | grep '/[0-9].*' | sed 's:.*/\(.*\)/:\1:' | upsort_pipe"
136
137 split_info_mesa()
138 {
139 DESCRIPTION="Mesa3D OpenGL graphics library."
140 DEPEND="${MESA_DEPEND}"
141
142 PROVIDE="virtual/opengl"
143 }
144
145 split_info_mesa-dev()
146 {
147 DESCRIPTION="Dev package for mesa"
148 DEPEND="== media-libs/mesa-${PVER}
149 ${MESA_DEV_DEPEND}"
150
151 PROVIDE="virtual/opengl-dev"
152 }
153
154 src_prepare()
155 {
156 munpack ${SRCFILE} || die
157
158 # no debug code in the drives (gentoo)
159 all-abis 'find src/mesa/drivers/dri -name *.[hc] -exec egrep -l "\#define\W+DO_DEBUG\W+1" {} \; | xargs --no-run-if-empty sed -i -re "s/\#define\W+DO_DEBUG\W+1/\#define DO_DEBUG 0/" ;'
160
161 # get rid of glut includes
162 all-abis rm -f include/GL/glut*h || die
163
164 # fix an error in the libva detection
165 # all-abis 'sed -i "s:libva = 0.31.1:libva >= 0.31.1:" configure.ac' || die
166
167 mautoreconf || die
168 }
169
170 src_compile()
171 {
172 # build without rtti and exeptions, fixes issues with llvm as well
173 export CXXFLAGS="${CXXFLAGS} -fno-rtti -fno-exceptions -DNDEBUG"
174
175 # texture-float has patent issues in non european contries
176 # disable this feature if this legal concern is affected
177 local myconf="--enable-texture-float"
178
179 mconfigure \
180 --with-dri-driverdir=/usr/'$(mlibdir)'/dri \
181 --with-dri-drivers=i915,i965,r200,radeon,nouveau,swrast \
182 --with-gallium-drivers=r300,r600,radeonsi,nouveau,svga,swrast \
183 --with-egl-platforms=x11,drm \
184 --disable-debug \
185 --enable-glx-tls \
186 --enable-asm \
187 --enable-shared-glapi \
188 --enable-egl \
189 --enable-gles1 \
190 --enable-gles2 \
191 --enable-gbm \
192 --enable-osmesa \
193 --enable-xa \
194 --enable-gallium-egl \
195 --enable-gallium-llvm \
196 --disable-vdpau \
197 --enable-llvm-shared-libs \
198 ${myconf} \
199 || die
200 # --enable-va \
201
202 # # only build software renderer on multilib arches for 32Bit
203 # if [[ ${ARCH} = x86_64 ]]
204 # then
205 # only-m32 "echo 'DRI_DIRS =' >> configs/autoconf" || die
206 # fi
207
208 mmake -j1 || die
209 }
210
211 src_install_mesa()
212 {
213 mmake DESTDIR=${BINDIR} install || die
214
215 # remove all la files
216 find ${BINDIR} -name \*.la | xargs rm -fv
217
218 # setup included for dynamic opengl
219 # only target arch needed on multilib systems
220 for abi in ${MULTILIB_ABIS}
221 do
222 [[ ${abi} = m32 ]] && ABI_LIBDIR="lib"
223 [[ ${abi} = m64 ]] && ABI_LIBDIR="lib64"
224 cd ${SRCDIR}-${abi}
225
226 # setup dynamic opengl
227 minstalldir /usr/$(mlibdir)/opengl/xorg/lib || die
228 minstalldir /usr/$(mlibdir)/opengl/xorg/extensions || die
229
230 local x
231 for x in ${BINDIR}/usr/$(mlibdir)/lib{EGL,GL*,OpenVG}.so.*
232 do
233 if [ -f ${x} -o -L ${x} ]
234 then
235 mv -fv ${x} ${BINDIR}/usr/$(mlibdir)/opengl/xorg/lib || die "${x}"
236 fi
237 done
238
239 # export LIBGL_DRIVER_PATH location.
240 # we are using '/usr/lib/dri' as hardcoded location.
241 # but nvidia and ati are using '/usr/$(mlibdir)/xorg/modules/dri'
242 # LIBGL_DRIVER_PATH overwrites the hardcoded location and
243 # if nvidia or ati driver are installed
244 # the dri modules will never be found by libGL
245 # use "LIBGL_DEBUG=verbose glxinfo" to check this issue
246 minstalldir /etc/env.d || die
247 MCONFIG=/etc/env.d/09mesa-${abi}
248 mclearconfig || die
249 maddconfig "LIBGL_DRIVERS_PATH=/usr/$(mlibdir)/dri" || die
250 done
251
252 zapmost ${BINDIR} \
253 usr/$(mlibdir)/*.so.* \
254 $([[ $(mlibdir) != lib ]] && echo 'usr/lib/*.so.*') \
255 usr/$(mlibdir)/dri \
256 $([[ $(mlibdir) != lib ]] && echo 'usr/lib/dri') \
257 usr/$(mlibdir)/opengl \
258 $([[ $(mlibdir) != lib ]] && echo 'usr/lib/opengl') \
259 || die
260 # usr/$(mlibdir)/egl \
261 # $([[ $(mlibdir) != lib ]] && echo 'usr/lib/egl')
262 }
263
264 src_install_mesa-dev()
265 {
266 mmake DESTDIR=${BINDIR} install || die
267
268 # remove all la files
269 find ${BINDIR} -name \*.la | xargs rm -fv
270
271 # setup included for dynamic opengl
272 # only target arch needed on multilib systems
273 minstalldir /usr/$(mlibdir)/opengl/xorg/include/GL || die
274 for x in ${BINDIR}/usr/include/GL/{gl.h,glx.h,glext.h,glxext.h}
275 do
276 if [ -f ${x} -o -L ${x} ]
277 then
278 mv -fv ${x} ${BINDIR}/usr/$(mlibdir)/opengl/xorg/include/GL || die "${x}"
279 fi
280 done
281 for x in ${BINDIR}/usr/include/{EGL,GLES*,VG,KHR}
282 do
283 if [ -d ${x} ]
284 then
285 mv -fv ${x} ${BINDIR}/usr/$(mlibdir)/opengl/xorg/include || die "${x}"
286 fi
287 done
288
289 for abi in ${MULTILIB_ABIS}
290 do
291 [[ ${abi} = m32 ]] && ABI_LIBDIR="lib"
292 [[ ${abi} = m64 ]] && ABI_LIBDIR="lib64"
293 cd ${SRCDIR}-${abi}
294
295 # setup dynamic opengl
296 minstalldir /usr/$(mlibdir)/opengl/xorg/lib || die
297 minstalldir /usr/$(mlibdir)/opengl/xorg/extensions || die
298
299 local x
300 for x in ${BINDIR}/usr/$(mlibdir)/lib{EGL,GL*,OpenVG}.{la,a,so}
301 do
302 if [ -f ${x} -o -L ${x} ]
303 then
304 mv -fv ${x} ${BINDIR}/usr/$(mlibdir)/opengl/xorg/lib || die "${x}"
305 fi
306 done
307 done
308
309 # includes in mesa package
310 rm -r ${BINDIR}/usr/$(mlibdir)/*.so.* || die
311 mdelete -r /usr/$(mlibdir)/dri || die
312 # mdelete -r /usr/$(mlibdir)/egl || die
313 if [[ $(mlibdir) != lib ]]
314 then
315 rm -r ${BINDIR}/usr/lib/*.so.* || die
316 mdelete -r /usr/lib/dri || die
317 # mdelete -r /usr/lib/egl || die
318 fi
319 }
320
321 postinstall_mesa()
322 {
323 ${MROOT}/usr/sbin/opengl-update --use-old xorg
324 ${MROOT}/usr/sbin/dri-update --use-old gallium
325 }