2 Summary: Mesa graphics libraries
5 Group: System/Libraries
7 URL: http://www.mesa3d.org/beta
8 Source0: %{name}-%{version}.tar.bz2
9 Source1: mesa-rpmlintrc
10 Source1001: packaging/mesa.manifest
12 BuildRequires: pkgconfig(dri2proto) >= 1.1
13 #BuildRequires: pkgconfig(xproto)
14 BuildRequires: pkgconfig(libdrm)
15 BuildRequires: pkgconfig(xxf86vm)
16 BuildRequires: pkgconfig(xext)
17 BuildRequires: pkgconfig(xfixes)
18 BuildRequires: pkgconfig(xdamage)
19 #BuildRequires: pkgconfig(xi)
20 #BuildRequires: pkgconfig(xmu)
21 #BuildRequires: pkgconfig(libxml-2.0)
22 BuildRequires: pkgconfig autoconf automake
24 #BuildRequires: pkgconfig(libdrm_intel)
26 #BuildRequires: pkgconfig(libdrm)
28 BuildRequires: expat-devel >= 2.0
29 #BuildRequires: python-devel
32 BuildRequires: makedepend
33 BuildRequires: libxml2-python
38 Mesa is an open-source implementation of the OpenGL specification -
39 a system for rendering interactive 3D graphics.
43 #%package dri-drivers-devel
44 #Summary: Mesa-based DRI development files
45 #Group: Development/Libraries
47 #%description dri-drivers-devel
48 #Mesa-based DRI driver development files.
51 #%package dri-i965-driver
52 #Summary: Mesa-based DRI drivers
53 #Group: System/X Hardware Support
54 #Provides: mesa-dri-drivers = %{version}-%{release}
56 #%description dri-i965-driver
57 #Mesa-based i965 DRI driver.
59 #%package dri-i915-driver
60 #Summary: Mesa-based DRI drivers
61 #Group: System/X Hardware Support
62 #Provides: mesa-dri-drivers = %{version}-%{release}
64 #%description dri-i915-driver
65 #Mesa-based i915 DRI driver.
68 #%package dri-swrast-driver
69 #Summary: Mesa-based DRI drivers
70 #Group: System/X Hardware Support
71 #Provides: mesa-dri-drivers = %{version}-%{release}
73 #%description dri-swrast-driver
74 #Mesa-based swrast DRI driver.
77 Summary: Mesa libGL runtime libraries and DRI drivers
78 Group: System/Libraries
79 Requires(post): /sbin/ldconfig
80 Requires(postun): /sbin/ldconfig
81 Provides: libGL = %{version}-%{release}
84 Mesa libGL runtime library.
87 #Summary: Mesa libGLESv1 runtime libraries
88 #Group: System/Libraries
89 #Requires(post): /sbin/ldconfig
90 #Requires(postun): /sbin/ldconfig
91 #Provides: libGLESv1 = %{version}-%{release}
93 #%description libGLESv1
94 #Mesa libGLESv1 runtime library.
97 #Summary: Mesa libGLESv2 runtime libraries
98 #Group: System/Libraries
99 #Requires(post): /sbin/ldconfig
100 #Requires(postun): /sbin/ldconfig
101 #Provides: libGLESv2 = %{version}-%{release}
103 #%description libGLESv2
104 #Mesa libGLESv2 runtime library.
106 #%package libGLESv2-compat
107 #Summary: Mesa libGLESv2 runtime compatibility library
108 #Group: System/Libraries
109 #Requires: libGLESv2.so.2
110 #Requires(post): /sbin/ldconfig
111 #Requires(postun): /sbin/ldconfig
112 #Provides: libGLESv2.so
114 #%description libGLESv2-compat
115 #Mesa libGLESv2 runtime compatibility library.
118 Summary: Mesa libEGL runtime libraries and DRI drivers
119 Group: System/Libraries
120 Requires(post): /sbin/ldconfig
121 Requires(postun): /sbin/ldconfig
124 Mesa libEGL runtime library.
127 Summary: Mesa libGLU runtime library
128 Group: System/Libraries
129 Requires(post): /sbin/ldconfig
130 Requires(postun): /sbin/ldconfig
133 Mesa OpenGL library Utility runtime library
136 Summary: Mesa offscreen rendering libraries
137 Group: System/Libraries
138 Requires(post): /sbin/ldconfig
139 Requires(postun): /sbin/ldconfig
141 %description libOSMesa
142 Mesa offscreen rendering interface libraries
145 Summary: Mesa libGL development package
146 Group: Development/Libraries
147 Requires: mesa-libGL = %{version}-%{release}
148 Requires: libx11-devel
149 Provides: libGL-devel
151 %description libGL-devel
152 Mesa OpenGL library development package
154 #%package libGLESv1-devel
155 #Summary: Mesa libGLESv1 development package
156 #Group: Development/Libraries
157 #Requires: mesa-libGLESv1 = %{version}-%{release}
158 #Provides: libGLESv1-devel
160 #%description libGLESv1-devel
161 #Mesa OpenGLESv1 library development package
163 #%package libGLESv2-devel
164 #Summary: Mesa libGLESv2 development package
165 #Group: Development/Libraries
166 #Requires: mesa-libGLESv2 = %{version}-%{release}
167 #Provides: libGLESv2-devel
168 #Obsoletes: mesa-libGLESv2-compat
170 #%description libGLESv2-devel
171 #Mesa OpenGLESv2 library development package
173 %package libEGL-devel
174 Summary: Mesa libEGL development package
175 Group: Development/Libraries
176 Requires: mesa-libEGL = %{version}-%{release}
178 %description libEGL-devel
179 Mesa EGL library development package
181 %package libGLU-devel
182 Summary: Mesa libGLU development package
183 Group: Development/Libraries
184 Requires: mesa-libGLU = %{version}-%{release}
185 Requires: libGL-devel
186 Provides: libGLU-devel
188 %description libGLU-devel
189 Mesa OpenGL library Utility development package
191 %package libOSMesa-devel
192 Summary: Mesa offscreen rendering development package
193 Group: Development/Libraries
194 Requires: mesa-libOSMesa = %{version}-%{release}
196 %description libOSMesa-devel
197 Mesa offscreen rendering interface library development package
205 # build mesa-libOSMesa
206 %define osmesa_flags --with-driver=osmesa --disable-gallium --with-dri-drivers="" --disable-glu --disable-glw --disable-glut --disable-gallium-llvm --disable-gallium-gbm
208 %define gles_flags --with-gallium-drivers=swrast --enable-gallium-egl --with-egl-driver-dir=/usr/lib --enable-gles1 --enable-gles2 --with-egl-platforms=x11
210 %define conf_flags --with-driver=xlib
212 %reconfigure %{osmesa_flags} %{gles_flags}
214 make %{?jobs:-j%jobs}
218 #[ `find . -name \*.o | wc -l` -eq 0 ] || exit 1
220 %reconfigure --disable-static \
223 --disable-driglx-direct \
224 --disable-shared-glapi \
225 --disable-gl-osmesa \
227 --disable-gallium-llvm \
228 --disable-gallium-gbm \
229 --with-egl-driver-dir=/usr/lib \
232 --with-gallium-drivers=swrast \
233 --enable-gallium-egl \
234 --with-egl-platforms=x11 \
237 LDFLAGS+="-lgcc_s -lgcc" make %{?jobs:-j%jobs}
245 mv osmesa*/libOS* $RPM_BUILD_ROOT%{_libdir}
246 # create and install osmesa.pc
249 cp -vf osmesa.pc $RPM_BUILD_ROOT%{_libdir}/pkgconfig/
252 # strip out undesirable headers
253 pushd $RPM_BUILD_ROOT%{_includedir}/GL
254 rm [a-fh-np-wyz]*.h glf*.h
257 #remove egl_glx.so, which is broken
258 pushd $RPM_BUILD_ROOT%{_libdir}
263 # libegl library setting
264 mkdir -p $RPM_BUILD_ROOT%{_libdir}/mesa-gl
266 mv osmesa/libglapi.so* $RPM_BUILD_ROOT%{_libdir}/mesa-gl
267 mv osmesa/egl/*.so* $RPM_BUILD_ROOT%{_libdir}/mesa-gl
268 mv osmesa/libEGL.so.1.0 $RPM_BUILD_ROOT%{_libdir}/mesa-gl
269 mv osmesa/libEGL.so.1 $RPM_BUILD_ROOT%{_libdir}/mesa-gl
270 mv osmesa/libGLESv1_CM.so.1.1.0 $RPM_BUILD_ROOT%{_libdir}/mesa-gl
271 mv osmesa/libGLESv2.so.2.0.0 $RPM_BUILD_ROOT%{_libdir}/mesa-gl
273 mv lib/libglapi.so* $RPM_BUILD_ROOT%{_libdir}/mesa-gl
274 mv lib/egl/*.so* $RPM_BUILD_ROOT%{_libdir}/mesa-gl
275 mv lib/libEGL.so.1.0 $RPM_BUILD_ROOT%{_libdir}/mesa-gl
276 mv lib/libEGL.so.1 $RPM_BUILD_ROOT%{_libdir}/mesa-gl
277 mv lib/libGLESv1_CM.so.1.1.0 $RPM_BUILD_ROOT%{_libdir}/mesa-gl
278 mv lib/libGLESv2.so.2.0.0 $RPM_BUILD_ROOT%{_libdir}/mesa-gl
280 rm $RPM_BUILD_ROOT%{_libdir}/libGLES*.so*
281 rm $RPM_BUILD_ROOT%{_libdir}/libEGL.so*
282 rm $RPM_BUILD_ROOT%{_libdir}/st_GL.so
283 rm $RPM_BUILD_ROOT%{_libdir}/egl_gallium.so
284 rm $RPM_BUILD_ROOT%{_libdir}/libglapi.so*
286 %post libGL -p /sbin/ldconfig
288 %postun libGL -p /sbin/ldconfig
290 #%post libGLESv1 -p /sbin/ldconfig
292 #%postun libGLESv1 -p /sbin/ldconfig
295 #%post libGLESv2 -p /sbin/ldconfig
297 #%postun libGLESv2 -p /sbin/ldconfig
300 #%post libGLESv2-compat -p /sbin/ldconfig
302 #%postun libGLESv2-compat -p /sbin/ldconfig
305 %post libEGL -p /sbin/ldconfig
307 %postun libEGL -p /sbin/ldconfig
310 #%post libEGL-compat -p /sbin/ldconfig
312 #%postun libEGL-compat -p /sbin/ldconfig
315 %post libGLU -p /sbin/ldconfig
317 %postun libGLU -p /sbin/ldconfig
320 %post libOSMesa -p /sbin/ldconfig
322 %postun libOSMesa -p /sbin/ldconfig
325 #%files dri-drivers-devel
326 #%defattr(-,root,root,-)
327 #%{_libdir}/pkgconfig/dri.pc
329 #%files dri-i965-driver
330 #%defattr(-,root,root,-)
331 #%{_libdir}/dri/i965_dri.so
333 #%files dri-i915-driver
334 #%defattr(-,root,root,-)
335 #%{_libdir}/dri/i915_dri.so
337 #%files dri-swrast-driver
338 #%defattr(-,root,root,-)
339 #%{_libdir}/dri/swrast_dri.so
343 %defattr(-,root,root,-)
344 %{_libdir}/libGL.so.*
347 #%defattr(-,root,root,-)
348 #%{_libdir}/libGLESv1_CM.so.*
351 #%defattr(-,root,root,-)
352 #%{_libdir}/libGLESv2.so.*
354 #%files libGLESv2-compat
355 #%defattr(-,root,root,-)
356 #%{_libdir}/libGLESv2.so
359 %defattr(-,root,root,-)
360 %{_libdir}/mesa-gl/libEGL.so.1
361 %{_libdir}/mesa-gl/libEGL.so.1.0
362 %{_libdir}/mesa-gl/libGLESv1_CM.so.1.1.0
363 %{_libdir}/mesa-gl/libGLESv2.so.2.0.0
364 %{_libdir}/mesa-gl/libglapi.so*
365 %{_libdir}/mesa-gl/egl_gallium.so
366 %{_libdir}/mesa-gl/st_GL.so
369 %defattr(-,root,root,-)
370 %{_libdir}/libGLU.so.*
373 %defattr(-,root,root,-)
374 %{_libdir}/libOSMesa.so.7*
375 %{_libdir}/libOSMesa.so
378 %defattr(-,root,root,-)
379 %{_includedir}/GL/gl.h
380 %{_includedir}/GL/gl_mangle.h
381 %{_includedir}/GL/glext.h
382 %{_includedir}/GL/glx.h
383 %{_includedir}/GL/glx_mangle.h
384 %{_includedir}/GL/glxext.h
386 #%dir %{_includedir}/GL/internal
387 #%{_includedir}/GL/internal/dri_interface.h
390 %{_libdir}/pkgconfig/gl.pc
392 #%files libGLESv1-devel
393 #%defattr(-,root,root,-)
394 #%{_libdir}/libGLESv1_CM.so
395 #%{_includedir}/GLES/egl.h
396 #%{_includedir}/GLES/gl.h
397 #%{_includedir}/GLES/glext.h
398 #%{_includedir}/GLES/glplatform.h
399 #%{_libdir}/pkgconfig/glesv1_cm.pc
401 #%files libGLESv2-devel
402 #%defattr(-,root,root,-)
403 #%{_libdir}/libGLESv2.so
404 #%{_includedir}/GLES2/gl2.h
405 #%{_includedir}/GLES2/gl2ext.h
406 #%{_includedir}/GLES2/gl2platform.h
407 #%{_libdir}/pkgconfig/glesv2.pc
410 %defattr(-,root,root,-)
411 %dir %{_includedir}/GL
412 %{_includedir}/GL/glxmd.h
413 %{_includedir}/GL/glxproto.h
414 %{_includedir}/GL/glxtokens.h
415 %dir %{_includedir}/EGL
416 %{_includedir}/EGL/egl.h
417 %{_includedir}/EGL/eglext.h
418 %{_includedir}/EGL/eglplatform.h
419 %dir %{_includedir}/GLES
420 %{_includedir}/GLES/egl.h
421 %{_includedir}/GLES/gl.h
422 %{_includedir}/GLES/glext.h
423 %{_includedir}/GLES/glplatform.h
424 %dir %{_includedir}/GLES2
425 %{_includedir}/GLES2/gl2.h
426 %{_includedir}/GLES2/gl2ext.h
427 %{_includedir}/GLES2/gl2platform.h
428 %dir %{_includedir}/KHR
429 %{_includedir}/KHR/khrplatform.h
430 %{_libdir}/pkgconfig/egl.pc
431 %{_libdir}/pkgconfig/glesv1_cm.pc
432 %{_libdir}/pkgconfig/glesv2.pc
435 %defattr(-,root,root,-)
437 %{_libdir}/pkgconfig/glu.pc
438 %{_includedir}/GL/glu.h
439 %{_includedir}/GL/glu_mangle.h
441 %files libOSMesa-devel
442 %defattr(-,root,root,-)
443 %{_includedir}/GL/osmesa.h
444 %{_libdir}/libOSMesa.so
445 %{_libdir}/pkgconfig/osmesa.pc