%global snapshot git20160217 %global commit0 4d977ea3896c2b57c13df1b02120c57a5b750c6a #global gittag0 GIT-TAG %global shortcommit0 %(c=%{commit0}; echo ${c:0:7}) Name: libglvnd Version: 0.0.0 Release: 8%{?snapshot}%{?dist} Summary: The GL Vendor-Neutral Dispatch library License: MIT and BSD and LGPLv2+ URL: https://github.com/NVIDIA/libglvnd # git clone && ./autogen.sh && make dist && mv Source0: https://github.com/NVIDIA/%{name}/archive/%{commit0}.tar.gz#/%{name}-%{shortcommit0}.tar.gz # https://github.com/NVIDIA/libglvnd/pull/48 Patch0: 0001-Don-t-hardcode-the-minimal-xorg-version.patch # https://github.com/NVIDIA/libglvnd/pull/66 Patch1: 0002-Enable-x11glvnd-by-default-on-more-recent-xorg-relea.patch #This library only target few architectures use case ExclusiveArch: x86_64 i686 armv7hl BuildRequires: libtool BuildRequires: xorg-x11-server-Xvfb BuildRequires: libxml2-python BuildRequires: pkgconfig(xorg-server) BuildRequires: pkgconfig(x11) BuildRequires: pkgconfig(xv) %{!?_with_mesa_glvnd_default: %global __provides_exclude ^(libGL.\\.so.*|libGLES*\\.so.*)$ %global __requires_exclude ^(libGL.\\.so.*|libGLES*\\.so.*)$ } %description This is a work-in-progress implementation of the vendor-neutral dispatch layer for arbitrating OpenGL API calls between multiple vendors on a per-screen basis, as described by Andy Ritger's OpenGL ABI proposal. Currently, only the GLX window-system API and OpenGL are supported, but in the future this library may support EGL and OpenGL ES as well. %package devel Summary: Development files for %{name} Requires: %{name}%{?_isa} = %{version}-%{release} %description devel The %{name}-devel package contains libraries and header files for developing applications that use %{name}. %package -n xorg-x11-glvnd Summary: Xorg X11 %{name} library Requires: %{name}%{?_isa} = %{version}-%{release} %description -n xorg-x11-glvnd The xorg-x11-glvnd package contains xorg module for the GL Vendor Neutral Dispatch library. %prep %setup -q -n %{name}-%{?commit0}%{?!commit0:%{version}} %patch0 -p1 %patch1 -p1 autoreconf -vif %build %configure \ --disable-static \ --enable-dt-auxiliary make %{?_smp_mflags} V=1 %install %make_install INSTALL="install -p" find %{buildroot} -name '*.la' -exec rm -f {} ';' %{!?_with_mesa_glvnd_default: # Avoid conflict with mesa-libGL for now mkdir -p %{buildroot}%{_libdir}/%{name} for l in libGL libGLESv2 ; do mv %{buildroot}%{_libdir}/${l}.so* \ %{buildroot}%{_libdir}/%{name} done } # Fedora does not provide libGLESv1_CM rm -rf %{buildroot}%{_libdir}/libGLESv1_CM* %check # One test still fails in mock # FAIL: testglxqueryversion.sh xvfb-run make check V=1 || : %post -p /sbin/ldconfig %postun -p /sbin/ldconfig %files %doc README.md %{_libdir}/*.so.* %{!?_with_mesa_glvnd_default: %dir %{_libdir}/%{name} %{_libdir}/%{name}/lib*GL*.so.* } %files devel %dir %{_includedir}/glvnd %{_includedir}/glvnd/*.h %{_libdir}/%{name}/lib*GL*.so %{_libdir}/*.so %{_libdir}/pkgconfig/*.pc %files -n xorg-x11-glvnd %{_libdir}/xorg/modules/extensions/*.so* %changelog * 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