%global commit0 dc16f8c337703ad141f83583a4004fcf42e07766 %global shortcommit0 %(c=%{commit0}; echo ${c:0:7}) Name: libglvnd Version: 0.2.999 Release: 7%{?commit0:.git%{shortcommit0}}%{?dist} # Provide an upgrade path from the negativo17.org pkgs which have Epoch 1 Epoch: 1 Summary: The GL Vendor-Neutral Dispatch library License: MIT URL: https://github.com/NVIDIA/libglvnd Source0: https://github.com/NVIDIA/%{name}/archive/%{commit0}.tar.gz#/%{name}-%{shortcommit0}.tar.gz # https://github.com/NVIDIA/libglvnd/pull/100 Patch1: 0001-OpenGL-Statically-export-a-few-more-things.patch # https://github.com/NVIDIA/libglvnd/pull/113 Patch2: 0002-Print-out-host_cpu-when-undetected-for-easier-debugg.patch Patch3: 0003-Fix-compile-errors.patch Patch4: 0004-armv7-make-sure-asm-is-compiled-in-unified-syntax-mo.patch Patch5: 0005-Treat-armv7hl-as-armv7l.patch # WIP Patch6: 0006-skip-tests-that-cannot-pass-with-pure-c-dispatch.patch BuildRequires: libtool BuildRequires: gcc BuildRequires: python BuildRequires: libxml2-python BuildRequires: pkgconfig(glproto) BuildRequires: pkgconfig(x11) BuildRequires: pkgconfig(xext) # X11 tests: #Xvfb is unlikely to reproduce a full Xorg environnement #So some tests are failing #https://github.com/NVIDIA/libglvnd/issues/93 BuildRequires: xorg-x11-server-Xvfb %{?_without_mesa_glvnd_default: %global __provides_exclude ^(libGL\\.so.*|libEGL\\.so.*|libGLES*\\.so.*)$ %global __requires_exclude ^(libGL\\.so.*|libEGL\\.so.*|libGLES*\\.so.*)$ } %description libglvnd is an implementation of the vendor-neutral dispatch layer for arbitrating OpenGL API calls between multiple vendors on a per-screen basis. %package devel Summary: Development files for %{name} Requires: %{name}%{?_isa} = %{epoch}:%{version}-%{release} Requires: %{name}-opengl%{?_isa} = %{epoch}:%{version}-%{release} Requires: %{name}-gles%{?_isa} = %{epoch}:%{version}-%{release} Requires: %{name}-glx%{?_isa} = %{epoch}:%{version}-%{release} Requires: %{name}-egl%{?_isa} = %{epoch}:%{version}-%{release} Requires: %{name}-core-devel%{?_isa} = %{epoch}:%{version}-%{release} %description devel The %{name}-devel package contains libraries and header files for developing applications that use %{name}. %package core-devel Summary: Core development files for %{name} %description core-devel The %{name}-core-devel package is a bootstrap trick for Mesa, which wants to build against the %{name} headers but does not link against any of its libraries (and, initially, has file conflicts with them). If you are not Mesa you almost certainly want %{name}-devel instead. %package opengl Summary: OpenGL support for libglvnd Requires: %{name}%{?_isa} = %{epoch}:%{version}-%{release} %description opengl libOpenGL is the common dispatch interface for the workstation OpenGL API. %package gles Summary: GLES support for libglvnd Requires: %{name}%{?_isa} = %{epoch}:%{version}-%{release} %{!?_without_mesa_glvnd_default: # mesa is the default EGL implementation provider Requires: mesa-libEGL%{?_isa} Provides: libGLES Provides: libGLES%{?_isa} } %description gles libGLESv[12] are the common dispatch interface for the GLES API. %package egl Summary: EGL support for libglvnd Requires: %{name}%{?_isa} = %{epoch}:%{version}-%{release} %{!?_without_mesa_glvnd_default: # mesa is the default EGL implementation provider Requires: mesa-libEGL%{?_isa} Provides: libEGL Provides: libEGL%{?_isa} } %description egl libEGL are the common dispatch interface for the EGL API. %package glx Summary: GLX support for libglvnd Requires: %{name}%{?_isa} = %{epoch}:%{version}-%{release} %{!?_without_mesa_glvnd_default: # mesa is the default GL implementation provider Requires: mesa-libGL%{?_isa} Provides: libGL Provides: libGL%{?_isa} } %description glx libGL and libGLX are the common dispatch interface for the GLX API. %prep %autosetup -p1 -n %{name}-%{?commit0}%{?!commit0:%{version}} autoreconf -vif %build %configure \ --disable-static \ --enable-asm \ --enable-tls %make_build V=1 %install %make_install INSTALL="install -p" find %{buildroot} -name '*.la' -delete %{?_without_mesa_glvnd_default: # Avoid conflict with mesa-libGL mkdir -p %{buildroot}%{_libdir}/%{name} for l in libEGL libGL libGLESv1_CM libGLESv2 ; do mv %{buildroot}%{_libdir}/${l}.so* \ %{buildroot}%{_libdir}/%{name} done } # Create directory layout mkdir -p %{buildroot}%{_sysconfdir}/glvnd/egl_vendor.d mkdir -p %{buildroot}%{_datadir}/glvnd/egl_vendor.d %check export DO_X11_TESTS=1 # theses tests are failing in mock #FAIL: testglxqueryversion.sh #FAIL: testglxnscrthreads.sh #reported as https://github.com/NVIDIA/libglvnd/issues/93 xvfb-run -a make check V=1 || cat `find . -name test-suite.log` %post -p /sbin/ldconfig %postun -p /sbin/ldconfig %files %doc README.md %dir %{_sysconfdir}/glvnd %dir %{_datadir}/glvnd %{_libdir}/libGLdispatch.so.0* %post opengl -p /sbin/ldconfig %postun opengl -p /sbin/ldconfig %files opengl %{_libdir}/libOpenGL.so.0* %post gles -p /sbin/ldconfig %postun gles -p /sbin/ldconfig %files gles %if 0%{?_without_mesa_glvnd_default} %{_libdir}/%{name}/libGLES*.so.* %else %{_libdir}/libGLES*.so.* %endif %post glx -p /sbin/ldconfig %postun glx -p /sbin/ldconfig %files glx %if 0%{?_without_mesa_glvnd_default} %{_libdir}/%{name}/libGL.so.* %{_libdir}/%{name}/libGLX.so.* %else %{_libdir}/libGL.so.* %{_libdir}/libGLX.so.* %endif %post egl -p /sbin/ldconfig %postun egl -p /sbin/ldconfig %files egl %dir %{_sysconfdir}/glvnd/egl_vendor.d %dir %{_datadir}/glvnd/egl_vendor.d %if 0%{?_without_mesa_glvnd_default} %{_libdir}/%{name}/libEGL*.so.* %else %{_libdir}/libEGL*.so.* %endif %files core-devel %dir %{_includedir}/glvnd %{_includedir}/glvnd/*.h %{_libdir}/pkgconfig/*.pc %files devel %{_libdir}/lib*.so %if 0%{?_without_mesa_glvnd_default} %{_libdir}/%{name}/lib*.so %endif %changelog * Wed Jan 11 2017 Hans de Goede - 1:0.2.999-7.gitdc16f8c - Epoch:1 to provide upgrade path from negativo17.org rpms - New snapshot - Add patches to fix building on ARM (from Rob Clark) - Add BuildRequires: python - Add ldconfig scriptlets for library sub-packages * Wed Jan 11 2017 Adam Jackson - Don't hide libraries in a subdir (rhbz#1413579) - Split up libraries to appropriate subpackages - Make the req/prov filter catch more cases - Restore libGLESv1 for ABI compliance * Wed Oct 26 2016 Leigh Scott - 0.2.999-6.git28867bb - Update snapshot - Fix EGL crash for KDE/Plasma (rfbz#4303) * Tue Oct 25 2016 Leigh Scott - 0.2.999-5.git295e5e5 - Fix EGL crash (rfbz#4303) * Fri Oct 14 2016 Nicolas Chauvet - 0.2.999-4.git295e5e5 - Update snapshot * Wed Oct 12 2016 Adam Jackson - 0.2.999-3.git14f6283 - Restore hardened build - Remove ExclusiveArch - Remove some pointless Provides/Obsoletes - BuildRequires pkgconfig(xext) not pkgconfig(xv) - Update description to be a bit more confident - Dump make check errors into the build log * Wed Oct 05 2016 Nicolas Chauvet - 0.2.999-2.git14f6283 - Add the correct License: MIT * Thu Sep 15 2016 Nicolas Chauvet - 0.2.999-1.git14f6283 - Update to 2.999 version - Add EGL * Fri Sep 02 2016 Nicolas Chauvet - 0.1.1-2.gitf7fbc4b - Update license - Fix Obsoletes/Provides to avoid self obsolete * Tue Aug 30 2016 Nicolas Chauvet - 0.1.1-1.gitf7fbc4b - Update to 1.1.gitf7fbc4b * Tue Jun 14 2016 Nicolas Chauvet - 0.1.0-4.git093f048 - Update to 20160610 git commit * Fri May 20 2016 Nicolas Chauvet - 0.1.0-3.gita82982d - Update to current snapshot * Fri May 13 2016 Nicolas Chauvet - 0.1.0-2.git509de0d - Update to current snapshot - Remove unused dt-auxiliary - Add support for graphical make test - Undefine hardened build for xorg * Wed May 04 2016 Nicolas Chauvet - 0.1.0-1.git8277115 - Update to lastest snapshot * Thu Feb 18 2016 Nicolas Chauvet - 0.0.0-9.git4d977ea - Remove patch to enable by default * Wed Feb 17 2016 Nicolas Chauvet - 0.0.0-8git20160217 - Update to git20160217 - Introduce --with mesa-libglvnd-default build conditional - Avoid error on make check - testglxqueryversion.sh stil fails in mock - Filter on provided libGL until glvnd support is in upstream mesa - Use upstream tarball and use autoreconf * Fri Jan 15 2016 Nicolas Chauvet - 0.0.0-7git20160115 - Bump for 20160115 - Enable make check - Description improvements - Enable libglvnd by default - Enable devel sub-package * Wed Jan 06 2016 Nicolas Chauvet - 0.0.0-6git20160106 - Update to 20160106 snapshot - Remove 10-x11glvnd * Sat Nov 21 2015 Nicolas Chauvet - 0.0.0-5git20151121 - Update to 20151121 snapshot - Avoid conflicts with mesa-libGL{,ES} - Disable libGLESv1_CM * Tue Nov 10 2015 Nicolas Chauvet - 0.0.0-4git20151110 - Update to today snapshot - Fix license * Tue Sep 01 2015 Nicolas Chauvet - 0.0.0-3git20150901 - Update to snapshot 20150901 * Fri Aug 07 2015 Nicolas Chauvet - 0.0.0-2 - Update to today snapshoot * Fri Feb 6 2015 Nicolas Chauvet - 0.0.0-1 - Initial spec file