From c98b5b27e4ec55dc9a37b47a16e0b201ea7353b6 Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Tue, 19 Jul 2016 13:36:24 -0600 Subject: [PATCH 01/10] Add missing %{?_isa} to requires in some devel sub-packages (bug #1138463) --- mesa.spec | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/mesa.spec b/mesa.spec index 21d65cb..9c7c446 100644 --- a/mesa.spec +++ b/mesa.spec @@ -55,7 +55,7 @@ Summary: Mesa graphics libraries Name: mesa Version: 12.0.1 -Release: 1%{?rctag:.%{rctag}}%{?dist} +Release: 2%{?rctag:.%{rctag}}%{?dist} License: MIT URL: http://www.mesa3d.org @@ -194,7 +194,7 @@ Mesa-based VDPAU drivers. %package libGL-devel Summary: Mesa libGL development package Group: Development/Libraries -Requires: mesa-libGL = %{version}-%{release} +Requires: mesa-libGL%{?_isa} = %{version}-%{release} Requires: gl-manpages Provides: libGL-devel @@ -204,7 +204,7 @@ Mesa libGL development package %package libEGL-devel Summary: Mesa libEGL development package Group: Development/Libraries -Requires: mesa-libEGL = %{version}-%{release} +Requires: mesa-libEGL%{?_isa} = %{version}-%{release} Provides: khrplatform-devel = %{version}-%{release} Obsoletes: khrplatform-devel < %{version}-%{release} @@ -214,7 +214,7 @@ Mesa libEGL development package %package libGLES-devel Summary: Mesa libGLES development package Group: Development/Libraries -Requires: mesa-libGLES = %{version}-%{release} +Requires: mesa-libGLES%{?_isa} = %{version}-%{release} %description libGLES-devel Mesa libGLES development package @@ -232,7 +232,7 @@ Mesa offscreen rendering libraries %package libOSMesa-devel Summary: Mesa offscreen rendering development package Group: Development/Libraries -Requires: mesa-libOSMesa = %{version}-%{release} +Requires: mesa-libOSMesa%{?_isa} = %{version}-%{release} %description libOSMesa-devel Mesa offscreen rendering development package @@ -670,6 +670,9 @@ popd %endif %changelog +* Tue Jul 19 2016 Orion Poplawski - 12.0.1-2 +- Add missing %%{?_isa} to requires in some devel sub-packages (bug #1138463) + * Sun Jul 10 2016 Igor Gnatenko - 12.0.1-1 - 12.0.1 From 9094cdac8789405e9f1d1c24e56371240a1b7be1 Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Sun, 14 Aug 2016 13:01:59 +0200 Subject: [PATCH 02/10] Slightly refactor spec; Drop virtual provides for OCL Signed-off-by: Igor Gnatenko --- mesa.spec | 646 +++++++++++++++++++++++++----------------------------- 1 file changed, 299 insertions(+), 347 deletions(-) diff --git a/mesa.spec b/mesa.spec index 9c7c446..bdca6ec 100644 --- a/mesa.spec +++ b/mesa.spec @@ -1,12 +1,4 @@ -%{!?_licensedir:%global license %%doc} - -%if 0%{?rhel} -%define with_private_llvm 1 -%define with_wayland 0 -%else -%define with_private_llvm 0 -%define with_wayland 1 -%endif +%bcond_without wayland # S390 doesn't have video cards, but we need swrast for xserver's GLX # llvm (and thus llvmpipe) doesn't actually work on ppc32 @@ -14,7 +6,6 @@ %define with_llvm 1 %endif -%define min_wayland_version 1.0 %if 0%{?with_llvm} %define with_radeonsi 1 %endif @@ -52,66 +43,64 @@ #global rctag rc4 -Summary: Mesa graphics libraries -Name: mesa -Version: 12.0.1 -Release: 2%{?rctag:.%{rctag}}%{?dist} -License: MIT -URL: http://www.mesa3d.org - -Source0: https://mesa.freedesktop.org/archive/%{version}/%{name}-%{version}%{?rctag:-%{rctag}}.tar.xz -Source1: vl_decoder.c -Source2: vl_mpeg12_decoder.c +Name: mesa +Summary: Mesa graphics libraries +Version: 12.0.1 +Release: 3%{?rctag:.%{rctag}}%{?dist} +License: MIT +URL: http://www.mesa3d.org +Source0: https://mesa.freedesktop.org/archive/%{version}/%{name}-%{version}%{?rctag:-%{rctag}}.tar.xz +Source1: vl_decoder.c +Source2: vl_mpeg12_decoder.c # src/gallium/auxiliary/postprocess/pp_mlaa* have an ... interestingly worded license. # Source4 contains email correspondence clarifying the license terms. # Fedora opts to ignore the optional part of clause 2 and treat that code as 2 clause BSD. -Source3: Mesa-MLAA-License-Clarification-Email.txt +Source3: Mesa-MLAA-License-Clarification-Email.txt -Patch1: 0001-llvm-SONAME-without-version.patch -Patch2: 0002-hardware-gloat.patch -Patch3: 0003-evergreen-big-endian.patch -Patch4: 0004-bigendian-assert.patch +Patch1: 0001-llvm-SONAME-without-version.patch +Patch2: 0002-hardware-gloat.patch +Patch3: 0003-evergreen-big-endian.patch +Patch4: 0004-bigendian-assert.patch + +BuildRequires: gcc +BuildRequires: gcc-c++ +BuildRequires: automake +BuildRequires: autoconf +BuildRequires: libtool -BuildRequires: automake -BuildRequires: autoconf -BuildRequires: libtool %if %{with_hardware} -BuildRequires: kernel-headers -BuildRequires: xorg-x11-server-devel +BuildRequires: kernel-headers +BuildRequires: xorg-x11-server-devel %endif -BuildRequires: libdrm-devel >= 2.4.42 -BuildRequires: libXxf86vm-devel -BuildRequires: expat-devel -BuildRequires: xorg-x11-proto-devel -BuildRequires: makedepend -BuildRequires: libselinux-devel -BuildRequires: libXext-devel -BuildRequires: libXfixes-devel -BuildRequires: libXdamage-devel -BuildRequires: libXi-devel -BuildRequires: libXmu-devel -BuildRequires: libxshmfence-devel -BuildRequires: elfutils -BuildRequires: python -BuildRequires: gettext +BuildRequires: libdrm-devel >= 2.4.42 +BuildRequires: libXxf86vm-devel +BuildRequires: expat-devel +BuildRequires: xorg-x11-proto-devel +BuildRequires: makedepend +BuildRequires: libselinux-devel +BuildRequires: libXext-devel +BuildRequires: libXfixes-devel +BuildRequires: libXdamage-devel +BuildRequires: libXi-devel +BuildRequires: libXmu-devel +BuildRequires: libxshmfence-devel +BuildRequires: elfutils +BuildRequires: python +BuildRequires: gettext %if 0%{?with_llvm} -%if 0%{?with_private_llvm} -BuildRequires: mesa-private-llvm-devel -%else BuildRequires: llvm-devel >= 3.4-7 %if 0%{?with_opencl} BuildRequires: clang-devel >= 3.0 %endif %endif -%endif BuildRequires: elfutils-libelf-devel BuildRequires: libxml2-python BuildRequires: libudev-devel BuildRequires: bison flex -%if 0%{?with_wayland} -BuildRequires: pkgconfig(wayland-client) >= %{min_wayland_version} -BuildRequires: pkgconfig(wayland-server) >= %{min_wayland_version} +%if %{with wayland} +BuildRequires: pkgconfig(wayland-client) +BuildRequires: pkgconfig(wayland-server) %endif BuildRequires: mesa-libGL-devel %if 0%{?with_vdpau} @@ -131,216 +120,205 @@ BuildRequires: python-mako BuildRequires: libstdc++-static %description -Mesa - -%package libGL -Summary: Mesa libGL runtime libraries and DRI drivers -Group: System Environment/Libraries -Provides: libGL - -%description libGL -Mesa libGL runtime library. - -%package libEGL -Summary: Mesa libEGL runtime libraries -Group: System Environment/Libraries - -%description libEGL -Mesa libEGL runtime libraries - -%package libGLES -Summary: Mesa libGLES runtime libraries -Group: System Environment/Libraries - -%description libGLES -Mesa GLES runtime libraries +%{summary}. %package filesystem -Summary: Mesa driver filesystem -Group: User Interface/X Hardware Support -Provides: mesa-dri-filesystem = %{version}-%{release} -Obsoletes: mesa-dri-filesystem < %{version}-%{release} +Summary: Mesa driver filesystem +Provides: mesa-dri-filesystem = %{?epoch:%{epoch}}%{version}-%{release} +Obsoletes: mesa-dri-filesystem < %{?epoch:%{epoch}}%{version}-%{release} + %description filesystem -Mesa driver filesystem +%{summary}. + +%package libGL +Summary: Mesa libGL runtime libraries +Requires: %{name}-glapi%{?_isa} = %{?epoch:%{epoch}}%{version}-%{release} +Provides: libGL +Provides: libGL%{?_isa} + +%description libGL +%{summary}. + +%package libGL-devel +Summary: Mesa libGL development package +Requires: %{name}-libGL%{?_isa} = %{?epoch:%{epoch}}%{version}-%{release} +Provides: libGL-devel +Provides: libGL-devel%{?_isa} + +%description libGL-devel +%{summary}. + +%package libEGL +Summary: Mesa libEGL runtime libraries +Provides: libEGL +Provides: libEGL%{?_isa} + +%description libEGL +%{summary}. + +%package libEGL-devel +Summary: Mesa libEGL development package +Requires: %{name}-libEGL%{?_isa} = %{?epoch:%{epoch}}%{version}-%{release} +Provides: libEGL-devel +Provides: libEGL-devel%{?_isa} + +%description libEGL-devel +%{summary}. + +%package libGLES +Summary: Mesa libGLES runtime libraries +Requires: %{name}-glapi%{?_isa} = %{?epoch:%{epoch}}%{version}-%{release} +Provides: libGLES +Provides: libGLES%{?_isa} + +%description libGLES +%{summary}. + +%package libGLES-devel +Summary: Mesa libGLES development package +Requires: %{name}-libGLES%{?_isa} = %{?epoch:%{epoch}}%{version}-%{release} +Provides: libGLES-devel +Provides: libGLES-devel%{?_isa} + +%description libGLES-devel +%{summary}. %package dri-drivers -Summary: Mesa-based DRI drivers -Group: User Interface/X Hardware Support -Requires: mesa-filesystem%{?_isa} -Obsoletes: mesa-dri-drivers-dri1 < 7.12 -Obsoletes: mesa-dri-llvmcore <= 7.12 +Summary: Mesa-based DRI drivers +Requires: %{name}-filesystem%{?_isa} = %{?epoch:%{epoch}}%{version}-%{release} + %description dri-drivers -Mesa-based DRI drivers. +%{summary}. %if 0%{?with_omx} %package omx-drivers -Summary: Mesa-based OMX drivers -Group: User Interface/X Hardware Support -Requires: mesa-filesystem%{?_isa} -Requires: libomxil-bellagio%{?_isa} +Summary: Mesa-based OMX drivers +Requires: %{name}-filesystem%{?_isa} = %{?epoch:%{epoch}}%{version}-%{release} + %description omx-drivers -Mesa-based OMX drivers. +%{summary}. %endif %if 0%{?with_vdpau} -%package vdpau-drivers -Summary: Mesa-based DRI drivers -Group: User Interface/X Hardware Support -Requires: mesa-filesystem%{?_isa} +%package vdpau-drivers +Summary: Mesa-based VDPAU drivers +Requires: %{name}-filesystem%{?_isa} = %{?epoch:%{epoch}}%{version}-%{release} + %description vdpau-drivers -Mesa-based VDPAU drivers. +%{summary}. %endif -%package libGL-devel -Summary: Mesa libGL development package -Group: Development/Libraries -Requires: mesa-libGL%{?_isa} = %{version}-%{release} -Requires: gl-manpages -Provides: libGL-devel - -%description libGL-devel -Mesa libGL development package - -%package libEGL-devel -Summary: Mesa libEGL development package -Group: Development/Libraries -Requires: mesa-libEGL%{?_isa} = %{version}-%{release} -Provides: khrplatform-devel = %{version}-%{release} -Obsoletes: khrplatform-devel < %{version}-%{release} - -%description libEGL-devel -Mesa libEGL development package - -%package libGLES-devel -Summary: Mesa libGLES development package -Group: Development/Libraries -Requires: mesa-libGLES%{?_isa} = %{version}-%{release} - -%description libGLES-devel -Mesa libGLES development package - - %package libOSMesa -Summary: Mesa offscreen rendering libraries -Group: System Environment/Libraries -Provides: libOSMesa +Summary: Mesa offscreen rendering libraries +Requires: %{name}-glapi%{?_isa} = %{?epoch:%{epoch}}%{version}-%{release} +Provides: libOSMesa +Provides: libOSMesa%{?_isa} %description libOSMesa -Mesa offscreen rendering libraries - +%{summary}. %package libOSMesa-devel -Summary: Mesa offscreen rendering development package -Group: Development/Libraries -Requires: mesa-libOSMesa%{?_isa} = %{version}-%{release} +Summary: Mesa offscreen rendering development package +Requires: %{name}-libOSMesa%{?_isa} = %{?epoch:%{epoch}}%{version}-%{release} %description libOSMesa-devel -Mesa offscreen rendering development package - +%{summary}. %package libgbm -Summary: Mesa gbm library -Group: System Environment/Libraries -Provides: libgbm +Summary: Mesa gbm runtime library +Provides: libgbm +Provides: libgbm%{?_isa} %description libgbm -Mesa gbm runtime library. - +%{summary}. %package libgbm-devel -Summary: Mesa libgbm development package -Group: Development/Libraries -Requires: mesa-libgbm%{?_isa} = %{version}-%{release} -Provides: libgbm-devel +Summary: Mesa libgbm development package +Requires: %{name}-libgbm%{?_isa} = %{?epoch:%{epoch}}%{version}-%{release} +Provides: libgbm-devel +Provides: libgbm-devel%{?_isa} %description libgbm-devel -Mesa libgbm development package +%{summary}. - -%if 0%{?with_wayland} +%if %{with wayland} %package libwayland-egl -Summary: Mesa libwayland-egl library -Group: System Environment/Libraries -Provides: libwayland-egl +Summary: Mesa libwayland-egl runtime library +Provides: libwayland-egl +Provides: libwayland-egl%{?_isa} %description libwayland-egl -Mesa libwayland-egl runtime library. - +%{summary}. %package libwayland-egl-devel -Summary: Mesa libwayland-egl development package -Group: Development/Libraries -Requires: mesa-libwayland-egl%{?_isa} = %{version}-%{release} -Provides: libwayland-egl-devel +Summary: Mesa libwayland-egl development package +Requires: %{name}-libwayland-egl%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} +Provides: libwayland-egl-devel +Provides: libwayland-egl-devel%{?_isa} %description libwayland-egl-devel -Mesa libwayland-egl development package +%{summary}. %endif - %if 0%{?with_xa} %package libxatracker -Summary: Mesa XA state tracker -Group: System Environment/Libraries -Provides: libxatracker +Summary: Mesa XA state tracker +Provides: libxatracker +Provides: libxatracker%{?_isa} %description libxatracker -Mesa XA state tracker +%{summary}. %package libxatracker-devel -Summary: Mesa XA state tracker development package -Group: Development/Libraries -Requires: mesa-libxatracker%{?_isa} = %{version}-%{release} -Provides: libxatracker-devel +Summary: Mesa XA state tracker development package +Requires: %{name}-libxatracker%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} +Provides: libxatracker-devel +Provides: libxatracker-devel%{?_isa} %description libxatracker-devel -Mesa XA state tracker development package +%{summary}. %endif %package libglapi -Summary: Mesa shared glapi -Group: System Environment/Libraries +Summary: Mesa shared glapi +Provides: libglapi +Provides: libglapi%{?_isa} %description libglapi -Mesa shared glapi - +%{summary}. %if 0%{?with_opencl} %package libOpenCL -Summary: Mesa OpenCL runtime library -Requires: ocl-icd -Requires: libclc -Requires: mesa-libgbm = %{version}-%{release} -Requires: opencl-filesystem - -# Virtual Provides for ocl-icd (RHBZ #1317602) -Provides: opencl-icd -Provides: opencl-icd%{?_isa} +Summary: Mesa OpenCL runtime library +Requires: ocl-icd%{?_isa} +Requires: libclc%{?_isa} +Requires: %{name}-libgbm%{?_isa} = %{?epoch:%{epoch}}%{version}-%{release} +Requires: opencl-filesystem%{?_isa} = %{?epoch:%{epoch}}%{version}-%{release} %description libOpenCL -Mesa OpenCL runtime library. +%{summary}. %package libOpenCL-devel -Summary: Mesa OpenCL development package -Requires: mesa-libOpenCL%{?_isa} = %{version}-%{release} +Summary: Mesa OpenCL development package +Requires: %{name}-libOpenCL%{?_isa} = %{?epoch:%{epoch}}%{version}-%{release} %description libOpenCL-devel -Mesa OpenCL development package. +%{summary}. %endif %if 0%{?with_nine} %package libd3d -Summary: Mesa Direct3D9 state tracker +Summary: Mesa Direct3D9 state tracker %description libd3d -Mesa Direct3D9 state tracker +%{summary}. %package libd3d-devel -Summary: Mesa Direct3D9 state tracker development package -Requires: mesa-libd3d%{?_isa} = %{version}-%{release} +Summary: Mesa Direct3D9 state tracker development package +Requires: %{name}-libd3d%{?_isa} = %{?epoch:%{epoch}}%{version}-%{release} %description libd3d-devel -Mesa Direct3D9 state tracker development package +%{summary}. %endif %prep @@ -350,11 +328,6 @@ Mesa Direct3D9 state tracker development package cp -f %{SOURCE2} src/gallium/auxiliary/vl/vl_mpeg12_decoder.c %endif -%if 0%{with_private_llvm} -sed -i 's/llvm-config/mesa-private-llvm-config-%{__isa_bits}/g' configure.ac -sed -i 's/`$LLVM_CONFIG --version`/&-mesa/' configure.ac -%endif - cp %{SOURCE3} docs/ %build @@ -414,11 +387,6 @@ sed -i 's/^postdeps=.*$/#&/' libtool %install %make_install -%if 0%{?rhel} -# remove pre-DX9 drivers -rm -f %{buildroot}%{_libdir}/dri/{radeon,r200,nouveau_vieux}_dri.* -%endif - %if !%{with_hardware} rm -f %{buildroot}%{_sysconfdir}/drirc %endif @@ -441,47 +409,6 @@ done eu-readelf -d mesa_dri_drivers.so | grep -q libstdc && exit 1 popd -%post libGL -p /sbin/ldconfig -%postun libGL -p /sbin/ldconfig -%post libOSMesa -p /sbin/ldconfig -%postun libOSMesa -p /sbin/ldconfig -%post libEGL -p /sbin/ldconfig -%postun libEGL -p /sbin/ldconfig -%post libGLES -p /sbin/ldconfig -%postun libGLES -p /sbin/ldconfig -%post libglapi -p /sbin/ldconfig -%postun libglapi -p /sbin/ldconfig -%post libgbm -p /sbin/ldconfig -%postun libgbm -p /sbin/ldconfig -%if 0%{?with_wayland} -%post libwayland-egl -p /sbin/ldconfig -%postun libwayland-egl -p /sbin/ldconfig -%endif -%if 0%{?with_xa} -%post libxatracker -p /sbin/ldconfig -%postun libxatracker -p /sbin/ldconfig -%endif -%if 0%{?with_opencl} -%post libOpenCL -p /sbin/ldconfig -%postun libOpenCL -p /sbin/ldconfig -%endif -%if 0%{?with_nine} -%post libd3d -p /sbin/ldconfig -%postun libd3d -p /sbin/ldconfig -%endif - -%files libGL -%{_libdir}/libGL.so.1 -%{_libdir}/libGL.so.1.* - -%files libEGL -%{_libdir}/libEGL.so.1 -%{_libdir}/libEGL.so.1.* - -%files libGLES -%{_libdir}/libGLESv2.so.2 -%{_libdir}/libGLESv2.so.2.* - %files filesystem %doc docs/Mesa-MLAA-License-Clarification-Email.txt %dir %{_libdir}/dri @@ -491,18 +418,144 @@ popd %endif %endif +%post libGL -p /sbin/ldconfig +%postun libGL -p /sbin/ldconfig +%files libGL +%{_libdir}/libGL.so.1 +%{_libdir}/libGL.so.1.* +%files libGL-devel +%{_includedir}/GL/gl.h +%{_includedir}/GL/gl_mangle.h +%{_includedir}/GL/glext.h +%{_includedir}/GL/glx.h +%{_includedir}/GL/glx_mangle.h +%{_includedir}/GL/glxext.h +%{_includedir}/GL/glcorearb.h +%{_includedir}/GL/mesa_glinterop.h +%dir %{_includedir}/GL/internal +%{_includedir}/GL/internal/dri_interface.h +%{_libdir}/pkgconfig/dri.pc +%{_libdir}/libGL.so +%{_libdir}/libglapi.so +%{_libdir}/pkgconfig/gl.pc + +%post libEGL -p /sbin/ldconfig +%postun libEGL -p /sbin/ldconfig +%files libEGL +%{_libdir}/libEGL.so.1 +%{_libdir}/libEGL.so.1.* +%files libEGL-devel +%dir %{_includedir}/EGL +%{_includedir}/EGL/eglext.h +%{_includedir}/EGL/egl.h +%{_includedir}/EGL/eglmesaext.h +%{_includedir}/EGL/eglplatform.h +%{_includedir}/EGL/eglextchromium.h +%dir %{_includedir}/KHR +%{_includedir}/KHR/khrplatform.h +%{_libdir}/pkgconfig/egl.pc +%{_libdir}/libEGL.so + +%post libGLES -p /sbin/ldconfig +%postun libGLES -p /sbin/ldconfig +%files libGLES +%{_libdir}/libGLESv2.so.2 +%{_libdir}/libGLESv2.so.2.* +%files libGLES-devel +%dir %{_includedir}/GLES2 +%{_includedir}/GLES2/gl2platform.h +%{_includedir}/GLES2/gl2.h +%{_includedir}/GLES2/gl2ext.h +%{_includedir}/GLES3/gl3platform.h +%{_includedir}/GLES3/gl3.h +%{_includedir}/GLES3/gl3ext.h +%{_includedir}/GLES3/gl31.h +%{_libdir}/pkgconfig/glesv2.pc +%{_libdir}/libGLESv2.so + +%post libglapi -p /sbin/ldconfig +%postun libglapi -p /sbin/ldconfig %files libglapi %{_libdir}/libglapi.so.0 %{_libdir}/libglapi.so.0.* +%post libOSMesa -p /sbin/ldconfig +%postun libOSMesa -p /sbin/ldconfig +%files libOSMesa +%{_libdir}/libOSMesa.so.8* +%files libOSMesa-devel +%dir %{_includedir}/GL +%{_includedir}/GL/osmesa.h +%{_libdir}/libOSMesa.so +%{_libdir}/pkgconfig/osmesa.pc + +%post libgbm -p /sbin/ldconfig +%postun libgbm -p /sbin/ldconfig +%files libgbm +%{_libdir}/libgbm.so.1 +%{_libdir}/libgbm.so.1.* +%files libgbm-devel +%{_libdir}/libgbm.so +%{_includedir}/gbm.h +%{_libdir}/pkgconfig/gbm.pc + +%if %{with wayland} +%post libwayland-egl -p /sbin/ldconfig +%postun libwayland-egl -p /sbin/ldconfig +%files libwayland-egl +%{_libdir}/libwayland-egl.so.1 +%{_libdir}/libwayland-egl.so.1.* +%files libwayland-egl-devel +%{_libdir}/libwayland-egl.so +%{_libdir}/pkgconfig/wayland-egl.pc +%endif + +%if 0%{?with_xa} +%post libxatracker -p /sbin/ldconfig +%postun libxatracker -p /sbin/ldconfig +%files libxatracker +%if %{with_hardware} +%{_libdir}/libxatracker.so.2 +%{_libdir}/libxatracker.so.2.* +%endif + +%files libxatracker-devel +%if %{with_hardware} +%{_libdir}/libxatracker.so +%{_includedir}/xa_tracker.h +%{_includedir}/xa_composite.h +%{_includedir}/xa_context.h +%{_libdir}/pkgconfig/xatracker.pc +%endif +%endif + +%if 0%{?with_opencl} +%post libOpenCL -p /sbin/ldconfig +%postun libOpenCL -p /sbin/ldconfig +%files libOpenCL +%{_libdir}/libMesaOpenCL.so.* +%{_sysconfdir}/OpenCL/vendors/mesa.icd +%files libOpenCL-devel +%{_libdir}/libMesaOpenCL.so +%endif + +%if 0%{?with_nine} +%files libd3d +%dir %{_libdir}/d3d/ +%{_libdir}/d3d/*.so.* + +%files libd3d-devel +%{_libdir}/pkgconfig/d3d.pc +%{_includedir}/d3dadapter/ +%{_libdir}/d3d/*.so +%endif + %files dri-drivers %if %{with_hardware} %config(noreplace) %{_sysconfdir}/drirc -%if !0%{?rhel} %{_libdir}/dri/radeon_dri.so %{_libdir}/dri/r200_dri.so %{_libdir}/dri/nouveau_vieux_dri.so -%endif %{_libdir}/dri/r300_dri.so %if 0%{?with_llvm} %{_libdir}/dri/r600_dri.so @@ -564,112 +617,11 @@ popd %endif %endif -%files libGL-devel -%{_includedir}/GL/gl.h -%{_includedir}/GL/gl_mangle.h -%{_includedir}/GL/glext.h -%{_includedir}/GL/glx.h -%{_includedir}/GL/glx_mangle.h -%{_includedir}/GL/glxext.h -%{_includedir}/GL/glcorearb.h -%{_includedir}/GL/mesa_glinterop.h -%dir %{_includedir}/GL/internal -%{_includedir}/GL/internal/dri_interface.h -%{_libdir}/pkgconfig/dri.pc -%{_libdir}/libGL.so -%{_libdir}/libglapi.so -%{_libdir}/pkgconfig/gl.pc - -%files libEGL-devel -%dir %{_includedir}/EGL -%{_includedir}/EGL/eglext.h -%{_includedir}/EGL/egl.h -%{_includedir}/EGL/eglmesaext.h -%{_includedir}/EGL/eglplatform.h -%{_includedir}/EGL/eglextchromium.h -%dir %{_includedir}/KHR -%{_includedir}/KHR/khrplatform.h -%{_libdir}/pkgconfig/egl.pc -%{_libdir}/libEGL.so - -%files libGLES-devel -%dir %{_includedir}/GLES2 -%{_includedir}/GLES2/gl2platform.h -%{_includedir}/GLES2/gl2.h -%{_includedir}/GLES2/gl2ext.h -%{_includedir}/GLES3/gl3platform.h -%{_includedir}/GLES3/gl3.h -%{_includedir}/GLES3/gl3ext.h -%{_includedir}/GLES3/gl31.h -%{_libdir}/pkgconfig/glesv2.pc -%{_libdir}/libGLESv2.so - -%files libOSMesa -%{_libdir}/libOSMesa.so.8* - -%files libOSMesa-devel -%dir %{_includedir}/GL -%{_includedir}/GL/osmesa.h -%{_libdir}/libOSMesa.so -%{_libdir}/pkgconfig/osmesa.pc - -%files libgbm -%{_libdir}/libgbm.so.1 -%{_libdir}/libgbm.so.1.* - -%files libgbm-devel -%{_libdir}/libgbm.so -%{_includedir}/gbm.h -%{_libdir}/pkgconfig/gbm.pc - -%if 0%{?with_wayland} -%files libwayland-egl -%{_libdir}/libwayland-egl.so.1 -%{_libdir}/libwayland-egl.so.1.* - -%files libwayland-egl-devel -%{_libdir}/libwayland-egl.so -%{_libdir}/pkgconfig/wayland-egl.pc -%endif - -%if 0%{?with_xa} -%files libxatracker -%if %{with_hardware} -%{_libdir}/libxatracker.so.2 -%{_libdir}/libxatracker.so.2.* -%endif - -%files libxatracker-devel -%if %{with_hardware} -%{_libdir}/libxatracker.so -%{_includedir}/xa_tracker.h -%{_includedir}/xa_composite.h -%{_includedir}/xa_context.h -%{_libdir}/pkgconfig/xatracker.pc -%endif -%endif - -%if 0%{?with_opencl} -%files libOpenCL -%{_libdir}/libMesaOpenCL.so.* -%{_sysconfdir}/OpenCL/vendors/mesa.icd - -%files libOpenCL-devel -%{_libdir}/libMesaOpenCL.so -%endif - -%if 0%{?with_nine} -%files libd3d -%dir %{_libdir}/d3d/ -%{_libdir}/d3d/*.so.* - -%files libd3d-devel -%{_libdir}/pkgconfig/d3d.pc -%{_includedir}/d3dadapter/ -%{_libdir}/d3d/*.so -%endif - %changelog +* Sun Aug 14 2016 Igor Gnatenko - 12.0.1-3 +- Slightly refactor spec +- Drop virtual provides for OCL + * Tue Jul 19 2016 Orion Poplawski - 12.0.1-2 - Add missing %%{?_isa} to requires in some devel sub-packages (bug #1138463) From c8be0f7e6333596ce911d005fc51c58b67427749 Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Sun, 14 Aug 2016 13:23:19 +0200 Subject: [PATCH 03/10] fix typo in requires Signed-off-by: Igor Gnatenko --- mesa.spec | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/mesa.spec b/mesa.spec index bdca6ec..04ad8d7 100644 --- a/mesa.spec +++ b/mesa.spec @@ -132,7 +132,7 @@ Obsoletes: mesa-dri-filesystem < %{?epoch:%{epoch}}%{version}-%{release} %package libGL Summary: Mesa libGL runtime libraries -Requires: %{name}-glapi%{?_isa} = %{?epoch:%{epoch}}%{version}-%{release} +Requires: %{name}-libglapi%{?_isa} = %{?epoch:%{epoch}}%{version}-%{release} Provides: libGL Provides: libGL%{?_isa} @@ -167,7 +167,7 @@ Provides: libEGL-devel%{?_isa} %package libGLES Summary: Mesa libGLES runtime libraries -Requires: %{name}-glapi%{?_isa} = %{?epoch:%{epoch}}%{version}-%{release} +Requires: %{name}-libglapi%{?_isa} = %{?epoch:%{epoch}}%{version}-%{release} Provides: libGLES Provides: libGLES%{?_isa} @@ -210,7 +210,7 @@ Requires: %{name}-filesystem%{?_isa} = %{?epoch:%{epoch}}%{version}-%{rele %package libOSMesa Summary: Mesa offscreen rendering libraries -Requires: %{name}-glapi%{?_isa} = %{?epoch:%{epoch}}%{version}-%{release} +Requires: %{name}-libglapi%{?_isa} = %{?epoch:%{epoch}}%{version}-%{release} Provides: libOSMesa Provides: libOSMesa%{?_isa} From 5943794afecf0761745c74a3506e341873ea79f1 Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Sun, 14 Aug 2016 14:31:12 +0200 Subject: [PATCH 04/10] Fix broken deps Signed-off-by: Igor Gnatenko --- mesa.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/mesa.spec b/mesa.spec index 04ad8d7..74e62c8 100644 --- a/mesa.spec +++ b/mesa.spec @@ -46,7 +46,7 @@ Name: mesa Summary: Mesa graphics libraries Version: 12.0.1 -Release: 3%{?rctag:.%{rctag}}%{?dist} +Release: 4%{?rctag:.%{rctag}}%{?dist} License: MIT URL: http://www.mesa3d.org @@ -618,6 +618,9 @@ popd %endif %changelog +* Sun Aug 14 2016 Igor Gnatenko - 12.0.1-4 +- Fix broken deps + * Sun Aug 14 2016 Igor Gnatenko - 12.0.1-3 - Slightly refactor spec - Drop virtual provides for OCL From 9d6575e4880554796391139db8ac1409fdbd89c9 Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Sun, 14 Aug 2016 14:38:35 +0200 Subject: [PATCH 05/10] remove ciruclar dep Signed-off-by: Igor Gnatenko --- mesa.spec | 1 - 1 file changed, 1 deletion(-) diff --git a/mesa.spec b/mesa.spec index 74e62c8..36aa2fb 100644 --- a/mesa.spec +++ b/mesa.spec @@ -102,7 +102,6 @@ BuildRequires: bison flex BuildRequires: pkgconfig(wayland-client) BuildRequires: pkgconfig(wayland-server) %endif -BuildRequires: mesa-libGL-devel %if 0%{?with_vdpau} BuildRequires: libvdpau-devel %endif From 07210b55a997ab6526b9ecbe35dddf68d2509326 Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Mon, 15 Aug 2016 20:50:42 +0200 Subject: [PATCH 06/10] Fix broken deps with OpenCL Signed-off-by: Igor Gnatenko --- mesa.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/mesa.spec b/mesa.spec index 36aa2fb..9385cb8 100644 --- a/mesa.spec +++ b/mesa.spec @@ -46,7 +46,7 @@ Name: mesa Summary: Mesa graphics libraries Version: 12.0.1 -Release: 4%{?rctag:.%{rctag}}%{?dist} +Release: 5%{?rctag:.%{rctag}}%{?dist} License: MIT URL: http://www.mesa3d.org @@ -292,7 +292,7 @@ Summary: Mesa OpenCL runtime library Requires: ocl-icd%{?_isa} Requires: libclc%{?_isa} Requires: %{name}-libgbm%{?_isa} = %{?epoch:%{epoch}}%{version}-%{release} -Requires: opencl-filesystem%{?_isa} = %{?epoch:%{epoch}}%{version}-%{release} +Requires: opencl-filesystem %description libOpenCL %{summary}. @@ -617,6 +617,9 @@ popd %endif %changelog +* Mon Aug 15 2016 Igor Gnatenko - 12.0.1-5 +- Fix broken deps with OpenCL + * Sun Aug 14 2016 Igor Gnatenko - 12.0.1-4 - Fix broken deps From a6ffbb94925ba9a0783a886954340720e8549b25 Mon Sep 17 00:00:00 2001 From: Adam Jackson Date: Tue, 23 Aug 2016 12:34:24 -0400 Subject: [PATCH 07/10] Remove BuildRequires: xorg-x11-server-devel This doesn't seem to have ever been _really_ needed? This would build something vaguely like the modesetting X driver but targetting exa instead of glamor. I don't think we've ever built that driver from mesa.spec; we used to build xorg-x11-drv-vmware from here, back in the 7.11 era, but that's long since been split apart. The upstream code and dependency on xorg-server.pc has been gone since: commit 69b425efae189af6068b28d1da5a93d27c5315a7 Author: Matt Turner Date: Sat Oct 26 17:25:11 2013 -0700 st/xorg: Delete. So that's nice, because it eliminates a nasty bootstrap issue where xorg-x11-server-devel requires mesa-libGL-devel. --- mesa.spec | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/mesa.spec b/mesa.spec index 9385cb8..51eb6b7 100644 --- a/mesa.spec +++ b/mesa.spec @@ -46,7 +46,7 @@ Name: mesa Summary: Mesa graphics libraries Version: 12.0.1 -Release: 5%{?rctag:.%{rctag}}%{?dist} +Release: 6%{?rctag:.%{rctag}}%{?dist} License: MIT URL: http://www.mesa3d.org @@ -71,7 +71,6 @@ BuildRequires: libtool %if %{with_hardware} BuildRequires: kernel-headers -BuildRequires: xorg-x11-server-devel %endif BuildRequires: libdrm-devel >= 2.4.42 BuildRequires: libXxf86vm-devel @@ -617,6 +616,9 @@ popd %endif %changelog +* Tue Aug 23 2016 Adam Jackson - 12.0.1-6 +- Remove BuildRequires: xorg-x11-server-devel + * Mon Aug 15 2016 Igor Gnatenko - 12.0.1-5 - Fix broken deps with OpenCL From 86cda8686566ffa0e89b0a2b504d52fdf277c3a0 Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Thu, 25 Aug 2016 19:43:43 +0200 Subject: [PATCH 08/10] own /usr/include/GLES3 https://bugzilla.redhat.com/show_bug.cgi?id=1252588 Signed-off-by: Igor Gnatenko --- mesa.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/mesa.spec b/mesa.spec index 51eb6b7..2f0c31a 100644 --- a/mesa.spec +++ b/mesa.spec @@ -464,6 +464,7 @@ popd %{_includedir}/GLES2/gl2platform.h %{_includedir}/GLES2/gl2.h %{_includedir}/GLES2/gl2ext.h +%dir %{_includedir}/GLES3 %{_includedir}/GLES3/gl3platform.h %{_includedir}/GLES3/gl3.h %{_includedir}/GLES3/gl3ext.h From 1d4ebbf9ec2edb234e7d836550f7a668d28dcccf Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Mon, 5 Sep 2016 15:28:25 +0200 Subject: [PATCH 09/10] Fix PRIME fd leak --- ...ix-fd-leak-when-instantiated-via-pip.patch | 62 +++++++++++++++++++ mesa.spec | 8 ++- 2 files changed, 69 insertions(+), 1 deletion(-) create mode 100644 0001-pipe_loader_sw-Fix-fd-leak-when-instantiated-via-pip.patch diff --git a/0001-pipe_loader_sw-Fix-fd-leak-when-instantiated-via-pip.patch b/0001-pipe_loader_sw-Fix-fd-leak-when-instantiated-via-pip.patch new file mode 100644 index 0000000..65b5ff9 --- /dev/null +++ b/0001-pipe_loader_sw-Fix-fd-leak-when-instantiated-via-pip.patch @@ -0,0 +1,62 @@ +From fdf04a5d9410265353e5deb76240896e54d7317f Mon Sep 17 00:00:00 2001 +From: Hans de Goede +Date: Sat, 7 May 2016 14:43:59 +0200 +Subject: [PATCH v2] pipe_loader_sw: Fix fd leak when instantiated via + pipe_loader_sw_probe_kms + +Make pipe_loader_sw_probe_kms take ownership of the passed in fd, +like pipe_loader_drm_probe_fd does. + +The only caller is dri_kms_init_screen which passes in a dupped fd, +just like dri2_init_screen passes in a dupped fd to +pipe_loader_drm_probe_fd. + +Signed-off-by: Hans de Goede +Reviewed-by: Emil Velikov +(cherry picked from commit 459cc94507071eec18b746f57a4ec82578a38b54) +--- + src/gallium/auxiliary/pipe-loader/pipe_loader_sw.c | 7 +++++++ + 1 file changed, 7 insertions(+) + +diff --git a/src/gallium/auxiliary/pipe-loader/pipe_loader_sw.c b/src/gallium/auxiliary/pipe-loader/pipe_loader_sw.c +index c8e1f13..e7fa974 100644 +--- a/src/gallium/auxiliary/pipe-loader/pipe_loader_sw.c ++++ b/src/gallium/auxiliary/pipe-loader/pipe_loader_sw.c +@@ -45,6 +45,7 @@ struct pipe_loader_sw_device { + struct util_dl_library *lib; + #endif + struct sw_winsys *ws; ++ int fd; + }; + + #define pipe_loader_sw_device(dev) ((struct pipe_loader_sw_device *)dev) +@@ -92,6 +93,7 @@ pipe_loader_sw_probe_init_common(struct pipe_loader_sw_device *sdev) + sdev->base.type = PIPE_LOADER_DEVICE_SOFTWARE; + sdev->base.driver_name = "swrast"; + sdev->base.ops = &pipe_loader_sw_ops; ++ sdev->fd = -1; + + #ifdef GALLIUM_STATIC_TARGETS + sdev->dd = &driver_descriptors; +@@ -169,6 +171,8 @@ pipe_loader_sw_probe_kms(struct pipe_loader_device **devs, int fd) + if (!pipe_loader_sw_probe_init_common(sdev)) + goto fail; + ++ sdev->fd = fd; ++ + for (i = 0; sdev->dd->winsys[i].name; i++) { + if (strcmp(sdev->dd->winsys[i].name, "kms_dri") == 0) { + sdev->ws = sdev->dd->winsys[i].create_winsys(fd); +@@ -273,6 +277,9 @@ pipe_loader_sw_release(struct pipe_loader_device **dev) + util_dl_close(sdev->lib); + #endif + ++ if (sdev->fd != -1) ++ close(sdev->fd); ++ + FREE(sdev); + *dev = NULL; + } +-- +2.9.3 + diff --git a/mesa.spec b/mesa.spec index 2f0c31a..e781aca 100644 --- a/mesa.spec +++ b/mesa.spec @@ -46,7 +46,7 @@ Name: mesa Summary: Mesa graphics libraries Version: 12.0.1 -Release: 6%{?rctag:.%{rctag}}%{?dist} +Release: 7%{?rctag:.%{rctag}}%{?dist} License: MIT URL: http://www.mesa3d.org @@ -63,6 +63,9 @@ Patch2: 0002-hardware-gloat.patch Patch3: 0003-evergreen-big-endian.patch Patch4: 0004-bigendian-assert.patch +# Cherry picked from upstream master +Patch5: 0001-pipe_loader_sw-Fix-fd-leak-when-instantiated-via-pip.patch + BuildRequires: gcc BuildRequires: gcc-c++ BuildRequires: automake @@ -617,6 +620,9 @@ popd %endif %changelog +* Mon Sep 5 2016 Hans de Goede - 12.0.1-7 +- Fix PRIME fd leak + * Tue Aug 23 2016 Adam Jackson - 12.0.1-6 - Remove BuildRequires: xorg-x11-server-devel From 6877daed3e48a1b29df622cf76d2f84e2bec0e1f Mon Sep 17 00:00:00 2001 From: Peter Robinson Date: Mon, 5 Sep 2016 21:00:40 +0100 Subject: [PATCH 10/10] 12.0.2 --- mesa.spec | 7 +++++-- sources | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/mesa.spec b/mesa.spec index e781aca..0474116 100644 --- a/mesa.spec +++ b/mesa.spec @@ -45,8 +45,8 @@ Name: mesa Summary: Mesa graphics libraries -Version: 12.0.1 -Release: 7%{?rctag:.%{rctag}}%{?dist} +Version: 12.0.2 +Release: 1%{?rctag:.%{rctag}}%{?dist} License: MIT URL: http://www.mesa3d.org @@ -620,6 +620,9 @@ popd %endif %changelog +* Mon Sep 5 2016 Peter Robinson 12.0.2-1 +- 12.0.2 + * Mon Sep 5 2016 Hans de Goede - 12.0.1-7 - Fix PRIME fd leak diff --git a/sources b/sources index d0960d8..b3b6cc2 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -972fd5ad5a63aeabf173fb9adefc6522 mesa-12.0.1.tar.xz +f19032b5cb5e362745f0c2accc28a641 mesa-12.0.2.tar.xz