/[packages]/cauldron/mesa/current/SPECS/mesa.spec
ViewVC logotype

Annotation of /cauldron/mesa/current/SPECS/mesa.spec

Parent Directory Parent Directory | Revision Log Revision Log


Revision 88433 - (hide annotations) (download)
Tue Apr 19 14:24:02 2011 UTC (12 years, 11 months ago) by tv
File size: 15845 byte(s)
reorder packages to reduce differences with mdv

1 rtp 18133 %define bootstrap 0
2     %{?_without_bootstrap: %global bootstrap 0}
3     %{?_with_bootstrap: %global bootstrap 1}
4    
5 pterjan 5340 # (cg) Cheater...
6     %define Werror_cflags %nil
7    
8     # (aco) Needed for the dri drivers
9     %define _disable_ld_no_undefined 1
10    
11 tv 88231 # freeglut should replace mesaglut soon
12     %define with_mesaglut 1
13    
14 pterjan 5340 %define git 0
15     %define relc 0
16     %define name mesa
17 tv 83583 %define version 7.10.2
18 tv 88346 %define rel 3
19 pterjan 5340
20     %define release %mkrel %{rel}
21     %define src_type tar.bz2
22     %define vsuffix %{expand:}
23    
24     %if %{relc}
25     %define release %mkrel 0.rc%{relc}.%{rel}
26     %define vsuffix -rc%{relc}
27     %define src_type tar.bz2
28     %endif
29    
30     %if %{git}
31     %if %{relc}
32     %define release %mkrel 0.rc%{relc}.2.git%{git}.%{rel}
33     %else
34     %define release %mkrel 0.git%{git}.%{rel}
35     %endif
36     %endif
37    
38     %define makedepend %{_bindir}/gccmakedep
39    
40     %define eglname mesaegl
41     %define glname mesagl
42     %define gluname mesaglu
43     %define glutname mesaglut
44     %define glwname mesaglw
45     %define eglmajor 1
46     %define glmajor 1
47     %define glumajor 1
48     %define glutmajor 3
49     %define glwmajor 1
50     %define libeglname %mklibname %{eglname} %{eglmajor}
51     %define libglname %mklibname %{glname} %{glmajor}
52     %define libgluname %mklibname %{gluname} %{glumajor}
53     %define libglutname %mklibname %{glutname} %{glutmajor}
54     %define libglwname %mklibname %{glwname} %{glwmajor}
55    
56     %define dridrivers %mklibname dri-drivers
57    
58     # Architecture-independent Virtual provides:
59     %define libeglname_virt lib%{eglname}
60     %define libglname_virt lib%{glname}
61     %define libgluname_virt lib%{gluname}
62     %define libglutname_virt lib%{glutname}
63     %define libglwname_virt lib%{glwname}
64    
65     %define oldlibglname %mklibname MesaGL 1
66     %define oldlibgluname %mklibname MesaGLU 1
67     %define oldlibglutname %mklibname Mesaglut 3
68    
69     %define mesasrcdir %{_prefix}/src/Mesa/
70     %define driver_dir %{_libdir}/dri
71    
72     %define enable_egl 0
73    
74     #FIXME: (for 386/485) unset SSE, MMX and 3dnow flags
75     #FIXME: (for >=i586) disable sse
76     # SSE seems to have problem on some apps (gtulpas) for probing.
77     %define dri_drivers_i386 "i810,i915,i965,mga,mach64,nouveau,r128,r200,r300,r600,radeon,savage,sis,unichrome,tdfx,swrast"
78     %define dri_drivers_x86_64 %{dri_drivers_i386}
79     %define dri_drivers_ppc "mach64,r128,r200,r300,radeon,tdfx,swrast"
80     %define dri_drivers_ppc64 ""
81     %define dri_drivers_ia64 "i810,i915,i965,mga,r128,r200,radeon,swrast"
82     %define dri_drivers_alpha "mga,r128,r200,radeon,swrast"
83     %define dri_drivers_sparc "ffb,mach64,mga,radeon,savage,swrast"
84 rtp 18133 %define dri_drivers_mipsel "mach64,mga,r128,r200,radeon,savage,tdfx,swrast"
85     %define dri_drivers_arm "swrast"
86 pterjan 5340 %define dri_drivers %{expand:%{dri_drivers_%{_arch}}}
87    
88     Name: %{name}
89     Version: %{version}
90     Release: %{release}
91     Summary: OpenGL 2.1 compatible 3D graphics library
92     Group: System/Libraries
93    
94     BuildRequires: libxfixes-devel >= 4.0.3
95     BuildRequires: libxt-devel >= 1.0.5
96     BuildRequires: libxmu-devel >= 1.0.3
97     BuildRequires: libx11-devel >= 1.3.3
98     BuildRequires: libxdamage-devel >= 1.1.1
99     BuildRequires: libexpat-devel >= 2.0.1
100     BuildRequires: gccmakedep
101     BuildRequires: x11-proto-devel >= 7.3
102     BuildRequires: libdrm-devel >= 2.4.21
103    
104     BuildRequires: libxext-devel >= 1.1.1
105     BuildRequires: libxxf86vm-devel >= 1.1.0
106     BuildRequires: libxi-devel >= 1.3
107     BuildRequires: talloc-devel libxml2-python
108 tmb 35532 BuildRequires: makedepend
109 pterjan 5340
110 rtp 18133 %if !%bootstrap
111 pterjan 5340 BuildRequires: libglew-devel
112 rtp 18133 %endif
113 pterjan 5340 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot
114     URL: http://www.mesa3d.org
115     %if %{git}
116     # (cg) Current commit ref: origin/mesa_7_5_branch
117     Source0: %{name}-%{git}.tar.bz2
118     %else
119     Source0: ftp://ftp.freedesktop.org/pub/mesa/%version/MesaLib-%{version}%{vsuffix}.%{src_type}
120     Source2: ftp://ftp.freedesktop.org/pub/mesa/%version/MesaGLUT-%{version}%{vsuffix}.%{src_type}
121     %endif
122     Source3: make-git-snapshot.sh
123     Source5: mesa-driver-install
124    
125    
126     # Instructions to setup your repository clone
127     # git://git.freedesktop.org/git/mesa/mesa
128     # git checkout mesa_7_5_branch
129     # git branch mdv-cherry-picks
130     # git am ../02??-*.patch
131     # git branch mdv-redhat
132     # git am ../03??-*.patch
133     # git branch mdv-patches
134     # git am ../09??-*.patch
135    
136     # In order to update to the branch via patches, issue this command:
137     # git format-patch --start-number 100 mesa_7_5_1..mesa_7_5_branch | sed 's/^0\([0-9]\+\)-/Patch\1: 0\1-/'
138    
139     # Cherry picks
140     # git format-patch --start-number 200 mesa_7_5_branch..mdv-cherry-picks
141     Patch201: 0201-revert-fix-glxinitializevisualconfigfromtags-handling.patch
142 blino 78230 Patch202: 0202-fix-includes-for-latest-libdrm.patch
143 pterjan 5340
144 tv 88247 # Patches "liberated" from Fedora:
145 pterjan 5340 # http://cvs.fedoraproject.org/viewvc/rpms/mesa/devel/
146     # git format-patch --start-number 300 mdv-cherry-picks..mdv-redhat
147     Patch300: 0300-RH-mesa-7.1-nukeglthread-debug-v1.1.patch
148     Patch301: 0301-RH-mesa-7.1-link-shared-v1.7.patch
149    
150     # Mandriva patches
151     # git format-patch --start-number 900 mdv-redhat..mdv-patches
152     Patch902: 0902-remove-unfinished-GLX_ARB_render_texture.patch
153     Patch903: 0903-Fix-NULL-pointer-dereference-in-viaXMesaWindowMoved.patch
154     Patch904: Mesa-7.9-salome.patch
155    
156 tmb 86949 # (tmb) speeds up OpenGL on SandyBridge
157     Patch1000: i965-bump-CS-thread-number-on-SNB.patch
158    
159 pterjan 5340 Patch2004: mesa_652_mips.patch
160    
161     License: MIT
162     Requires: %{libglname} = %{version}-%{release}
163     Provides: hackMesa = %{version}
164     Obsoletes: hackMesa <= %{version}
165     Provides: Mesa = %{version}
166     Obsoletes: Mesa < %{version}
167    
168     %package -n %{libglname}
169     Summary: Files for Mesa (GL and GLX libs)
170     Group: System/Libraries
171 tv 88247 Obsoletes: %{oldlibglname} < 6.4
172 pterjan 5340 Provides: %{oldlibglname} = %{version}-%{release}
173     Provides: %{libglname_virt} = %{version}-%{release}
174     Requires: %{dridrivers} >= %{version}-%{release}
175    
176     # (anssi) Forces the upgrade of x11-server-common to happen before
177     # alternatives removal, which allows x11-server-common to grab the symlink.
178     Conflicts: x11-server-common < 1.3.0.0-17
179    
180     %package -n %{dridrivers}
181     Summary: Mesa DRI drivers
182     Group: System/Libraries
183     Conflicts: %{_lib}MesaGL1 < 7.7-5
184    
185     %package -n %{dridrivers}-experimental
186     Summary: Mesa DRI - unstable experimental drivers
187     Group: System/Libraries
188     # for dri driver directory
189     Requires: %{dridrivers}
190    
191     %package -n %{libglname}-devel
192     Summary: Development files for Mesa (OpenGL compatible 3D lib)
193     Group: Development/C
194 tv 88237 Requires: %{libglname} = %{version}-%{release}
195 pterjan 5340 Provides: lib%{glname}-devel = %{version}-%{release}
196     Provides: %{glname}-devel = %{version}-%{release}
197     Provides: GL-devel
198     Obsoletes: %{oldlibglname}-devel < 6.4
199     Provides: %{oldlibglname}-devel = %{version}-%{release}
200     Provides: libMesaGL-devel = %{version}-%{release}
201     Provides: MesaGL-devel = %{version}-%{release}
202    
203     %package -n %{libgluname}
204     Summary: Files for Mesa (GLU libs)
205     Group: System/Libraries
206     Obsoletes: %{oldlibgluname} < 6.4
207     Provides: %{oldlibgluname} = %{version}-%{release}
208     Provides: %{libgluname_virt} = %{version}-%{release}
209    
210     %package -n %{libgluname}-devel
211     Summary: Development files for GLU libs
212     Group: Development/C
213     Requires: %{libgluname} = %{version}-%{release}
214     Provides: lib%{gluname}-devel = %{version}-%{release}
215     Provides: %{gluname}-devel = %{version}-%{release}
216     Obsoletes: %{oldlibgluname}-devel < 6.4
217     Provides: %{oldlibgluname}-devel = %{version}-%{release}
218     Provides: libMesaGLU-devel = %{version}-%{release}
219 tv 88247 Provides: MesaGLU-devel = %{version}-%{release}
220 pterjan 5340
221 tv 88231 %if %{with_mesaglut}
222 pterjan 5340 %package -n %{libglutname}
223     Summary: Files for Mesa (glut libs)
224     Group: System/Libraries
225     Requires: %{libgluname} = %{version}-%{release}
226     Provides: Mesa-common = %{version}-%{release} hackMesa-common = %{version}
227     Obsoletes: Mesa-common <= %{version} hackMesa-common <= %{version}
228     Obsoletes: %{oldlibglutname} < 6.4
229     Provides: %{oldlibglutname} = %{version}-%{release}
230     Provides: %{libglutname_virt} = %{version}-%{release}
231    
232     %package -n %{libglutname}-devel
233     Summary: Development files for glut libs
234     Group: Development/C
235     Requires: %{libglutname} = %{version}-%{release} %{libgluname}-devel = %{version}-%{release}
236 tv 88238 # (gc) /usr/lib/pkgconfig/glut.pc depends on /usr/lib/pkgconfig/{x11,xmu,xi}.pc (Requires.private) and pkg-config --list-all
237     # goes wild without these deps
238     Requires: libx11-devel libxmu-devel libxi-devel
239 tv 88247 Provides: lib%{glutname}-devel = %{version}-%{release}
240     Provides: %{glutname}-devel = %{version}-%{release}
241 pterjan 5340 Obsoletes: %{oldlibglutname}-devel < 6.4
242     Provides: %{oldlibglutname}-devel = %{version}-%{release}
243     Provides: libMesaGLUT-devel = %{version}-%{release}
244     Provides: MesaGLUT-devel = %{version}-%{release}
245 tv 88231 %endif
246 pterjan 5340
247     %package -n %{libglwname}
248     Summary: Files for Mesa (glw libs)
249     Group: System/Libraries
250     Provides: Mesa-common = %{version}-%{release} hackMesa-common = %{version}
251     Obsoletes: Mesa-common <= %{version} hackMesa-common <= %{version}
252     Provides: %{libglwname_virt} = %{version}-%{release}
253    
254     %package -n %{libglwname}-devel
255     Summary: Development files for glw libs
256     Group: Development/C
257     Requires: %{libglwname} = %{version}-%{release}
258 tv 88247 Provides: lib%{glwname}-devel = %{version}-%{release}
259     Provides: %{glwname}-devel = %{version}-%{release}
260 pterjan 5340
261 tv 88433 %if %{enable_egl}
262     %package -n %{libeglname}
263     Summary: Files for Mesa (EGL libs)
264     Group: System/Libraries
265     Provides: %{libeglname_virt} = %{version}-%{release}
266    
267     %package -n %{libeglname}-devel
268     Summary: Development files for Mesa (EGL libs)
269     Group: Development/C
270     Requires: %{name} = %{version}
271     Provides: EGL-devel
272     %endif
273    
274 pterjan 5340 %package common-devel
275     Summary: Meta package for mesa devel
276     Group: Development/C
277 tv 88247 Provides: Mesa-common-devel = %{version}-%{release}
278 pterjan 5340 Provides: hackMesa-common-devel = %{version}
279 tv 88247 Obsoletes: Mesa-common-devel < %{version}
280 pterjan 5340 Obsoletes: hackMesa-common-devel < %{version}
281     Requires: %{libglname}-devel = %{version}
282     Requires: %{libglwname}-devel = %{version}
283     Requires: %{libgluname}-devel = %{version}
284 tv 88231 %if %{with_mesaglut}
285 pterjan 5340 Requires: %{libglutname}-devel = %{version}
286 tv 88231 %else
287     Requires: libglut-devel
288     %endif
289 pterjan 5340
290    
291     %description
292     Mesa is an OpenGL 2.1 compatible 3D graphics library.
293    
294     %description common-devel
295     Mesa common metapackage devel
296    
297     %if %{enable_egl}
298     %description -n %{libeglname}
299     Mesa is an OpenGL 2.1 compatible 3D graphics library.
300     EGL parts.
301    
302     %description -n %{libeglname}-devel
303     Mesa is an OpenGL 2.1 compatible 3D graphics library.
304     EGL development parts.
305     %endif
306    
307     %description -n %{libglname}
308     Mesa is an OpenGL 2.1 compatible 3D graphics library.
309     GL and GLX parts.
310    
311     %description -n %{dridrivers}
312     Mesa is an OpenGL 2.1 compatible 3D graphics library.
313     DRI drivers.
314    
315     %description -n %{dridrivers}-experimental
316     Mesa is an OpenGL 2.1 compatible 3D graphics library.
317     Experimental unstable DRI drivers.
318    
319     This package contains experimental DRI drivers for NVIDIA cards, for
320     OpenGL acceleration with nouveau driver. These drivers are not stable
321     and may crash your system. Please do not report bugs encountered with
322     these drivers.
323    
324     %description -n %{libglname}-devel
325     Mesa is an OpenGL 2.1 compatible 3D graphics library.
326    
327     This package contains the headers needed to compile Mesa programs.
328    
329     %description -n %{libgluname}
330     GLU is the OpenGL Utility Library.
331     It provides a number of functions upon the base OpenGL library to provide
332     higher-level drawing routines from the more primitive routines provided by
333     OpenGL.
334    
335     %description -n %{libgluname}-devel
336     This package contains the headers needed to compile programs with GLU.
337    
338 tv 88231 %if %{with_mesaglut}
339 pterjan 5340 %description -n %{libglutname}
340     GLUT (OpenGL Utility Toolkit) is a addon library for OpenGL programs. It
341     provides them utilities to define and control windows, input from the keyboard
342     and the mouse, drawing some geometric primitives (cubes, spheres, ...).
343     GLUT can even create pop-up windows.
344    
345     %description -n %{libglutname}-devel
346     Mesa is an OpenGL 2.1 compatible 3D graphics library.
347     glut parts.
348    
349     This package contains the headers needed to compile Mesa programs.
350 tv 88432 %endif
351 pterjan 5340
352     %description -n %{libglwname}
353     GLw adds Motif bindings to the OpenGL "canvas" (Xt/Motif/OpenGL widget code).
354    
355     %description -n %{libglwname}-devel
356     Mesa is an OpenGL 2.1 compatible 3D graphics library.
357     GLw parts.
358    
359     This package contains the headers needed to compile Mesa programs.
360    
361     %prep
362     %if %{git}
363     %setup -q -n mesa-%{git}
364     %else
365     %setup -q -n Mesa-%{version}%{vsuffix} -b2
366     %endif
367    
368     %patch201 -p1
369 blino 78230 %patch202 -p1
370 pterjan 5340
371     %patch300 -p1
372     ## (Anssi 03/2010) FIXME: Currently results in either missing NEEDED tag or
373     ## NEEDED tag with '../../../../../lib/libdricore.so', while NEEDED tag of libdricore.so
374     ## is wanted.
375     #%patch301 -p1
376    
377     %patch902 -p1
378     %patch903 -p1
379     %patch904 -p1
380    
381 tmb 86949 %patch1000 -p1
382    
383 pterjan 5340 %patch2004 -p1
384    
385     chmod +x %{SOURCE5}
386    
387     # for dri-drivers-experimental
388     cat > README.install.urpmi <<EOF
389     This package contains experimental DRI drivers for NVIDIA cards, for
390     OpenGL acceleration with nouveau driver. These drivers are not stable
391     and may crash your system. Please do not report bugs encountered with
392     these drivers.
393     EOF
394    
395     %build
396     #%if %{git}
397     #./autogen.sh -v
398     #%endif
399    
400     # Required by patch200:
401     autoreconf -vfi
402     %configure2_5x --with-driver=dri \
403     --with-dri-driverdir=%{driver_dir} \
404     --with-dri-drivers="%{dri_drivers}" \
405     --with-state-trackers=dri \
406     --enable-gallium-nouveau \
407     %if %{enable_egl}
408     --enable-egl \
409     %else
410     --disable-egl \
411     %endif
412 tv 88231 %if %{with_mesaglut}
413     --enable-glut
414     %else
415     --disable-glut
416     %endif
417 pterjan 5340
418     # (cg) Parallel build breaks the dricore shared stuff.
419     make -j 1
420    
421     %install
422     rm -rf %{buildroot}
423 tv 88249 %makeinstall_std
424 pterjan 5340
425     # (blino) hardlink libGL files in %{_libdir}/mesa
426     # to prevent proprietary driver installers from removing them
427     mkdir -p $RPM_BUILD_ROOT%{_libdir}/mesa
428     pushd $RPM_BUILD_ROOT%{_libdir}/mesa
429     for l in ../libGL.so.*; do cp -a $l .; done
430     popd
431    
432     %ifarch %{x86_64}
433     mkdir -p $RPM_BUILD_ROOT%{_prefix}/lib/dri
434     %endif
435    
436 tv 88231 %if !%{with_mesaglut}
437     rm -f %{buildroot}/%{_includedir}/GL/glut.h
438     rm -f %{buildroot}/%{_includedir}/GL/glutf90.h
439     %endif
440    
441 pterjan 5340 %clean
442     rm -fr $RPM_BUILD_ROOT
443    
444     %files
445     %defattr(-,root,root)
446     %doc docs/COPYING docs/README.*
447    
448     %files -n %{dridrivers}
449     %defattr(-,root,root)
450     %doc docs/COPYING
451     %ifnarch ppc64
452     %dir %{_libdir}/dri
453     #%{_libdir}/dri/libdricore.so
454     %{_libdir}/dri/*_dri.so
455     %exclude %{_libdir}/dri/nouveau_dri.so
456 rtp 18133 %ifnarch %arm %mips
457 pterjan 5340 %exclude %{_libdir}/dri/nouveau_vieux_dri.so
458     %endif
459 rtp 18133 %endif
460 pterjan 5340
461     %files -n %{dridrivers}-experimental
462     %defattr(-,root,root)
463     %doc docs/COPYING
464     %doc README.install.urpmi
465     %{_libdir}/dri/nouveau_dri.so
466 rtp 18133 %ifnarch %arm %mips
467 pterjan 5340 %{_libdir}/dri/nouveau_vieux_dri.so
468 rtp 18133 %endif
469 pterjan 5340
470 tv 88433 %files -n %{libglname}
471     %defattr(-,root,root)
472     %doc docs/COPYING
473     %{_libdir}/libGL.so.*
474     %dir %{_libdir}/mesa
475     %{_libdir}/mesa/libGL.so.*
476    
477     %files -n %{libgluname
478     %defattr(-,root,root)
479     %doc docs/COPYING
480     %{_libdir}/libGLU.so.*
481    
482     %if %{with_mesaglut}
483     %files -n %{libglutname}
484     %defattr(-,root,root)
485     %doc docs/COPYING
486     %{_libdir}/libglut.so.*
487     %endif
488    
489     %files -n %{libglwname}
490     %defattr(-,root,root)
491     %doc docs/COPYING
492     %{_libdir}/libGLw.so.*
493    
494     %if %{enable_egl}
495     %files -n %{libeglname}
496     %defattr(-,root,root)
497     %{_libdir}/libEGL.so.1*
498     %{_libdir}/libegldri.so.1*
499    
500 pterjan 5340 %files -n %{libglname}-devel
501     %defattr(-,root,root)
502     %doc docs/COPYING
503     %{_includedir}/GL/gl.h
504     %{_includedir}/GL/glext.h
505     %{_includedir}/GL/gl_mangle.h
506     %{_includedir}/GL/osmesa.h
507     %{_includedir}/GL/wglext.h
508     %{_includedir}/GL/glx.h
509     %{_includedir}/GL/glxext.h
510     %{_includedir}/GL/glx_mangle.h
511     %{_libdir}/libGL.so
512     %_libdir/pkgconfig/*.pc
513    
514     #FIXME: check those headers
515     %{_includedir}/GL/glfbdev.h
516     %{_includedir}/GL/vms_x_fix.h
517     %{_includedir}/GL/wmesa.h
518     %dir %{_includedir}/GL/internal
519     %{_includedir}/GL/internal/dri_interface.h
520    
521     %files -n %{libgluname}-devel
522     %defattr(-,root,root)
523     %doc docs/COPYING
524     %{_includedir}/GL/glu.h
525     %{_includedir}/GL/glu_mangle.h
526     %{_includedir}/GL/mesa_wgl.h
527     %{_libdir}/libGLU.so
528    
529 tv 88231 %if %{with_mesaglut}
530 pterjan 5340 %files -n %{libglutname}-devel
531     %defattr(-,root,root)
532     %doc docs/COPYING
533     %{_includedir}/GL/glut.h
534     %{_includedir}/GL/glutf90.h
535     %{_libdir}/libglut.so
536 tv 88231 %endif
537 pterjan 5340
538     %files common-devel
539     %defattr(-,root,root)
540    
541     %files -n %{libglwname}-devel
542     %defattr(-,root,root)
543     %doc docs/COPYING
544     %{_includedir}/GL/GLwDrawA.h
545     %{_includedir}/GL/GLwDrawAP.h
546     %{_includedir}/GL/GLwMDrawA.h
547     %{_includedir}/GL/GLwMDrawAP.h
548     %{_libdir}/libGLw.so
549    
550 tv 88433 %files -n %{libeglname}-devel
551     %defattr(-,root,root)
552     %{_libdir}/libEGL.so
553     %{_libdir}/libegldri.so
554     %{_includedir}/gles/egl*.h
555     %endif
556 pterjan 5340
557    
558 tv 88433

  ViewVC Help
Powered by ViewVC 1.1.30