4 # --enable-shared-dricore
5 # - subpackage with non-dri libGL for use with X-servers with missing GLX extension?
6 # - resurrect static if it's useful
9 %bcond_without egl # EGL libraries
10 %bcond_without gallium # gallium drivers
11 %bcond_with gallium_intel # gallium i915 driver (but doesn't work with AIGLX)
12 %bcond_without gallium_nouveau # gallium nouveau driver
13 %bcond_without osmesa # OSMesa libraries
14 %bcond_without gbm # with Graphics Buffer Manager
15 %bcond_with static_libs # static libraries
17 # minimal supported xserver version
18 %define xserver_ver 1.5.0
19 # glapi version (glapi tables in dri drivers and libglx must be in sync);
20 # set to current Mesa version on ABI break, when xserver tables get regenerated
21 # (until they start to be somehow versioned themselves)
22 %define glapi_ver 7.1.0
24 %define libdrm_ver 2.4.30
25 %define dri2proto_ver 2.6
26 %define glproto_ver 1.4.11
28 Summary: Free OpenGL implementation
29 Summary(pl.UTF-8): Wolnodostępna implementacja standardu OpenGL
33 License: MIT (core), SGI (GLU) and others - see license.html file
35 Source0: ftp://ftp.freedesktop.org/pub/mesa/%{version}/%{name}Lib-%{version}.tar.bz2
36 # Source0-md5: 24eeebf66971809d8f40775a379b36c9
37 Patch0: %{name}-realclean.patch
38 URL: http://www.mesa3d.org/
39 BuildRequires: autoconf >= 2.59
40 BuildRequires: automake
41 BuildRequires: expat-devel
42 BuildRequires: gcc >= 5:3.3
43 BuildRequires: libdrm-devel >= %{libdrm_ver}
44 BuildRequires: libselinux-devel
45 BuildRequires: libstdc++-devel >= 5:3.3.0
46 BuildRequires: libtalloc-devel >= 2:2.0.1
47 BuildRequires: libtool >= 2:1.4d
48 BuildRequires: libvdpau-devel
49 BuildRequires: llvm-devel >= 2.9
50 BuildRequires: pixman-devel
51 BuildRequires: pkgconfig
52 BuildRequires: pkgconfig(talloc) >= 2.0.1
54 BuildRequires: python-libxml2
55 BuildRequires: python-modules
56 BuildRequires: rpmbuild(macros) >= 1.470
57 BuildRequires: sed >= 4.0
58 BuildRequires: xorg-lib-libXdamage-devel
59 BuildRequires: xorg-lib-libXext-devel >= 1.0.5
60 BuildRequires: xorg-lib-libXt-devel
61 BuildRequires: xorg-lib-libXvMC-devel
62 BuildRequires: xorg-lib-libXxf86vm-devel
63 BuildRequires: xorg-proto-dri2proto-devel >= %{dri2proto_ver}
64 BuildRequires: xorg-proto-glproto-devel >= %{glproto_ver}
65 BuildRequires: xorg-util-makedepend
66 BuildRequires: xorg-xserver-server-devel
68 BuildRequires: libxcb-devel
69 BuildRequires: udev-devel >= 150
72 BuildRequires: xorg-proto-xextproto-devel >= 7.0.99.1
73 BuildRequires: xorg-xserver-server-devel >= 1.6.0
75 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
77 %if %{without gallium}
78 %undefine with_gallium_intel
85 # _glapi_tls_Dispatch is defined in libglapi, but it's some kind of symbol ldd -r doesn't notice(?)
86 %define skip_post_check_so libGLESv1_CM.so.1.* libGLESv2.so.2.* libGL.so.1.* libXvMCnouveau.so.1.* libXvMCr300.so.1.* libXvMCr600.so.1.* libXvMCsoftpipe.so.1.* libvdpau_nouveau.so.1.*
89 Mesa is a 3-D graphics library with an API which is very similar to
90 that of OpenGL(R). To the extent that Mesa utilizes the OpenGL command
91 syntax or state machine, it is being used with authorization from
92 Silicon Graphics, Inc. However, the author does not possess an OpenGL
93 license from SGI, and makes no claim that Mesa is in any way a
94 compatible replacement for OpenGL or associated with SGI.
96 %description -l pl.UTF-8
97 Mesa jest biblioteką grafiki 3D z API bardzo podobnym do OpenGL(R). Do
98 tego stopnia, że Mesa używa składni i automatu OpenGL jest używana z
99 autoryzacją Silicon Graphics, Inc. Jednak autor nie posiada licencji
100 OpenGL od SGI i nie twierdzi, że Mesa jest kompatybilnym zamiennikiem
101 OpenGL ani powiązana z SGI.
104 Summary: Mesa implementation of EGL Native Platform Graphics Interface library
105 Summary(pl.UTF-8): Implementacja Mesa biblioteki interfejsu EGL
108 # glx driver in libEGL dlopens libGL.so
109 Requires: OpenGL >= 1.2
110 Requires: libdrm >= %{libdrm_ver}
113 Requires: Mesa-libOpenVG = %{version}-%{release}
114 Requires: udev-libs >= 150
119 This package contains shared libEGL - Mesa implementation of EGL
120 Native Platform Graphics Interface as specified by Khronos Group:
121 <http://www.khronos.org/egl/>.
123 %description libEGL -l pl.UTF-8
124 Ten pakiet zawiera bibliotekę współdzieloną libEGL - implementację
125 Mesa standardu EGL Native Platform Graphics Interface (interfejsu
126 graficznego platformy natywnej) wg specyfikacji Khronos Group:
127 <http://www.khronos.org/egl/>.
129 %package libEGL-devel
130 Summary: Header files for Mesa implementation of EGL library
131 Summary(pl.UTF-8): Pliki nagłówkowe implementacji Mesa biblioteki EGL
133 Group: Development/Libraries
134 Requires: %{name}-libEGL = %{version}-%{release}
135 Requires: libdrm-devel >= %{libdrm_ver}
136 Requires: xorg-lib-libX11-devel
137 Requires: xorg-lib-libXdamage-devel
138 Requires: xorg-lib-libXext-devel
139 Requires: xorg-lib-libXfixes-devel
140 Requires: xorg-lib-libXxf86vm-devel
141 Requires: xorg-proto-dri2proto-devel >= %{dri2proto_ver}
142 Requires: xorg-proto-glproto-devel >= %{glproto_ver}
143 Provides: EGL-devel = 1.4
145 %description libEGL-devel
146 Header files for Mesa implementation of EGL library.
148 %description libEGL-devel -l pl.UTF-8
149 Pliki nagłówkowe implementacji Mesa biblioteki EGL.
151 %package libEGL-static
152 Summary: Static Mesa EGL library
153 Summary(pl.UTF-8): Statyczna biblioteka Mesa EGL
155 Group: Development/Libraries
156 Requires: %{name}-libEGL-devel = %{version}-%{release}
157 Provides: EGL-static = 1.4
159 %description libEGL-static
160 Static Mesa EGL library.
162 %description libEGL-static -l pl.UTF-8
163 Statyczna biblioteka Mesa EGL.
166 Summary: Free Mesa3D implementation of libGL OpenGL library
167 Summary(pl.UTF-8): Wolnodostępna implementacja Mesa3D biblioteki libGL ze standardu OpenGL
170 Requires: libdrm >= %{libdrm_ver}
171 Provides: OpenGL = 2.1
172 Provides: OpenGL-GLX = 1.4
175 Obsoletes: X11-OpenGL-libGL < 1:7.0.0
176 Obsoletes: XFree86-OpenGL-libGL < 1:7.0.0
179 Mesa is a 3-D graphics library with an API which is very similar to
180 that of OpenGL(R). To the extent that Mesa utilizes the OpenGL command
181 syntax or state machine, it is being used with authorization from
182 Silicon Graphics, Inc. However, the author does not possess an OpenGL
183 license from SGI, and makes no claim that Mesa is in any way a
184 compatible replacement for OpenGL or associated with SGI.
186 This package contains libGL which implements OpenGL 1.5 and GLX 1.4
187 specifications. It uses DRI for rendering.
189 %description libGL -l pl.UTF-8
190 Mesa jest biblioteką grafiki 3D z API bardzo podobnym do OpenGL(R). Do
191 tego stopnia, że Mesa używa składni i automatu OpenGL jest używana z
192 autoryzacją Silicon Graphics, Inc. Jednak autor nie posiada licencji
193 OpenGL od SGI i nie twierdzi, że Mesa jest kompatybilnym zamiennikiem
194 OpenGL ani powiązana z SGI.
196 Ten pakiet zawiera libGL implementującą specyfikacje OpenGL 1.5 oraz
197 GLX 1.4. Używa DRI do renderowania.
200 Summary: Header files for Mesa3D libGL library
201 Summary(pl.UTF-8): Pliki nagłówkowe biblioteki libGL z projektu Mesa3D
203 Group: X11/Development/Libraries
204 # loose dependency on libGL to use with other libGL binaries
205 Requires: OpenGL >= 1.5
206 Requires: libdrm-devel >= %{libdrm_ver}
207 Requires: xorg-lib-libX11-devel
208 Requires: xorg-lib-libXdamage-devel
209 Requires: xorg-lib-libXext-devel
210 Requires: xorg-lib-libXxf86vm-devel
211 Requires: xorg-proto-dri2proto-devel >= %{dri2proto_ver}
212 Requires: xorg-proto-glproto-devel >= %{glproto_ver}
213 Suggests: OpenGL-doc-man
214 Provides: OpenGL-GLX-devel = 1.4
215 Provides: OpenGL-devel = 2.1
216 Obsoletes: Mesa-devel
217 Obsoletes: X11-OpenGL-devel < 1:7.0.0
218 Obsoletes: X11-OpenGL-devel-base < 1:7.0.0
219 Obsoletes: XFree86-OpenGL-devel < 1:7.0.0
220 Obsoletes: XFree86-OpenGL-devel-base < 1:7.0.0
222 %description libGL-devel
223 Header files for Mesa3D libGL library.
225 %description libGL-devel -l pl.UTF-8
226 Pliki nagłówkowe biblioteki libGL z projektu Mesa3D.
228 %package libGL-static
229 Summary: Static Mesa3D libGL library
230 Summary(pl.UTF-8): Statyczna biblioteka libGL z projektu Mesa3D
232 Group: X11/Development/Libraries
233 Requires: %{name}-libGL-devel = %{version}-%{release}
234 Provides: OpenGL-static = 2.1
235 Obsoletes: Mesa-static
236 Obsoletes: X11-OpenGL-static < 1:7.0.0
237 Obsoletes: XFree86-OpenGL-static < 1:7.0.0
239 %description libGL-static
240 Static Mesa3D libGL library. It uses software renderer.
242 %description libGL-static -l pl.UTF-8
243 Statyczna biblioteka libGL z projektu Mesa3D. Używa programowego
247 Summary: Mesa implementation of GLES (OpenGL ES) libraries
248 Summary(pl.UTF-8): Implementacja Mesa bibliotek GLES (OpenGL ES)
250 # only for libglapi.so.0
251 Requires: %{name}-libEGL = %{version}-%{release}
254 This package contains shared libraries of Mesa implementation of GLES
255 (OpenGL ES) - cross-platform API for full-function 2D and 3D graphics
256 on embedded systems. OpenGL ES specification can be found on Khronos
257 Group site: <http://www.khronos.org/opengles/>. Mesa implements OpenGL
260 %description libGLES -l pl.UTF-8
261 Ten pakiet zawiera biblioteki współdzielone implementacji Mesa
262 standardu GLES (OpenGL ES) - wieloplatformowego API do w pełni
263 funkcjonalnej grafiki 2D i 3D na systemach wbudowanych. Specyfikację
264 OpenGL ES można znaleźć na stronie Khronos Group:
265 <http://www.khronos.org/opengles/>. Mesa zawiera implementacją OpenGL
268 %package libGLES-devel
269 Summary: Header files for Mesa GLES libraries
270 Summary(pl.UTF-8): Pliki nagłówkowe bibliotek Mesa GLES
271 Group: Development/Libraries
272 # EGL for libglapi.so, <KHR/khrplatform.h> always required, <EGL/egl.h> for <GLES/egl.h>
273 Requires: %{name}-libEGL-devel = %{version}-%{release}
274 Requires: %{name}-libGLES = %{version}-%{release}
276 %description libGLES-devel
277 Header files for Mesa GLES libraries.
279 %description libGLES-devel -l pl.UTF-8
280 Pliki nagłówkowe bibliotek Mesa GLES.
283 Summary: SGI implementation of libGLU OpenGL library
284 Summary(pl.UTF-8): Implementacja SGI biblioteki libGLU ze standardu OpenGL
285 License: SGI Free Software License B v2.0 (MIT-like)
287 # loose dependency on libGL.so.1 to use with other libGL binaries
288 Requires: OpenGL >= 1.2
289 Provides: OpenGL-GLU = 1.3
290 Obsoletes: Mesa-devel
291 Obsoletes: X11-OpenGL-libs < 1:7.0.0
292 Obsoletes: XFree86-OpenGL-libs < 1:7.0.0
295 SGI implementation of libGLU OpenGL library. It implements OpenGL GLU
298 %description libGLU -l pl.UTF-8
299 Implementacja SGI biblioteki libGLU ze standardu OpenGL. Implementuje
300 specyfikację OpenGL GLU 1.3.
302 %package libGLU-devel
303 Summary: Header files for SGI libGLU library
304 Summary(pl.UTF-8): Pliki nagłówkowe biblioteki SGI libGLU
305 License: SGI Free Software License B v2.0 (MIT-like)
306 Group: Development/Libraries
307 Requires: %{name}-libGLU = %{version}-%{release}
308 Requires: OpenGL-devel >= 1.2
309 Requires: libstdc++-devel
310 Provides: OpenGL-GLU-devel = 1.3
312 %description libGLU-devel
313 Header files for SGI libGLU library.
315 %description libGLU-devel -l pl.UTF-8
316 Pliki nagłówkowe biblioteki SGI libGLU.
318 %package libGLU-static
319 Summary: Static SGI libGLU library
320 Summary(pl.UTF-8): Statyczna biblioteka SGI libGLU
321 License: SGI Free Software License B v2.0 (MIT-like)
322 Group: Development/Libraries
323 Requires: %{name}-libGLU-devel = %{version}-%{release}
324 Provides: OpenGL-GLU-static = 1.3
326 %description libGLU-static
327 Static SGI libGLU library.
329 %description libGLU-static -l pl.UTF-8
330 Statyczna biblioteka SGI libGLU.
333 Summary: OSMesa (off-screen renderer) library
334 Summary(pl.UTF-8): Biblioteka OSMesa (renderująca bitmapy w pamięci)
337 # doesn't require base
339 %description libOSMesa
340 OSMesa (off-screen renderer) library.
342 %description libOSMesa -l pl.UTF-8
343 Biblioteka OSMesa (renderująca bitmapy w pamięci).
345 %package libOSMesa-devel
346 Summary: Header file for OSMesa (off-screen renderer) library
347 Summary(pl.UTF-8): Plik nagłówkowy biblioteki OSMesa (renderującej bitmapy w pamięci)
349 Group: Development/Libraries
350 Requires: %{name}-libOSMesa = %{version}-%{release}
352 Requires: OpenGL-devel
353 Requires: libselinux-devel
355 %description libOSMesa-devel
356 Header file for OSMesa (off-screen renderer) library.
358 %description libOSMesa-devel -l pl.UTF-8
359 Plik nagłówkowy biblioteki OSMesa (renderującej bitmapy w pamięci).
361 %package libOSMesa-static
362 Summary: Static OSMesa (off-screen renderer) library
363 Summary(pl.UTF-8): Biblioteka statyczna OSMesa (renderująca bitmapy w pamięci)
365 Group: Development/Libraries
366 Requires: %{name}-libOSMesa-devel = %{version}-%{release}
367 # this static build of OSMesa needs static non-dri Mesa implementation
368 Requires: %{name}-libGL-static = %{version}-%{release}
370 %description libOSMesa-static
371 Static OSMesa (off-screen renderer) library.
373 %description libOSMesa-static -l pl.UTF-8
374 Biblioteka statyczna OSMesa (renderująca bitmapy w pamięci).
377 Summary: Mesa implementation of OpenVG (Vector Graphics Accelleration) API
378 Summary(pl.UTF-8): Implementacja Mesa API OpenVG (akceleracji grafiki wektorowej)
381 # doesn't require base
383 %description libOpenVG
384 This package contains Mesa implementation of OpenVG - cross-platform
385 API that provides a low-level hardware acceleration interface for
386 vector graphics libraries such as Flash and SVG. OpenVG specification
387 can be found on Khronos Group site: <http://www.khronos.org/openvg/>.
388 Mesa implements OpenVG 1.1.
390 %description libOpenVG -l pl.UTF-8
391 Ten pakiet zawiera implementację Mesa standardu OpenVG -
392 wieloplatfomowego API zapewniającego niskopoziomowy interfejs
393 akceleracji sprzętowej dla bibliotek grafiki wektorowej, takiej jak
394 Flash czy SVG. Specyfikację OpenVG można znaleźć na stronie Khronos
395 Group: <http://www.khronos.org/openvg/>. Mesa zawiera implementację
398 %package libOpenVG-devel
399 Summary: Header file for Mesa OpenVG library
400 Summary(pl.UTF-8): Plik nagłówkowy biblioteki Mesa OpenVG
402 Group: Development/Libraries
403 # EGL headers for <KHR/khrplatform.h>
404 Requires: %{name}-libEGL-devel = %{version}-%{release}
405 Requires: %{name}-libOpenVG = %{version}-%{release}
407 %description libOpenVG-devel
408 Header file for Mesa OpenVG library.
410 %description libOpenVG-devel -l pl.UTF-8
411 Plik nagłówkowy biblioteki Mesa OpenVG.
414 Summary: Mesa implementations of XvMC API
415 Summary(pl.UTF-8): Implementacje Mesa API XvMC
418 # doesn't require base
421 Mesa implementations of XvMC API.
423 %description libXvMC -l pl.UTF-8
424 Implementacje Mesa API XvMC.
426 %package dri-driver-ati-radeon-R100
427 Summary: X.org DRI driver for ATI R100 card family
428 Summary(pl.UTF-8): Sterownik X.org DRI dla rodziny kart ATI R100
431 Requires: xorg-driver-video-ati
432 Requires: xorg-xserver-libglx(glapi) = %{glapi_ver}
433 Requires: xorg-xserver-server >= %{xserver_ver}
434 Obsoletes: X11-driver-radeon-dri < 1:7.0.0
436 %description dri-driver-ati-radeon-R100
437 X.org DRI driver for ATI R100 card family (Radeon 7000-7500).
439 %description dri-driver-ati-radeon-R100 -l pl.UTF-8
440 Sterownik X.org DRI dla rodziny kart ATI R100 (Radeon 7000-7500).
442 %package dri-driver-ati-radeon-R200
443 Summary: X.org DRI driver for ATI R200 card family
444 Summary(pl.UTF-8): Sterownik X.org DRI dla rodziny kart ATI R200
447 Requires: xorg-driver-video-ati
448 Requires: xorg-xserver-libglx(glapi) = %{glapi_ver}
449 Requires: xorg-xserver-server >= %{xserver_ver}
450 Obsoletes: X11-driver-radeon-dri < 1:7.0.0
452 %description dri-driver-ati-radeon-R200
453 X.org DRI driver for ATI R200 card family (Radeon 8500-92xx)
455 %description dri-driver-ati-radeon-R200 -l pl.UTF-8
456 Sterownik X.org DRI dla rodziny kart ATI R200 (Radeon 8500-92xx).
458 %package dri-driver-ati-radeon-R300
459 Summary: X.org DRI driver for ATI R300 card family
460 Summary(pl.UTF-8): Sterownik X.org DRI dla rodziny kart ATI R300
463 Requires: xorg-driver-video-ati
464 Requires: xorg-xserver-libglx(glapi) = %{glapi_ver}
465 Requires: xorg-xserver-server >= %{xserver_ver}
466 Obsoletes: X11-driver-radeon-dri < 1:7.0.0
468 %description dri-driver-ati-radeon-R300
469 X.org DRI driver for ATI R300 card family.
471 %description dri-driver-ati-radeon-R300 -l pl.UTF-8
472 Sterownik X.org DRI dla rodziny kart ATI R300.
474 %package dri-driver-ati-radeon-R600
475 Summary: X.org DRI driver for ATI R600 card family
476 Summary(pl.UTF-8): Sterownik X.org DRI dla rodziny kart ATI R600
479 Requires: radeon-ucode
480 Requires: xorg-driver-video-ati
481 Requires: xorg-xserver-libglx(glapi) = %{glapi_ver}
482 Requires: xorg-xserver-server >= %{xserver_ver}
484 %description dri-driver-ati-radeon-R600
485 X.org DRI driver for ATI R600 card family.
487 %description dri-driver-ati-radeon-R600 -l pl.UTF-8
488 Sterownik X.org DRI dla rodziny kart ATI R600.
490 %package dri-driver-intel-i915
491 Summary: X.org DRI driver for Intel i915 card family
492 Summary(pl.UTF-8): Sterownik X.org DRI dla rodziny kart Intel i915
495 Requires: xorg-driver-video-intel
496 Requires: xorg-xserver-libglx(glapi) = %{glapi_ver}
497 Requires: xorg-xserver-server >= %{xserver_ver}
498 Obsoletes: Mesa-dri-driver-intel-i830
499 Obsoletes: X11-driver-i810-dri < 1:7.0.0
501 %description dri-driver-intel-i915
502 X.org DRI driver for Intel i915 card family.
504 %description dri-driver-intel-i915 -l pl.UTF-8
505 Sterownik X.org DRI dla rodziny kart Intel i915.
507 %package dri-driver-intel-i965
508 Summary: X.org DRI driver for Intel i965 card family
509 Summary(pl.UTF-8): Sterownik X.org DRI dla rodziny kart Intel i965
512 Requires: xorg-driver-video-intel
513 Requires: xorg-xserver-libglx(glapi) = %{glapi_ver}
514 Requires: xorg-xserver-server >= %{xserver_ver}
515 Obsoletes: Mesa-dri-driver-intel-i830
516 Obsoletes: X11-driver-i810-dri < 1:7.0.0
518 %description dri-driver-intel-i965
519 X.org DRI driver for Intel i965 card family.
521 %description dri-driver-intel-i965 -l pl.UTF-8
522 Sterownik X.org DRI dla rodziny kart Intel i965.
524 %package dri-driver-nouveau
525 Summary: X.org DRI driver for NVIDIA card family
526 Summary(pl.UTF-8): Sterownik X.org DRI dla rodziny kart NVIDIA
529 Requires: xorg-driver-video-nouveau
530 Requires: xorg-xserver-libglx(glapi) = %{glapi_ver}
531 Requires: xorg-xserver-server >= %{xserver_ver}
533 %description dri-driver-nouveau
534 X.org DRI drivers for NVIDIA card family.
536 %description dri-driver-nouveau -l pl.UTF-8
537 Sterowniki X.org DRI dla rodziny kart NVIDIA.
539 %package dri-driver-swrast
540 Summary: X.org DRI software rasterizer driver
541 Summary(pl.UTF-8): Sterownik X.org DRI obsługujący rysowanie programowe
544 Requires: xorg-xserver-libglx(glapi) = %{glapi_ver}
545 Requires: xorg-xserver-server >= %{xserver_ver}
547 %description dri-driver-swrast
548 X.org DRI software rasterizer driver.
550 %description dri-driver-swrast -l pl.UTF-8
551 Sterownik X.org DRI obsługujący rysowanie programowe.
553 %package dri-driver-vmwgfx
554 Summary: X.org DRI driver for VMware
555 Summary(pl.UTF-8): Sterownik X.org DRI dla VMware
558 Requires: xorg-driver-video-vmware
559 Requires: xorg-xserver-libglx(glapi) = %{glapi_ver}
560 Requires: xorg-xserver-server >= %{xserver_ver}
562 %description dri-driver-vmwgfx
563 X.org DRI driver for VMWare.
565 %description dri-driver-vmwgfx -l pl.UTF-8
566 Sterownik X.org DRI dla VMware.
568 %package -n libvdpau-driver-mesa
569 Summary: Mesa drivers for the vdpau API
570 Summary(pl.UTF-8): Sterowniki Mesa dla API vdpau
574 %description -n libvdpau-driver-mesa
575 Mesa drivers for the vdpau API.
577 %description -n libvdpau-driver-mesa -l pl.UTF-8
578 Sterowniki Mesa dla API vdpau.
581 %define filterout_ld -Wl,--as-needed
591 dri_drivers="r200 radeon \
592 %if %{without gallium_intel}
595 %ifarch sparc sparcv9 sparc64
600 dri_drivers=$(echo $dri_drivers | xargs | tr ' ' ',')
602 gallium_drivers="svga swrast \
603 %if %{with gallium_intel}
609 %if %{with gallium_nouveau}
614 gallium_drivers=$(echo $gallium_drivers | xargs | tr ' ' ',')
621 %{?with_static_libs:--enable-static} \
624 osmesa_common_flags="\
625 --with-driver=osmesa \
631 %configure $common_flags $osmesa_common_flags \
634 %{__make} -C src/mesa osmesa.pc
636 cp -p src/mesa/osmesa.pc osmesa8
640 %configure $common_flags \
641 --enable-shared-glapi \
650 --enable-gallium-llvm \
651 %{__enable egl gallium-egl} \
652 %{__enable gbm gallium-gbm} \
655 --with-gallium-drivers=${gallium_drivers} \
657 --without-gallium-drivers \
660 --with-dri-drivers=${dri_drivers} \
661 --with-dri-driverdir=%{_libdir}/xorg/modules/dri
666 rm -rf $RPM_BUILD_ROOT
668 # libs without drivers
670 DESTDIR=$RPM_BUILD_ROOT
673 cp -p osmesa8/libOSMesa* $RPM_BUILD_ROOT%{_libdir}
674 cp -p osmesa8/osmesa.pc $RPM_BUILD_ROOT%{_pkgconfigdir}
677 # strip out undesirable headers
678 %{__rm} $RPM_BUILD_ROOT%{_includedir}/GL/{vms_x_fix,wglext,wmesa}.h
680 # remove "OS ABI: Linux 2.4.20" tag, so private copies (nvidia or fglrx),
681 # set up via /etc/ld.so.conf.d/*.conf will be preferred over this
682 strip -R .note.ABI-tag $RPM_BUILD_ROOT%{_libdir}/libGL.so.*.*
685 rm -rf $RPM_BUILD_ROOT
687 %post libEGL -p /sbin/ldconfig
688 %postun libEGL -p /sbin/ldconfig
690 %post libGL -p /sbin/ldconfig
691 %postun libGL -p /sbin/ldconfig
693 %post libGLES -p /sbin/ldconfig
694 %postun libGLES -p /sbin/ldconfig
696 %post libGLU -p /sbin/ldconfig
697 %postun libGLU -p /sbin/ldconfig
699 %post libOSMesa -p /sbin/ldconfig
700 %postun libOSMesa -p /sbin/ldconfig
702 %post libOpenVG -p /sbin/ldconfig
703 %postun libOpenVG -p /sbin/ldconfig
705 %post libXvMC -p /sbin/ldconfig
706 %postun libXvMC -p /sbin/ldconfig
710 %defattr(644,root,root,755)
711 %attr(755,root,root) %{_libdir}/libEGL.so.*.*
712 %attr(755,root,root) %ghost %{_libdir}/libEGL.so.1
713 %attr(755,root,root) %{_libdir}/libglapi.so.*.*
714 %attr(755,root,root) %ghost %{_libdir}/libglapi.so.0
717 %attr(755,root,root) %{_libdir}/libgbm.so.*.*
718 %attr(755,root,root) %ghost %{_libdir}/libgbm.so.1
722 %attr(755,root,root) %{_libdir}/egl/egl_gallium.so
723 %attr(755,root,root) %{_libdir}/gbm/pipe_r300.so
724 %attr(755,root,root) %{_libdir}/gbm/pipe_r600.so
726 %attr(755,root,root) %{_libdir}/gbm/gbm_gallium_drm.so
727 %attr(755,root,root) %{_libdir}/gbm/pipe_vmwgfx.so
728 %if %{with gallium_nouveau}
729 %attr(755,root,root) %{_libdir}/gbm/pipe_nouveau.so
731 %if %{with gallium_intel}
732 %attr(755,root,root) %{_libdir}/egl/pipe_i915.so
733 %attr(755,root,root) %{_libdir}/egl/pipe_i965.so
739 %defattr(644,root,root,755)
740 %attr(755,root,root) %{_libdir}/libEGL.so
741 %attr(755,root,root) %{_libdir}/libglapi.so
742 %dir %{_includedir}/EGL
743 %{_includedir}/EGL/egl.h
744 %{_includedir}/EGL/eglext.h
745 %{_includedir}/EGL/eglmesaext.h
746 %{_includedir}/EGL/eglplatform.h
747 %dir %{_includedir}/KHR
748 %{_includedir}/KHR/khrplatform.h
749 %{_pkgconfigdir}/egl.pc
751 %attr(755,root,root) %{_libdir}/libgbm.so
753 %{_pkgconfigdir}/gbm.pc
756 %if %{with static_libs}
758 %defattr(644,root,root,755)
764 %defattr(644,root,root,755)
765 %doc docs/{*.html,README.{MITS,QUAKE,THREADS},RELNOTES*}
766 %attr(755,root,root) %{_libdir}/libGL.so.*.*
767 %attr(755,root,root) %ghost %{_libdir}/libGL.so.1
768 # symlink for binary apps which fail to conform Linux OpenGL ABI
769 # (and dlopen libGL.so instead of libGL.so.1; the same does Mesa libEGL)
770 %attr(755,root,root) %{_libdir}/libGL.so
773 %defattr(644,root,root,755)
775 %dir %{_includedir}/GL
776 %{_includedir}/GL/gl.h
777 %{_includedir}/GL/glext.h
778 %{_includedir}/GL/gl_mangle.h
779 %{_includedir}/GL/glx.h
780 %{_includedir}/GL/glxext.h
781 %{_includedir}/GL/glx_mangle.h
782 %dir %{_includedir}/GL/internal
783 %{_includedir}/GL/internal/dri_interface.h
784 %{_pkgconfigdir}/dri.pc
785 %{_pkgconfigdir}/gl.pc
787 %if %{with static_libs}
789 %defattr(644,root,root,755)
794 %defattr(644,root,root,755)
795 %attr(755,root,root) %{_libdir}/libGLESv1_CM.so.*.*.*
796 %attr(755,root,root) %ghost %{_libdir}/libGLESv1_CM.so.1
797 %attr(755,root,root) %{_libdir}/libGLESv2.so.*.*
798 %attr(755,root,root) %ghost %{_libdir}/libGLESv2.so.2
801 %defattr(644,root,root,755)
802 %attr(755,root,root) %{_libdir}/libGLESv1_CM.so
803 %attr(755,root,root) %{_libdir}/libGLESv2.so
806 %{_pkgconfigdir}/glesv1_cm.pc
807 %{_pkgconfigdir}/glesv2.pc
810 %defattr(644,root,root,755)
811 %attr(755,root,root) %{_libdir}/libGLU.so.*.*
812 %attr(755,root,root) %ghost %{_libdir}/libGLU.so.1
815 %defattr(644,root,root,755)
816 %attr(755,root,root) %{_libdir}/libGLU.so
817 %{_includedir}/GL/glu.h
818 %{_includedir}/GL/glu_mangle.h
819 %{_pkgconfigdir}/glu.pc
821 %if %{with static_libs}
823 %defattr(644,root,root,755)
829 %defattr(644,root,root,755)
830 %attr(755,root,root) %{_libdir}/libOSMesa.so.*.*
831 %attr(755,root,root) %ghost %{_libdir}/libOSMesa.so.8
833 %files libOSMesa-devel
834 %defattr(644,root,root,755)
835 %attr(755,root,root) %{_libdir}/libOSMesa.so
836 %{_includedir}/GL/osmesa.h
837 %{_pkgconfigdir}/osmesa.pc
839 %if %{with static_libs}
840 %files libOSMesa-static
841 %defattr(644,root,root,755)
842 %{_libdir}/libOSMesa.a
848 %defattr(644,root,root,755)
849 %attr(755,root,root) %{_libdir}/libOpenVG.so.*.*.*
850 %attr(755,root,root) %ghost %{_libdir}/libOpenVG.so.1
852 %files libOpenVG-devel
853 %defattr(644,root,root,755)
854 %attr(755,root,root) %{_libdir}/libOpenVG.so
856 %{_pkgconfigdir}/vg.pc
860 %defattr(644,root,root,755)
861 %attr(755,root,root) %ghost %{_libdir}/libXvMCnouveau.so.1
862 %attr(755,root,root) %{_libdir}/libXvMCnouveau.so.1.0
863 %attr(755,root,root) %ghost %{_libdir}/libXvMCr300.so.1
864 %attr(755,root,root) %{_libdir}/libXvMCr300.so.1.0
865 %attr(755,root,root) %ghost %{_libdir}/libXvMCr600.so.1
866 %attr(755,root,root) %{_libdir}/libXvMCr600.so.1.0
867 %attr(755,root,root) %ghost %{_libdir}/libXvMCsoftpipe.so.1
868 %attr(755,root,root) %{_libdir}/libXvMCsoftpipe.so.1.0
870 %files dri-driver-ati-radeon-R100
871 %defattr(644,root,root,755)
872 %attr(755,root,root) %{_libdir}/xorg/modules/dri/radeon_dri.so
874 %files dri-driver-ati-radeon-R200
875 %defattr(644,root,root,755)
876 %attr(755,root,root) %{_libdir}/xorg/modules/dri/r200_dri.so
878 %files dri-driver-ati-radeon-R300
879 %defattr(644,root,root,755)
880 %attr(755,root,root) %{_libdir}/xorg/modules/dri/r300_dri.so
882 %files dri-driver-ati-radeon-R600
883 %defattr(644,root,root,755)
884 %attr(755,root,root) %{_libdir}/xorg/modules/dri/r600_dri.so
886 %files dri-driver-intel-i915
887 %defattr(644,root,root,755)
888 %attr(755,root,root) %{_libdir}/xorg/modules/dri/i915_dri.so
890 %files dri-driver-intel-i965
891 %defattr(644,root,root,755)
892 %attr(755,root,root) %{_libdir}/xorg/modules/dri/i965_dri.so
893 %if %{with gallium_intel}
894 %attr(755,root,root) %{_libdir}/xorg/modules/drivers/i965g_drv.so
897 %if %{with gallium_nouveau}
898 %files dri-driver-nouveau
899 %defattr(644,root,root,755)
900 %attr(755,root,root) %{_libdir}/xorg/modules/dri/nouveau_dri.so
903 %files dri-driver-swrast
904 %defattr(644,root,root,755)
905 %attr(755,root,root) %{_libdir}/xorg/modules/dri/swrast_dri.so
908 %files dri-driver-vmwgfx
909 %defattr(644,root,root,755)
910 %attr(755,root,root) %{_libdir}/xorg/modules/dri/vmwgfx_dri.so
913 %files -n libvdpau-driver-mesa
914 %defattr(644,root,root,755)
915 # there is no ldconfig here
916 %attr(755,root,root) %{_libdir}/vdpau/libvdpau_softpipe.so.1.0
917 %attr(755,root,root) %{_libdir}/vdpau/libvdpau_softpipe.so.1
918 %attr(755,root,root) %{_libdir}/vdpau/libvdpau_softpipe.so
919 %attr(755,root,root) %{_libdir}/vdpau/libvdpau_r300.so.1.0
920 %attr(755,root,root) %{_libdir}/vdpau/libvdpau_r300.so.1
921 %attr(755,root,root) %{_libdir}/vdpau/libvdpau_r300.so
922 %attr(755,root,root) %{_libdir}/vdpau/libvdpau_r600.so.1.0
923 %attr(755,root,root) %{_libdir}/vdpau/libvdpau_r600.so.1
924 %attr(755,root,root) %{_libdir}/vdpau/libvdpau_r600.so
925 %attr(755,root,root) %{_libdir}/vdpau/libvdpau_nouveau.so.1.0
926 %attr(755,root,root) %{_libdir}/vdpau/libvdpau_nouveau.so.1
927 %attr(755,root,root) %{_libdir}/vdpau/libvdpau_nouveau.so