# minimal supported xserver version
%define xserver_ver 1.5.0
# other packages
-%ifarch %{arm}
-%define libdrm_ver 2.4.80
-%else
-%define libdrm_ver 2.4.79
-%endif
+%define libdrm_ver 2.4.91
%define dri2proto_ver 2.8
%define dri3proto_ver 1.0
%define glproto_ver 1.4.14
Summary: Free OpenGL implementation
Summary(pl.UTF-8): Wolnodostępna implementacja standardu OpenGL
Name: Mesa
-Version: 17.1.0
+Version: 17.3.7
Release: 1
License: MIT (core) and others - see license.html file
Group: X11/Libraries
Source0: ftp://ftp.freedesktop.org/pub/mesa/mesa-%{version}.tar.xz
-# Source0-md5: ab1c7d44df6afd5d35286de57f762a74
+# Source0-md5: 769137f2538562c300c4b76bcb097377
Patch0: %{name}-link.patch
+Patch1: glvnd-fix-gl-dot-pc.patch
URL: http://www.mesa3d.org/
BuildRequires: autoconf >= 2.60
BuildRequires: automake
%{?with_va:BuildRequires: pkgconfig(libva) >= 0.38.0}
BuildRequires: libvdpau-devel >= 1.1
BuildRequires: libxcb-devel >= 1.10
-%{?with_gallium_radeon:BuildRequires: llvm-devel >= 3.8}
-# for swr driver
+# gallium core requires 3.3.0, swr/r600/radeonsi require 3.9.0
%{?with_gallium:BuildRequires: llvm-devel >= 3.9}
%{?with_radv:BuildRequires: llvm-devel >= 3.9}
%{?with_opencl:BuildRequires: llvm-libclc}
BuildRequires: sed >= 4.0
# wayland-{client,server}
%{?with_wayland:BuildRequires: wayland-devel >= 1.11.0}
+%{?with_wayland:BuildRequires: wayland-protocols >= 1.8}
BuildRequires: xorg-lib-libXdamage-devel >= 1.1
BuildRequires: xorg-lib-libXext-devel >= 1.0.5
BuildRequires: xorg-lib-libXfixes-devel
BuildRequires: xorg-proto-presentproto-devel >= %{presentproto_ver}
BuildRequires: xorg-util-makedepend
%if %{with gallium}
-%{?with_lm_sensors:BuildRequires: lm_sensors-devel >= 3.4}
+%{?with_lm_sensors:BuildRequires: lm_sensors-devel >= 4.0}
BuildRequires: xorg-proto-xextproto-devel >= 7.0.99.1
BuildRequires: xorg-xserver-server-devel >= %{xserver_ver}
%endif
# libGLESv1_CM, libGLESv2, libGL, libOSMesa:
# _glapi_tls_Dispatch is defined in libglapi, but it's some kind of symbol ldd -r doesn't notice(?)
# 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.* libgbm.*.so.*
+%define skip_post_check_so libGLESv1_CM.so.1.* libGLESv2.so.2.* libGL.so.1.* libOSMesa.so.* libgbm.*.so.* libGLX_mesa.so.0.*
# llvm build broken
%define filterout_ld -Wl,--as-needed
%prep
%setup -q -n mesa-%{version}
%patch0 -p1
+%if %{with glvnd}
+%patch1 -p1
+%endif
%build
%{__libtoolize}
%{__enable opencl} \
%{__enable va} \
--enable-vdpau \
- %{?with_omx:--enable-omx} \
+ %{?with_omx:--enable-omx-bellagio} \
%{?with_xa:--enable-xa} \
--enable-xvmc \
--with-gallium-drivers=${gallium_drivers} \
%if %{with egl}
%files libEGL
%defattr(644,root,root,755)
+%if %{with glvnd}
+%attr(755,root,root) %{_libdir}/libEGL_mesa.so.*.*
+%attr(755,root,root) %ghost %{_libdir}/libEGL_mesa.so.0
+%{_datadir}/glvnd/egl_vendor.d/50_mesa.json
+%else
%attr(755,root,root) %{_libdir}/libEGL.so.*.*
%attr(755,root,root) %ghost %{_libdir}/libEGL.so.1
+%endif
%files libEGL-devel
%defattr(644,root,root,755)
+%if %{with glvnd}
+%attr(755,root,root) %{_libdir}/libEGL_mesa.so
+%else
%attr(755,root,root) %{_libdir}/libEGL.so
+%endif
%dir %{_includedir}/EGL
%{_includedir}/EGL/egl.h
%{_includedir}/EGL/eglext.h
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/xorg/modules/dri/radeonsi_dri.so
%endif
+%endif
%files dri-driver-intel-i915
%defattr(644,root,root,755)