%bcond_without wayland # Wayland EGL
%bcond_without xa # XA state tracker (for vmwgfx xorg driver)
%bcond_with static_libs # static libraries [not supported for DRI, thus broken currently]
+%bcond_with tests # tests
#
# glapi version (glapi tables in dri drivers and libglx must be in sync);
# set to current Mesa version on ABI break, when xserver tables get regenerated
# (until they start to be somehow versioned themselves)
%define glapi_ver 7.1.0
-# internal API version (libdricore); a.b.c for Mesa-a.b.c, a.b.0 for Mesa-a.b
-%define int_sover 9.1.4
+# internal API version; a.b.c for Mesa-a.b.c, a.b.0 for Mesa-a.b
+%define int_sover 9.2.4
# minimal supported xserver version
%define xserver_ver 1.5.0
# other packages
-%define libdrm_ver 2.4.42
+%define libdrm_ver 2.4.46
%define dri2proto_ver 2.6
%define glproto_ver 1.4.14
Summary: Free OpenGL implementation
Summary(pl.UTF-8): Wolnodostępna implementacja standardu OpenGL
Name: Mesa
-Version: 9.1.4
+Version: 10.0.0
Release: 1
License: MIT (core) and others - see license.html file
Group: X11/Libraries
-Source0: ftp://ftp.freedesktop.org/pub/mesa/%{version}/%{name}Lib-%{version}.tar.bz2
-# Source0-md5: a2c4e25d0e27918bc67f61bae04d0cb8
+Source0: ftp://ftp.freedesktop.org/pub/mesa/10.0/%{name}Lib-%{version}.tar.bz2
+# Source0-md5: f3fe55d9735bea158bbe97ed9a0da819
Patch0: %{name}-link.patch
-Patch1: %{name}-llvm.patch
URL: http://www.mesa3d.org/
BuildRequires: autoconf >= 2.60
BuildRequires: automake
BuildRequires: libtool >= 2:2.2
BuildRequires: libvdpau-devel >= 0.4.1
BuildRequires: libxcb-devel >= 1.9
-BuildRequires: llvm-devel >= 3.2
+BuildRequires: llvm-devel >= 3.3
%{?with_opencl:BuildRequires: llvm-libclc}
BuildRequires: perl-base
BuildRequires: pixman-devel
BuildRequires: python-modules >= 2
BuildRequires: rpmbuild(macros) >= 1.470
BuildRequires: sed >= 4.0
-%{?with_egl:BuildRequires: udev-devel >= 1:150}
+%{?with_egl:BuildRequires: udev-devel >= 1:151}
# wayland-{client,server}
%{?with_wayland:BuildRequires: wayland-devel >= 1.0.2}
BuildRequires: xorg-lib-libXdamage-devel
# libGLESv1_CM, libGLESv2, libGL, libOSMesa:
# _glapi_tls_Dispatch is defined in libglapi, but it's some kind of symbol ldd -r doesn't notice(?)
-# libdricore: internal library, not linked with libglapi
# libgbm: circular dependency with libEGL (wayland_buffer_is_drm symbol)
-%define skip_post_check_so libGLESv1_CM.so.1.* libGLESv2.so.2.* libGL.so.1.* libOSMesa.so.* libdricore.*.so.* libgbm.*.so.*
+%define skip_post_check_so libGLESv1_CM.so.1.* libGLESv2.so.2.* libGL.so.1.* libOSMesa.so.* libgbm.*.so.*
# llvm build broken
%define filterout_ld -Wl,--as-needed
%if %{with gallium}
# for egl_gallium.so
Requires: %{name}-libOpenVG = %{version}-%{release}
-Requires: udev-libs >= 1:150
+Requires: udev-libs >= 1:151
%endif
%if %{with gbm}
Requires: %{name}-libgbm = %{version}-%{release}
Group: Libraries
Requires: libdrm >= %{libdrm_ver}
Requires: llvm-libclc
-Requires: udev-libs >= 1:150
+Requires: udev-libs >= 1:151
Provides: OpenCL = 1.1
%description libOpenCL
%description libXvMC-nouveau -l pl.UTF-8
Implementacja Mesa API XvMC dla kart NVidia (NV40-NV96, NVa0).
-%package libXvMC-r300
-Summary: Mesa implementation of XvMC API for ATI Radeon R300 series adapters
-Summary(pl.UTF-8): Implementacja Mesa API XvMC dla kart ATI Radeon z serii R300
-License: MIT
-Group: Libraries
-Requires: libdrm >= %{libdrm_ver}
-Requires: xorg-lib-libXvMC >= 1.0.6
-Conflicts: Mesa-libXvMC
-
-%description libXvMC-r300
-Mesa implementation of XvMC API for ATI Radeon adapters based on
-R300/R400/RS690/R500 chips.
-
-%description libXvMC-r300 -l pl.UTF-8
-Implementacja Mesa API XvMC dla kart ATI Radeon opartych na układach
-R300/R400/RS690/R500.
-
%package libXvMC-r600
Summary: Mesa implementation of XvMC API for ATI Radeon R600 series adapters
Summary(pl.UTF-8): Implementacja Mesa API XvMC dla kart ATI Radeon z serii R600
License: MIT
Group: Libraries
-Requires: %{name}-libllvmradeon = %{version}-%{release}
Requires: libdrm >= %{libdrm_ver}
Requires: xorg-lib-libXvMC >= 1.0.6
Conflicts: Mesa-libXvMC
Implementacja Mesa API XvMC dla kart ATI Radeon opartych na układach
R600/R700.
-%package libXvMC-softpipe
-Summary: Mesa softpipe implementation of XvMC API
-Summary(pl.UTF-8): Implementacja Mesa softpipe API XvMC
-License: MIT
-Group: Libraries
-Requires: libdrm >= %{libdrm_ver}
-Requires: xorg-lib-libXvMC >= 1.0.6
-Conflicts: Mesa-libXvMC
-
-%description libXvMC-softpipe
-Mesa softpipe implementation of XvMC API.
-
-%description libXvMC-softpipe -l pl.UTF-8
-Implementacja Mesa softpipe API XvMC.
-
%package libgbm
Summary: Mesa Graphics Buffer Manager library
Summary(pl.UTF-8): Biblioteka Mesa Graphics Buffer Manager
Group: Libraries
Requires: %{name}-libglapi = %{version}-%{release}
-Requires: udev-libs >= 1:150
+Requires: udev-libs >= 1:151
Conflicts: Mesa-libEGL < 8.0.1-2
%description libgbm
Summary(pl.UTF-8): Plik nagłówkowy biblioteki Mesa Graphics Buffer Manager
Group: Development/Libraries
Requires: %{name}-libgbm = %{version}-%{release}
-Requires: udev-devel >= 1:150
+Requires: udev-devel >= 1:151
%description libgbm-devel
Header file for Mesa Graphics Buffer Manager library.
Summary(pl.UTF-8): Sterownik r600 dla szkieletu Mesa GBM
Group: Libraries
Requires: %{name}-libgbm = %{version}-%{release}
-Requires: %{name}-libllvmradeon = %{version}-%{release}
+Obsoletes: Mesa-libllvmradeon
Obsoletes: Mesa-opencl-driver-r600
%description gbm-driver-r600
Summary(pl.UTF-8): Sterownik radeonsi dla szkieletu Mesa GBM
Group: Libraries
Requires: %{name}-libgbm = %{version}-%{release}
-Requires: %{name}-libllvmradeon = %{version}-%{release}
+Obsoletes: Mesa-libllvmradeon
Obsoletes: Mesa-opencl-driver-radeonsi
%description gbm-driver-radeonsi
Biblioteka współdzielona Mesa GL API, wspólna dla różnych API (EGL,
GL, GLES).
-%package libllvmradeon
-Summary: LLVM radeon target library
-Summary(pl.UTF-8): Biblioteka platformy radeon dla LLVM-a
-Group: Libraries
-
-%description libllvmradeon
-LLVM radeon target library.
-
-%description libllvmradeon -l pl.UTF-8
-Biblioteka platformy radeon dla LLVM-a.
-
%package libwayland-egl
Summary: Wayland EGL library
Summary(pl.UTF-8): Biblioteka Wayland EGL
%description khrplatform-devel -l pl.UTF-8
Plik nagłówkowy platformy Khronos.
-%package dri-core
-Summary: X.org DRI core library
-Summary(pl.UTF-8): Biblioteka X.org DRI core
-License: MIT
-Group: X11/Libraries
-Requires: xorg-xserver-libglx(glapi) = %{glapi_ver}
-Requires: xorg-xserver-server >= %{xserver_ver}
-
-%description dri-core
-X.org DRI core library.
-
-%description dri-core -l pl.UTF-8
-Biblioteka X.org DRI core.
-
%package dri-driver-ati-radeon-R100
Summary: X.org DRI driver for ATI R100 card family
Summary(pl.UTF-8): Sterownik X.org DRI dla rodziny kart ATI R100
License: MIT
Group: X11/Libraries
-Requires: %{name}-dri-core = %{version}-%{release}
Requires: xorg-driver-video-ati
Requires: xorg-xserver-libglx(glapi) = %{glapi_ver}
Requires: xorg-xserver-server >= %{xserver_ver}
Summary(pl.UTF-8): Sterownik X.org DRI dla rodziny kart ATI R200
License: MIT
Group: X11/Libraries
-Requires: %{name}-dri-core = %{version}-%{release}
Requires: xorg-driver-video-ati
Requires: xorg-xserver-libglx(glapi) = %{glapi_ver}
Requires: xorg-xserver-server >= %{xserver_ver}
Summary(pl.UTF-8): Sterownik X.org DRI dla rodziny kart ATI R600
License: MIT
Group: X11/Libraries
-Requires: %{name}-libllvmradeon = %{version}-%{release}
Requires: radeon-ucode
Requires: xorg-driver-video-ati
Requires: xorg-xserver-libglx(glapi) = %{glapi_ver}
Summary(pl.UTF-8): Sterownik X.org DRI dla rodziny kart ATI Southern Islands
License: MIT
Group: X11/Libraries
-Requires: %{name}-libllvmradeon = %{version}-%{release}
Requires: radeon-ucode
Requires: xorg-driver-video-ati
Requires: xorg-xserver-libglx(glapi) = %{glapi_ver}
Summary(pl.UTF-8): Sterownik X.org DRI dla rodziny kart Intel i915
License: MIT
Group: X11/Libraries
-%if %{without gallium_intel}
-Requires: %{name}-dri-core = %{version}-%{release}
-%endif
Requires: xorg-driver-video-intel
Requires: xorg-xserver-libglx(glapi) = %{glapi_ver}
Requires: xorg-xserver-server >= %{xserver_ver}
Summary(pl.UTF-8): Sterownik X.org DRI dla rodziny kart Intel i965
License: MIT
Group: X11/Libraries
-Requires: %{name}-dri-core = %{version}-%{release}
Requires: xorg-driver-video-intel
Requires: xorg-xserver-libglx(glapi) = %{glapi_ver}
Requires: xorg-xserver-server >= %{xserver_ver}
Summary(pl.UTF-8): Sterownik X.org DRI dla rodziny kart NVIDIA
License: MIT
Group: X11/Libraries
-Requires: %{name}-dri-core = %{version}-%{release}
Requires: xorg-driver-video-nouveau
Requires: xorg-xserver-libglx(glapi) = %{glapi_ver}
Requires: xorg-xserver-server >= %{xserver_ver}
Summary(pl.UTF-8): Sterownik X.org DRI obsługujący rysowanie programowe
License: MIT
Group: X11/Libraries
-Requires: %{name}-dri-core = %{version}-%{release}
Requires: xorg-xserver-libglx(glapi) = %{glapi_ver}
Requires: xorg-xserver-server >= %{xserver_ver}
Sterownik Mesa nouveau dla API vdpau. Obsługuje karty NVidia
(NV40-NV96, NVa0).
-%package -n libvdpau-driver-mesa-r300
-Summary: Mesa r300 driver for the vdpau API
-Summary(pl.UTF-8): Sterownik Mesa r300 dla API vdpau
-License: MIT
-Group: X11/Libraries
-Requires: libdrm >= %{libdrm_ver}
-Requires: libvdpau >= 0.4.1
-Conflicts: libvdpau-driver-mesa
-
-%description -n libvdpau-driver-mesa-r300
-Mesa r300 driver for the vdpau API. It supports ATI Radeon adapters
-based on R300/R400/RS690/R500 chips.
-
-%description -n libvdpau-driver-mesa-r300 -l pl.UTF-8
-Sterownik Mesa r300 dla API vdpau. Obsługuje karty ATI Radeon oparte
-na układach R300/R400/RS690/R500.
-
%package -n libvdpau-driver-mesa-r600
Summary: Mesa r600 driver for the vdpau API
Summary(pl.UTF-8): Sterownik Mesa r600 dla API vdpau
License: MIT
Group: X11/Libraries
-Requires: %{name}-libllvmradeon = %{version}-%{release}
Requires: libdrm >= %{libdrm_ver}
Requires: libvdpau >= 0.4.1
Conflicts: libvdpau-driver-mesa
Summary(pl.UTF-8): Sterownik Mesa radeonsi dla API vdpau
License: MIT
Group: X11/Libraries
-Requires: %{name}-libllvmradeon = %{version}-%{release}
Requires: libdrm >= %{libdrm_ver}
Requires: libvdpau >= 0.4.1
Conflicts: libvdpau-driver-mesa
+Obsoletes: Mesa-libllvmradeon
%description -n libvdpau-driver-mesa-radeonsi
Mesa radeonsi driver for the vdpau API. It supports ATI Radeon
Sterownik Mesa radeonsi dla API vdpau. Obsługuje karty ATI Radeon
oparte na układach Southern Islands.
-%package -n libvdpau-driver-mesa-softpipe
-Summary: Mesa softpipe driver for the vdpau API
-Summary(pl.UTF-8): Sterownik Mesa softpipe dla API vdpau
-License: MIT
-Group: X11/Libraries
-Requires: libdrm >= %{libdrm_ver}
-Requires: libvdpau >= 0.4.1
-Conflicts: libvdpau-driver-mesa
-
-%description -n libvdpau-driver-mesa-softpipe
-Mesa softpipe driver for the vdpau API.
-
-%description -n libvdpau-driver-mesa-softpipe -l pl.UTF-8
-Sterownik Mesa softpipe dla API vdpau.
-
%prep
%setup -q
%patch0 -p1
-%patch1 -p1
%build
%{__libtoolize}
%{__make}
+%{?with_tests:%{__make} check}
+
%install
rm -rf $RPM_BUILD_ROOT
# dlopened by soname
%{__rm} $RPM_BUILD_ROOT%{_libdir}/libXvMC*.so
# not used externally
-%{__rm} $RPM_BUILD_ROOT%{_libdir}/lib{dricore%{int_sover},glapi}.so
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/libglapi.so
# dlopened
%{__rm} $RPM_BUILD_ROOT%{_libdir}/egl/egl_*.la
%{__rm} $RPM_BUILD_ROOT%{_libdir}/gallium-pipe/pipe_*.la
%post libXvMC-nouveau -p /sbin/ldconfig
%postun libXvMC-nouveau -p /sbin/ldconfig
-%post libXvMC-r300 -p /sbin/ldconfig
-%postun libXvMC-r300 -p /sbin/ldconfig
%post libXvMC-r600 -p /sbin/ldconfig
%postun libXvMC-r600 -p /sbin/ldconfig
-%post libXvMC-softpipe -p /sbin/ldconfig
-%postun libXvMC-softpipe -p /sbin/ldconfig
%post libgbm -p /sbin/ldconfig
%postun libgbm -p /sbin/ldconfig
%post libglapi -p /sbin/ldconfig
%postun libglapi -p /sbin/ldconfig
-%post libllvmradeon -p /sbin/ldconfig
-%postun libllvmradeon -p /sbin/ldconfig
-
%post libwayland-egl -p /sbin/ldconfig
%postun libwayland-egl -p /sbin/ldconfig
%post libxatracker -p /sbin/ldconfig
%postun libxatracker -p /sbin/ldconfig
-%post dri-core -p /sbin/ldconfig
-%postun dri-core -p /sbin/ldconfig
-
%if %{with egl}
%files libEGL
%defattr(644,root,root,755)
%files libGL
%defattr(644,root,root,755)
-%doc docs/{*.html,README.{MITS,QUAKE,THREADS},RELNOTES*}
+%doc docs/{*.html,README.{MITS,QUAKE,THREADS,UVD},relnotes/*.html}
%attr(755,root,root) %{_libdir}/libGL.so.*.*
%attr(755,root,root) %ghost %{_libdir}/libGL.so.1
# symlink for binary apps which fail to conform Linux OpenGL ABI
# (and dlopen libGL.so instead of libGL.so.1; the same does Mesa libEGL)
%attr(755,root,root) %{_libdir}/libGL.so
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/drirc
%files libGL-devel
%defattr(644,root,root,755)
-%doc docs/*.spec
+%doc docs/specs/*
%dir %{_includedir}/GL
%{_includedir}/GL/gl.h
%{_includedir}/GL/glext.h
%attr(755,root,root) %ghost %{_libdir}/libXvMCnouveau.so.1
%endif
-%files libXvMC-r300
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libXvMCr300.so.1.0.0
-%attr(755,root,root) %ghost %{_libdir}/libXvMCr300.so.1
-
%files libXvMC-r600
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/libXvMCr600.so.1.0.0
%attr(755,root,root) %ghost %{_libdir}/libXvMCr600.so.1
-
-%files libXvMC-softpipe
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libXvMCsoftpipe.so.1.0.0
-%attr(755,root,root) %ghost %{_libdir}/libXvMCsoftpipe.so.1
%endif
%if %{with gbm}
# libglapi-devel? nothing seems to need it atm.
#%attr(755,root,root) %{_libdir}/libglapi.so
-%if %{with gallium}
-%files libllvmradeon
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libllvmradeon%{int_sover}.so
-%endif
-
%if %{with wayland}
%files libwayland-egl
%defattr(644,root,root,755)
%files libxatracker
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/libxatracker.so.*.*
-%attr(755,root,root) %ghost %{_libdir}/libxatracker.so.1
+%attr(755,root,root) %ghost %{_libdir}/libxatracker.so.2
%files libxatracker-devel
%defattr(644,root,root,755)
%{_includedir}/KHR/khrplatform.h
%endif
-%files dri-core
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libdricore%{int_sover}.so.*.*
-%attr(755,root,root) %ghost %{_libdir}/libdricore%{int_sover}.so.1
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/drirc
-
%files dri-driver-ati-radeon-R100
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/xorg/modules/dri/radeon_dri.so
%attr(755,root,root) %{_libdir}/vdpau/libvdpau_nouveau.so
%endif
-%files -n libvdpau-driver-mesa-r300
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/vdpau/libvdpau_r300.so.1.0.0
-%attr(755,root,root) %{_libdir}/vdpau/libvdpau_r300.so.1
-%attr(755,root,root) %{_libdir}/vdpau/libvdpau_r300.so
-
%files -n libvdpau-driver-mesa-r600
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/vdpau/libvdpau_r600.so.1.0.0
%attr(755,root,root) %{_libdir}/vdpau/libvdpau_radeonsi.so.1.0.0
%attr(755,root,root) %{_libdir}/vdpau/libvdpau_radeonsi.so.1
%attr(755,root,root) %{_libdir}/vdpau/libvdpau_radeonsi.so
-
-%files -n libvdpau-driver-mesa-softpipe
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/vdpau/libvdpau_softpipe.so.1.0.0
-%attr(755,root,root) %{_libdir}/vdpau/libvdpau_softpipe.so.1
-%attr(755,root,root) %{_libdir}/vdpau/libvdpau_softpipe.so
%endif