# TODO:
# - consider:
# --enable-shared-dricore
-# --with-egl-platforms=...,wayland (BR: pkgconfig(wayland-{client,server}))
# - subpackage with non-dri libGL for use with X-servers with missing GLX extension?
# - resurrect static if it's useful (using plain xorg target? DRI doesn't support static)
#
%bcond_without egl # EGL libraries
%bcond_without gallium # gallium drivers
%bcond_with gallium_intel # gallium i915 driver (but doesn't work with AIGLX)
-%bcond_without gallium_nouveau # gallium nouveau driver
+%bcond_with gallium_nouveau # gallium nouveau driver
%bcond_without osmesa # OSMesa libraries
%bcond_without gbm # Graphics Buffer Manager
-%bcond_with xa # XA state tracker (for future vmwgfx xorg driver)
+%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]
#
# minimal supported xserver version
Summary: Free OpenGL implementation
Summary(pl.UTF-8): Wolnodostępna implementacja standardu OpenGL
Name: Mesa
-Version: 8.0.1
-Release: 1
+Version: 8.0.3
+Release: 5
License: MIT (core), SGI (GLU) and others - see license.html file
Group: X11/Libraries
Source0: ftp://ftp.freedesktop.org/pub/mesa/%{version}/%{name}Lib-%{version}.tar.bz2
-# Source0-md5: 24eeebf66971809d8f40775a379b36c9
+# Source0-md5: cc5ee15e306b8c15da6a478923797171
+Patch100: %{name}-git.patch
Patch0: %{name}-realclean.patch
Patch1: %{name}-link.patch
+Patch2: %{name}-wayland.patch
+Patch3: llvm-3.1.patch
URL: http://www.mesa3d.org/
-BuildRequires: autoconf >= 2.59
+BuildRequires: autoconf >= 2.60
BuildRequires: automake
BuildRequires: expat-devel
BuildRequires: gcc >= 5:3.3
BuildRequires: python-modules
BuildRequires: rpmbuild(macros) >= 1.470
BuildRequires: sed >= 4.0
+# wayland-{client,server}
+%{?with_wayland:BuildRequires: wayland-devel}
BuildRequires: xorg-lib-libXdamage-devel
BuildRequires: xorg-lib-libXext-devel >= 1.0.5
BuildRequires: xorg-lib-libXfixes-devel
BuildRequires: xorg-proto-dri2proto-devel >= %{dri2proto_ver}
BuildRequires: xorg-proto-glproto-devel >= %{glproto_ver}
BuildRequires: xorg-util-makedepend
-BuildRequires: xorg-xserver-server-devel
+BuildRequires: xorg-xserver-server-devel >= %{xserver_ver}
%if %{with egl}
BuildRequires: libxcb-devel
BuildRequires: udev-devel >= 1:150
%if %{without egl}
%undefine with_gbm
+%undefine with_wayland
%endif
# _glapi_tls_Dispatch is defined in libglapi, but it's some kind of symbol ldd -r doesn't notice(?)
Summary(pl.UTF-8): Implementacja Mesa bibliotek GLES (OpenGL ES)
Group: Libraries
Requires: %{name}-libglapi = %{version}-%{release}
+Provides: OpenGLES
+Provides: OpenGLESv1 = 1.1
+Provides: OpenGLESv2 = 2.0
%description libGLES
This package contains shared libraries of Mesa implementation of GLES
# <EGL/egl.h> for <GLES/egl.h>
Requires: %{name}-libEGL-devel = %{version}-%{release}
Requires: %{name}-libGLES = %{version}-%{release}
+Provides: OpenGLES-devel
+Provides: OpenGLESv1-devel = 1.1
+Provides: OpenGLESv2-devel = 2.0
%description libGLES-devel
Header files for Mesa GLES libraries.
Summary(pl.UTF-8): Implementacja Mesa API OpenVG (akceleracji grafiki wektorowej)
License: MIT
Group: Libraries
+Provides: OpenVG = 1.1
%description libOpenVG
This package contains Mesa implementation of OpenVG - cross-platform
Group: Development/Libraries
Requires: %{name}-khrplatform-devel = %{version}-%{release}
Requires: %{name}-libOpenVG = %{version}-%{release}
+Provides: OpenVG-devel = 1.1
%description libOpenVG-devel
Header file for Mesa OpenVG library.
Summary(pl.UTF-8): Biblioteka Mesa Graphics Buffer Manager
Group: Libraries
Requires: udev-libs >= 1:150
+Conflicts: Mesa-libEGL < 8.0.1-2
%description libgbm
Mesa Graphics Buffer Manager library.
Summary: Mesa GL API shared library
Summary(pl.UTF-8): Biblioteka współdzielona Mesa GL API
Group: Libraries
+Conflicts: Mesa-libEGL < 8.0.1-2
%description libglapi
Mesa GL API shared library, common for various APIs (EGL, GL, GLES).
Biblioteka współdzielona Mesa GL API, wspólna dla różnych API (EGL,
GL, GLES).
+%package libwayland-egl
+Summary: Wayland EGL library
+Summary(pl.UTF-8): Biblioteka Wayland EGL
+Group: Libraries
+Requires: libdrm >= %{libdrm_ver}
+
+%description libwayland-egl
+Wayland EGL platform library.
+
+%description libwayland-egl -l pl.UTF-8
+Biblioteka platformy EGL Wayland.
+
+%package libwayland-egl-devel
+Summary: Development files for Wayland EGL library
+Summary(pl.UTF-8): Pliki programistyczne biblioteki Wayland EGL
+Group: Development/Libraries
+Requires: %{name}-libwayland-egl = %{version}-%{release}
+Requires: libdrm-devel >= %{libdrm_ver}
+Requires: wayland-devel
+
+%description libwayland-egl-devel
+Development files for Wayland EGL platform library.
+
+%description libwayland-egl-devel -l pl.UTF-8
+Pliki programistyczne biblioteki platformy EGL Wayland.
+
%package libxatracker
Summary: Xorg Gallium3D accelleration library
Summary(pl.UTF-8): Biblioteka akceleracji Gallium3D dla Xorg
Summary: Khronos platform header file
Summary(pl.UTF-8): Plik nagłówkowy platformy Khronos
Group: Development/Libraries
+Conflicts: Mesa-libEGL-devel < 8.0.1-2
%description khrplatform-devel
Khronos platform header file.
%prep
%setup -q
+#%patch100 -p1
%patch0 -p0
%patch1 -p1
+%patch2 -p1
+%patch3 -p1
%build
%{__aclocal}
--enable-egl \
--enable-gles1 \
--enable-gles2 \
- --with-egl-platforms=x11%{?with_gbm:,drm} \
+ --with-egl-platforms=x11%{?with_gbm:,drm}%{?with_wayland:,wayland} \
%endif
%if %{with gallium}
--enable-gallium-llvm \
%post libglapi -p /sbin/ldconfig
%postun libglapi -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
# libglapi-devel? nothing seems to need it atm.
#%attr(755,root,root) %{_libdir}/libglapi.so
+%if %{with wayland}
+%files libwayland-egl
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libwayland-egl.so.*.*
+%attr(755,root,root) %ghost %{_libdir}/libwayland-egl.so.1
+
+%files libwayland-egl-devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libwayland-egl.so
+%{_pkgconfigdir}/wayland-egl.pc
+%endif
+
%if %{with xa}
%files libxatracker
%defattr(644,root,root,755)