Blob Blame History Raw
%global commit0 295e5e5769d0a1db312a76a57870dc8a11742f48
%global shortcommit0 %(c=%{commit0}; echo ${c:0:7})

Name:           libglvnd
Version:        0.2.999
Release:        4%{?commit0:.git%{shortcommit0}}%{?dist}
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

BuildRequires:  libtool
BuildRequires:  gcc
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

%{!?_with_mesa_glvnd_default:
%global         __provides_exclude ^(libGL\\.so.*|libEGL\\.so.*|libGLESv2\\.so.*)$
%global         __requires_exclude ^(libGL\\.so.*|libEGL\\.so.*|libGLESv2\\.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} = :%{version}-%{release}

%description devel
The %{name}-devel package contains libraries and header files for
developing applications that use %{name}.


%prep
%autosetup -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

%{!?_with_mesa_glvnd_default:
# Avoid conflict with mesa-libGL until mesa has gained libglvnd support
mkdir -p %{buildroot}%{_libdir}/%{name}
for l in libEGL libGL libGLESv2 ; do
  mv %{buildroot}%{_libdir}/${l}.so* \
    %{buildroot}%{_libdir}/%{name}
done
}

# Fedora does not provide libGLESv1_CM
rm -rf %{buildroot}%{_libdir}/libGLESv1_CM*

# 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
%{_libdir}/*.so.*
%{!?_with_mesa_glvnd_default:
%dir %{_libdir}/%{name}
%{_libdir}/%{name}/lib*GL*.so.*
}
%dir %{_sysconfdir}/glvnd
%dir %{_sysconfdir}/glvnd/egl_vendor.d
%dir %{_datadir}/glvnd
%dir %{_datadir}/glvnd/egl_vendor.d

%files devel
%dir %{_includedir}/glvnd
%{_includedir}/glvnd/*.h
%{!?_with_mesa_glvnd_default:
%{_libdir}/%{name}/lib*GL*.so
}
%{_libdir}/*.so
%{_libdir}/pkgconfig/*.pc


%changelog
* Fri Oct 14 2016 Nicolas Chauvet <kwizart@gmail.com> - 0.2.999-4.git295e5e5
- Update snapshot

* Wed Oct 12 2016 Adam Jackson <ajax@redhat.com> - 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 <kwizart@gmail.com> - 0.2.999-2.git14f6283
- Add the correct License: MIT

* Thu Sep 15 2016 Nicolas Chauvet <kwizart@gmail.com> - 0.2.999-1.git14f6283
- Update to 2.999 version
- Add EGL

* Fri Sep 02 2016 Nicolas Chauvet <kwizart@gmail.com> - 0.1.1-2.gitf7fbc4b
- Update license
- Fix Obsoletes/Provides to avoid self obsolete

* Tue Aug 30 2016 Nicolas Chauvet <kwizart@gmail.com> - 0.1.1-1.gitf7fbc4b
- Update to 1.1.gitf7fbc4b

* Tue Jun 14 2016 Nicolas Chauvet <kwizart@gmail.com> - 0.1.0-4.git093f048
- Update to 20160610 git commit

* Fri May 20 2016 Nicolas Chauvet <kwizart@gmail.com> - 0.1.0-3.gita82982d
- Update to current snapshot

* Fri May 13 2016 Nicolas Chauvet <kwizart@gmail.com> - 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 <kwizart@gmail.com> - 0.1.0-1.git8277115
- Update to lastest snapshot

* Thu Feb 18 2016 Nicolas Chauvet <kwizart@gmail.com> - 0.0.0-9.git4d977ea
- Remove patch to enable by default

* Wed Feb 17 2016 Nicolas Chauvet <kwizart@gmail.com> - 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 <kwizart@gmail.com> - 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 <kwizart@gmail.com> - 0.0.0-6git20160106
- Update to 20160106 snapshot
- Remove 10-x11glvnd

* Sat Nov 21 2015 Nicolas Chauvet <kwizart@gmail.com> - 0.0.0-5git20151121
- Update to 20151121 snapshot
- Avoid conflicts with mesa-libGL{,ES}
- Disable libGLESv1_CM

* Tue Nov 10 2015 Nicolas Chauvet <kwizart@gmail.com> - 0.0.0-4git20151110
- Update to today snapshot
- Fix license

* Tue Sep 01 2015 Nicolas Chauvet <kwizart@gmail.com> - 0.0.0-3git20150901
- Update to snapshot 20150901

* Fri Aug 07 2015 Nicolas Chauvet <kwizart@gmail.com> - 0.0.0-2
- Update to today snapshoot

* Fri Feb  6 2015 Nicolas Chauvet <kwizart@gmail.com> - 0.0.0-1
- Initial spec file