Tizen 2.0 Release
[profile/ivi/osmesa.git] / packaging / mesa.spec
1 Name:       mesa
2 Summary:    Mesa graphics libraries
3 Version:    7.11.6
4 Release:    0
5 Group:      System/Libraries
6 License:    MIT
7 URL:        http://www.mesa3d.org/beta
8 Source0:    %{name}-%{version}.tar.bz2
9 Source1:    mesa-rpmlintrc
10 Source1001: packaging/mesa.manifest
11
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
23 %ifarch %ix86
24 #BuildRequires:  pkgconfig(libdrm_intel)
25 #%else
26 #BuildRequires:  pkgconfig(libdrm)
27 %endif
28 BuildRequires:  expat-devel >= 2.0
29 #BuildRequires:  python-devel
30 BuildRequires:  bison
31 BuildRequires:  flex
32 BuildRequires:  makedepend
33 BuildRequires:  libxml2-python
34
35 #ExclusiveArch:  %ix86
36
37 %description
38 Mesa is an open-source implementation of the OpenGL specification  -
39 a system for rendering interactive 3D graphics.
40
41
42
43 #%package dri-drivers-devel
44 #Summary:    Mesa-based DRI development files
45 #Group:      Development/Libraries
46
47 #%description dri-drivers-devel
48 #Mesa-based DRI driver development files.
49
50 %ifarch %ix86
51 #%package dri-i965-driver
52 #Summary:    Mesa-based DRI drivers
53 #Group:      System/X Hardware Support
54 #Provides:   mesa-dri-drivers = %{version}-%{release}
55
56 #%description dri-i965-driver
57 #Mesa-based i965 DRI driver.
58
59 #%package dri-i915-driver
60 #Summary:    Mesa-based DRI drivers
61 #Group:      System/X Hardware Support
62 #Provides:   mesa-dri-drivers = %{version}-%{release}
63
64 #%description dri-i915-driver
65 #Mesa-based i915 DRI driver.
66 %endif
67
68 #%package dri-swrast-driver
69 #Summary:    Mesa-based DRI drivers
70 #Group:      System/X Hardware Support
71 #Provides:   mesa-dri-drivers = %{version}-%{release}
72
73 #%description dri-swrast-driver
74 #Mesa-based swrast DRI driver.
75
76 %package libGL
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}
82
83 %description libGL
84 Mesa libGL runtime library.
85
86 #%package libGLESv1
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}
92
93 #%description libGLESv1
94 #Mesa libGLESv1 runtime library.
95
96 #%package libGLESv2
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}
102
103 #%description libGLESv2
104 #Mesa libGLESv2 runtime library.
105
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
113
114 #%description libGLESv2-compat
115 #Mesa libGLESv2 runtime compatibility library.
116
117 %package libEGL
118 Summary:    Mesa libEGL runtime libraries and DRI drivers
119 Group:      System/Libraries
120 Requires(post): /sbin/ldconfig
121 Requires(postun): /sbin/ldconfig
122
123 %description libEGL
124 Mesa libEGL runtime library.
125
126 %package libGLU
127 Summary:    Mesa libGLU runtime library
128 Group:      System/Libraries
129 Requires(post): /sbin/ldconfig
130 Requires(postun): /sbin/ldconfig
131
132 %description libGLU
133 Mesa OpenGL library Utility runtime library
134
135 %package libOSMesa
136 Summary:    Mesa offscreen rendering libraries
137 Group:      System/Libraries
138 Requires(post): /sbin/ldconfig
139 Requires(postun): /sbin/ldconfig
140
141 %description libOSMesa
142 Mesa offscreen rendering interface libraries
143
144 %package libGL-devel
145 Summary:    Mesa libGL development package
146 Group:      Development/Libraries
147 Requires:   mesa-libGL = %{version}-%{release}
148 Requires:   libx11-devel
149 Provides:   libGL-devel
150
151 %description libGL-devel
152 Mesa OpenGL library development package
153
154 #%package libGLESv1-devel
155 #Summary:    Mesa libGLESv1 development package
156 #Group:      Development/Libraries
157 #Requires:   mesa-libGLESv1 = %{version}-%{release}
158 #Provides:   libGLESv1-devel
159
160 #%description libGLESv1-devel
161 #Mesa OpenGLESv1 library development package
162
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
169
170 #%description libGLESv2-devel
171 #Mesa OpenGLESv2 library development package
172
173 %package libEGL-devel
174 Summary:    Mesa libEGL development package
175 Group:      Development/Libraries
176 Requires:   mesa-libEGL = %{version}-%{release}
177
178 %description libEGL-devel
179 Mesa EGL library development package
180
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
187
188 %description libGLU-devel
189 Mesa OpenGL library Utility development package
190
191 %package libOSMesa-devel
192 Summary:    Mesa offscreen rendering development package
193 Group:      Development/Libraries
194 Requires:   mesa-libOSMesa = %{version}-%{release}
195
196 %description libOSMesa-devel
197 Mesa offscreen rendering interface library development package
198
199
200 %prep
201 %setup -q 
202
203 %build
204
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 
207
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
209
210 %define conf_flags --with-driver=xlib 
211
212 %reconfigure %{osmesa_flags} %{gles_flags}
213
214 make %{?jobs:-j%jobs}
215 mv %{_lib} osmesa
216 make clean
217 # just to be sure...
218 #[ `find . -name \*.o | wc -l` -eq 0 ] || exit 1
219
220 %reconfigure --disable-static \
221     --disable-glw \
222     --disable-glx \
223     --disable-driglx-direct \
224     --disable-shared-glapi \
225     --disable-gl-osmesa \
226     --disable-gallium \
227     --disable-gallium-llvm \
228     --disable-gallium-gbm \
229     --with-egl-driver-dir=/usr/lib \
230     --enable-gles1 \
231     --enable-gles2 \
232     --with-gallium-drivers=swrast \
233     --enable-gallium-egl \
234     --with-egl-platforms=x11 \
235     %{conf_flags}
236
237 LDFLAGS+="-lgcc_s -lgcc" make %{?jobs:-j%jobs}
238
239 %install
240 rm -rf %{buildroot}
241 %make_install
242
243
244 # and osmesa
245 mv osmesa*/libOS* $RPM_BUILD_ROOT%{_libdir}
246 # create and install osmesa.pc
247 pushd src/mesa
248 make osmesa.pc
249 cp -vf osmesa.pc $RPM_BUILD_ROOT%{_libdir}/pkgconfig/
250 popd
251
252 # strip out undesirable headers
253 pushd $RPM_BUILD_ROOT%{_includedir}/GL
254 rm [a-fh-np-wyz]*.h glf*.h
255 popd
256
257 #remove egl_glx.so, which is broken
258 pushd $RPM_BUILD_ROOT%{_libdir}
259 rm -f egl/egl_glx.so
260 popd
261
262
263 # libegl library setting
264 mkdir -p $RPM_BUILD_ROOT%{_libdir}/mesa-gl
265 %ifarch %ix86
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
272 %else
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
279 %endif
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*
285
286 %post libGL -p /sbin/ldconfig
287
288 %postun libGL -p /sbin/ldconfig
289
290 #%post libGLESv1 -p /sbin/ldconfig
291
292 #%postun libGLESv1 -p /sbin/ldconfig
293
294
295 #%post libGLESv2 -p /sbin/ldconfig
296
297 #%postun libGLESv2 -p /sbin/ldconfig
298
299
300 #%post libGLESv2-compat -p /sbin/ldconfig
301
302 #%postun libGLESv2-compat -p /sbin/ldconfig
303
304
305 %post libEGL -p /sbin/ldconfig
306
307 %postun libEGL -p /sbin/ldconfig
308
309
310 #%post libEGL-compat -p /sbin/ldconfig
311
312 #%postun libEGL-compat -p /sbin/ldconfig
313
314
315 %post libGLU -p /sbin/ldconfig
316
317 %postun libGLU -p /sbin/ldconfig
318
319
320 %post libOSMesa -p /sbin/ldconfig
321
322 %postun libOSMesa -p /sbin/ldconfig
323
324 #%ifarch %ix86
325 #%files dri-drivers-devel
326 #%defattr(-,root,root,-)
327 #%{_libdir}/pkgconfig/dri.pc
328
329 #%files dri-i965-driver
330 #%defattr(-,root,root,-)
331 #%{_libdir}/dri/i965_dri.so
332
333 #%files dri-i915-driver
334 #%defattr(-,root,root,-)
335 #%{_libdir}/dri/i915_dri.so
336
337 #%files dri-swrast-driver
338 #%defattr(-,root,root,-)
339 #%{_libdir}/dri/swrast_dri.so
340 #%endif
341
342 %files libGL
343 %defattr(-,root,root,-)
344 %{_libdir}/libGL.so.*
345
346 #%files libGLESv1
347 #%defattr(-,root,root,-)
348 #%{_libdir}/libGLESv1_CM.so.*
349
350 #%files libGLESv2
351 #%defattr(-,root,root,-)
352 #%{_libdir}/libGLESv2.so.*
353
354 #%files libGLESv2-compat
355 #%defattr(-,root,root,-)
356 #%{_libdir}/libGLESv2.so
357
358 %files libEGL
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
367
368 %files libGLU
369 %defattr(-,root,root,-)
370 %{_libdir}/libGLU.so.*
371
372 %files libOSMesa
373 %defattr(-,root,root,-)
374 %{_libdir}/libOSMesa.so.7*
375 %{_libdir}/libOSMesa.so
376
377 %files libGL-devel
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
385 %ifarch %ix86
386 #%dir %{_includedir}/GL/internal
387 #%{_includedir}/GL/internal/dri_interface.h
388 %endif
389 %{_libdir}/libGL.so
390 %{_libdir}/pkgconfig/gl.pc
391
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
400
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
408
409 %files libEGL-devel
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
433
434 %files libGLU-devel
435 %defattr(-,root,root,-)
436 %{_libdir}/libGLU.so
437 %{_libdir}/pkgconfig/glu.pc
438 %{_includedir}/GL/glu.h
439 %{_includedir}/GL/glu_mangle.h
440
441 %files libOSMesa-devel
442 %defattr(-,root,root,-)
443 %{_includedir}/GL/osmesa.h
444 %{_libdir}/libOSMesa.so
445 %{_libdir}/pkgconfig/osmesa.pc