Blame SPECS/libglvnd.spec

0b8b44
%global commit0 5baa1e5cfc422eb53e66f12ffb80c93d4a693cd9
0b8b44
%global shortcommit0 %%(c=%%{commit0}; echo ${c:0:7})
0b8b44
0b8b44
#if 0%{?rhel} && 0%{?rhel} <= 7
0b8b44
#global _without_mesa_glvnd_default 1
0b8b44
#endif
0b8b44
0b8b44
Name:           libglvnd
0b8b44
Version:        1.0.1
0b8b44
Release:        0.8%{?commit0:.git%{shortcommit0}}%{?dist}
0b8b44
# Provide an upgrade path from the negativo17.org pkgs which have Epoch 1
0b8b44
Epoch:          1
0b8b44
Summary:        The GL Vendor-Neutral Dispatch library
0b8b44
0b8b44
License:        MIT
0b8b44
URL:            https://github.com/NVIDIA/libglvnd
0b8b44
#Source0:        %%{url}/archive/v%%{version}/%%{name}-%%{version}.tar.gz
0b8b44
Source0:        %{url}/archive/%{commit0}.tar.gz#/%{name}-%{shortcommit0}.tar.gz
0b8b44
Patch0:         libglvnd-python3.patch
0b8b44
Patch1:         0001-glx-Add-another-fallback-library-name.patch
0b8b44
0b8b44
BuildRequires:  libtool
0b8b44
BuildRequires:  gcc
0b8b44
BuildRequires:  python
0b8b44
BuildRequires:  libxml2-python
0b8b44
BuildRequires:  pkgconfig(glproto)
0b8b44
BuildRequires:  pkgconfig(x11)
0b8b44
BuildRequires:  pkgconfig(xext)
0b8b44
BuildRequires:  xorg-x11-server-Xvfb
0b8b44
0b8b44
%if (0%{?rhel} && 0%{?rhel} <= 6)
0b8b44
BuildRequires:  autoconf268
0b8b44
%endif
0b8b44
0b8b44
%{?_without_mesa_glvnd_default:
0b8b44
%if (0%{?rhel} && 0%{?rhel} <= 6)
0b8b44
0b8b44
%{?filter_setup:
0b8b44
%filter_provides_in %{_libdir}/%{name}
0b8b44
%filter_requires_in %{_libdir}/%{name}
0b8b44
%filter_setup
0b8b44
}
0b8b44
0b8b44
%else
0b8b44
0b8b44
%global __provides_exclude_from %{_libdir}/%{name}
0b8b44
%global __requires_exclude_from %{_libdir}/%{name}
0b8b44
0b8b44
%endif
0b8b44
}
0b8b44
0b8b44
%description
0b8b44
libglvnd is an implementation of the vendor-neutral dispatch layer for
0b8b44
arbitrating OpenGL API calls between multiple vendors on a per-screen basis.
0b8b44
0b8b44
0b8b44
%package        devel
0b8b44
Summary:        Development files for %{name}
0b8b44
Requires:       %{name}%{?_isa} = %{epoch}:%{version}-%{release}
0b8b44
Requires:       %{name}-opengl%{?_isa} = %{epoch}:%{version}-%{release}
0b8b44
Requires:       %{name}-gles%{?_isa} = %{epoch}:%{version}-%{release}
0b8b44
Requires:       %{name}-glx%{?_isa} = %{epoch}:%{version}-%{release}
0b8b44
Requires:       %{name}-egl%{?_isa} = %{epoch}:%{version}-%{release}
0b8b44
Requires:       %{name}-core-devel%{?_isa} = %{epoch}:%{version}-%{release}
0b8b44
0b8b44
%description    devel
0b8b44
The %{name}-devel package contains libraries and header files for
0b8b44
developing applications that use %{name}.
0b8b44
0b8b44
0b8b44
%package        core-devel
0b8b44
Summary:        Core development files for %{name}
0b8b44
0b8b44
%description core-devel
0b8b44
The %{name}-core-devel package is a bootstrap trick for Mesa, which wants
0b8b44
to build against the %{name} headers but does not link against any of
0b8b44
its libraries (and, initially, has file conflicts with them). If you are
0b8b44
not Mesa you almost certainly want %{name}-devel instead.
0b8b44
0b8b44
0b8b44
%package        opengl
0b8b44
Summary:        OpenGL support for libglvnd
0b8b44
Requires:       %{name}%{?_isa} = %{epoch}:%{version}-%{release}
0b8b44
0b8b44
%description    opengl
0b8b44
libOpenGL is the common dispatch interface for the workstation OpenGL API.
0b8b44
0b8b44
0b8b44
%package        gles
0b8b44
Summary:        GLES support for libglvnd
0b8b44
Requires:       %{name}%{?_isa} = %{epoch}:%{version}-%{release}
0b8b44
%{!?_without_mesa_glvnd_default:
0b8b44
# mesa is the default EGL implementation provider
0b8b44
Requires:       mesa-libEGL%{?_isa} >= 13.0.4-1
0b8b44
Provides:       libGLES
0b8b44
Provides:       libGLES%{?_isa}
0b8b44
}
0b8b44
0b8b44
%description    gles
0b8b44
libGLESv[12] are the common dispatch interface for the GLES API.
0b8b44
0b8b44
0b8b44
%package        egl
0b8b44
Summary:        EGL support for libglvnd
0b8b44
Requires:       %{name}%{?_isa} = %{epoch}:%{version}-%{release}
0b8b44
%{!?_without_mesa_glvnd_default:
0b8b44
# mesa is the default EGL implementation provider
0b8b44
Requires:       mesa-libEGL%{?_isa} >= 13.0.4-1
0b8b44
Provides:       libEGL
0b8b44
Provides:       libEGL%{?_isa}
0b8b44
}
0b8b44
0b8b44
%description    egl
0b8b44
libEGL are the common dispatch interface for the EGL API.
0b8b44
0b8b44
0b8b44
%package        glx
0b8b44
Summary:        GLX support for libglvnd
0b8b44
Requires:       %{name}%{?_isa} = %{epoch}:%{version}-%{release}
0b8b44
%{!?_without_mesa_glvnd_default:
0b8b44
# mesa is the default GL implementation provider
0b8b44
Requires:       mesa-libGL%{?_isa} >= 13.0.4-1
0b8b44
Provides:       libGL
0b8b44
Provides:       libGL%{?_isa}
0b8b44
}
0b8b44
0b8b44
%description    glx
0b8b44
libGL and libGLX are the common dispatch interface for the GLX API.
0b8b44
0b8b44
0b8b44
%prep
0b8b44
%autosetup -p1 -n %{name}-%{?commit0}%{?!commit0:%{version}}
0b8b44
%if 0%{?rhel} == 6
0b8b44
autoreconf268 -vif
0b8b44
%else
0b8b44
autoreconf -vif
0b8b44
%endif
0b8b44
0b8b44
%build
0b8b44
#Prefer asm and tls for x86* and ppc64*
0b8b44
#armhfp and aarch64 fallback to asm and tsd
0b8b44
#Others arches fallback to pure-c and tls.
0b8b44
%configure \
0b8b44
  --disable-static \
0b8b44
  --enable-asm \
0b8b44
  --enable-tls
0b8b44
0b8b44
%make_build V=1
0b8b44
0b8b44
0b8b44
%install
0b8b44
%make_install INSTALL="install -p"
0b8b44
find %{buildroot} -name '*.la' -delete
0b8b44
0b8b44
%{?_without_mesa_glvnd_default:
0b8b44
# Avoid conflict with mesa-libGL
0b8b44
mkdir -p %{buildroot}%{_libdir}/%{name}/
0b8b44
for l in libEGL libGL libGLESv1_CM libGLESv2 libGLX; do
0b8b44
  mv %{buildroot}%{_libdir}/${l}.so* \
0b8b44
    %{buildroot}%{_libdir}/%{name}/
0b8b44
done
0b8b44
}
0b8b44
0b8b44
# Create directory layout
0b8b44
mkdir -p %{buildroot}%{_sysconfdir}/glvnd/egl_vendor.d/
0b8b44
mkdir -p %{buildroot}%{_datadir}/glvnd/egl_vendor.d/
0b8b44
mkdir -p %{buildroot}%{_sysconfdir}/egl/egl_external_platform.d/
0b8b44
mkdir -p %{buildroot}%{_datadir}/egl/egl_external_platform.d/
0b8b44
0b8b44
0b8b44
%check
0b8b44
export DO_X11_TESTS=1
0b8b44
xvfb-run -s '-screen 0 640x480x24' -d make check V=1 || \
0b8b44
%ifarch s390 s390x ppc ppc64 ppc64le
0b8b44
    :
0b8b44
%else
0b8b44
    (cat `find . -name test-suite.log` ; exit 1)
0b8b44
%endif
0b8b44
0b8b44
0b8b44
%post -p /sbin/ldconfig
0b8b44
%postun -p /sbin/ldconfig
0b8b44
%files
0b8b44
%doc README.md
0b8b44
%dir %{_sysconfdir}/glvnd/
0b8b44
%dir %{_datadir}/glvnd/
0b8b44
%{_libdir}/libGLdispatch.so.0*
0b8b44
0b8b44
%post opengl -p /sbin/ldconfig
0b8b44
%postun opengl -p /sbin/ldconfig
0b8b44
%files opengl
0b8b44
%{_libdir}/libOpenGL.so.0*
0b8b44
0b8b44
%post gles -p /sbin/ldconfig
0b8b44
%postun gles -p /sbin/ldconfig
0b8b44
%files gles
0b8b44
%if 0%{?_without_mesa_glvnd_default}
0b8b44
%{_libdir}/%{name}/libGLES*.so.*
0b8b44
%else
0b8b44
%{_libdir}/libGLES*.so.*
0b8b44
%endif
0b8b44
0b8b44
%post glx -p /sbin/ldconfig
0b8b44
%postun glx -p /sbin/ldconfig
0b8b44
%files glx
0b8b44
%if 0%{?_without_mesa_glvnd_default}
0b8b44
%{_libdir}/%{name}/libGL.so.*
0b8b44
%{_libdir}/%{name}/libGLX.so.*
0b8b44
%else
0b8b44
%{_libdir}/libGL.so.*
0b8b44
%{_libdir}/libGLX.so.*
0b8b44
%endif
0b8b44
0b8b44
%post egl -p /sbin/ldconfig
0b8b44
%postun egl -p /sbin/ldconfig
0b8b44
%files egl
0b8b44
%dir %{_sysconfdir}/glvnd/egl_vendor.d/
0b8b44
%dir %{_datadir}/glvnd/egl_vendor.d/
0b8b44
%dir %{_sysconfdir}/egl/
0b8b44
%dir %{_sysconfdir}/egl/egl_external_platform.d/
0b8b44
%dir %{_datadir}/egl/
0b8b44
%dir %{_datadir}/egl/egl_external_platform.d/
0b8b44
%if 0%{?_without_mesa_glvnd_default}
0b8b44
%{_libdir}/%{name}/libEGL*.so.*
0b8b44
%else
0b8b44
%{_libdir}/libEGL*.so.*
0b8b44
%endif
0b8b44
0b8b44
%files core-devel
0b8b44
%dir %{_includedir}/glvnd/
0b8b44
%{_includedir}/glvnd/*.h
0b8b44
%{_libdir}/pkgconfig/*.pc
0b8b44
0b8b44
%files devel
0b8b44
%{_libdir}/lib*.so
0b8b44
%if 0%{?_without_mesa_glvnd_default}
0b8b44
%{_libdir}/%{name}/lib*.so
0b8b44
%endif
0b8b44
0b8b44
0b8b44
%changelog
0b8b44
* Tue Jul 24 2018 Dave Airlie <airlied@redhat.com> - 1.0.1-0.8.git5baa1e5
0b8b44
- rename fallback from fedora to system
0b8b44
0b8b44
* Thu Jun 14 2018 Adam Jackson <ajax@redhat.com> - 1.0.1-0.7.git5baa1e5
0b8b44
- Add another fallback GLX library name
0b8b44
0b8b44
* Thu Apr 26 2018 Adam Jackson <ajax@redhat.com> - 1.0.1-0.6.git5baa1e5
0b8b44
- Enable %%check for all but ppc64 and s390x, which has known but low-impact
0b8b44
  failures
0b8b44
- Simplify %%release
0b8b44
0b8b44
* Wed Apr 18 2018 Adam Jackson <ajax@redhat.com> - 1.0.1-0.5.20180327git5baa1e5
0b8b44
- Go back to Requires: mesa-*, the fallout is too great (#1568881 etc)
0b8b44
0b8b44
* Fri Apr 13 2018 Leigh Scott <leigh123linux@googlemail.com> - 1:1.0.1-0.4.20180327git5baa1e5
0b8b44
- Update snapshot to 20180327
0b8b44
0b8b44
* Thu Mar 15 2018 Adam Jackson <ajax@redhat.com> - 1.0.1-0.3.20180226gitb029c24
0b8b44
- Use Recommends: mesa-* not Requires.
0b8b44
- (Trivially) switch the build to python3
0b8b44
0b8b44
* Thu Mar 15 2018 Iryna Shcherbina <ishcherb@redhat.com> - 1:1.0.1-0.2.20180226gitb029c24
0b8b44
- Update Python 2 dependency declarations to new packaging standards
0b8b44
  (See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3)
0b8b44
0b8b44
* Wed Feb 28 2018 Leigh Scott <leigh123linux@googlemail.com> - 1:1.0.1-0.1.20180226gitb029c24
0b8b44
- Update snapshot to 20180226
0b8b44
- Update scriptlets
0b8b44
0b8b44
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1:1.0.0-2
0b8b44
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
0b8b44
0b8b44
* Thu Nov 09 2017 Leigh Scott <leigh123linux@googlemail.com> - 1:1.0.0-1
0b8b44
- Update to 1.0.0 release
0b8b44
0b8b44
* Wed Aug 23 2017 Nicolas Chauvet <kwizart@gmail.com> - 1:0.2.999-24.20170818git8d4d03f
0b8b44
- Update snapshot to 20170818
0b8b44
0b8b44
* Mon Aug 14 2017 Ville Skyttä <ville.skytta@iki.fi> - 1:0.2.999-23.20170620gitd850cdd
0b8b44
- Own %%{_sysconfdir}/egl and %%{_datadir}/egl dirs
0b8b44
0b8b44
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1:0.2.999-22.20170620gitd850cdd
0b8b44
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
0b8b44
0b8b44
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1:0.2.999-21.20170620gitd850cdd
0b8b44
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
0b8b44
0b8b44
* Fri Jul 07 2017 Igor Gnatenko <ignatenko@redhat.com> - 1:0.2.999-20.20170620gitd850cdd
0b8b44
- Rebuild due to bug in RPM (RHBZ #1468476)
0b8b44
0b8b44
* Thu Jul 06 2017 Nicolas Chauvet <kwizart@gmail.com> - 1:0.2.999-19.20170620gitd850cdd
0b8b44
- Update snapshot to 20170620
0b8b44
0b8b44
* Tue Jun 13 2017 Nicolas Chauvet <kwizart@gmail.com> - 1:0.2.999-18.20170607git80d9a87
0b8b44
- Update snapshot to 20170607
0b8b44
- Default to asm and tls when available
0b8b44
- Use the fixed tsd for armhfp and aarch64
0b8b44
  fixed in https://github.com/NVIDIA/libglvnd/issues/116
0b8b44
0b8b44
* Tue Apr 04 2017 Björn Esser <besser82@fedoraproject.org> - 1:0.2.999-17.20170308git8e6e102
0b8b44
- Add conditional to disable testsuite, when needed
0b8b44
0b8b44
* Tue Apr 04 2017 Björn Esser <besser82@fedoraproject.org> - 1:0.2.999-16.20170308git8e6e102
0b8b44
- Rebuilt with testsuite again
0b8b44
0b8b44
* Tue Apr 04 2017 Björn Esser <besser82@fedoraproject.org> - 1:0.2.999-15.20170308git8e6e102
0b8b44
- Rebuilt without testssuite
0b8b44
0b8b44
* Tue Apr 04 2017 Björn Esser <besser82@fedoraproject.org> - 1:0.2.999-14.20170308git8e6e102
0b8b44
- Fix conditionals for _without_mesa_glvnd_default
0b8b44
- Fix other RHEL-conditionals, too
0b8b44
0b8b44
* Tue Apr 04 2017 Simone Caronni <negativo17@gmail.com> - 1:0.2.999-13.20170308git8e6e102
0b8b44
- Update RPM filters for private libraries (includes GLX, fixes RHEL 6).
0b8b44
0b8b44
* Mon Apr 03 2017 Simone Caronni <negativo17@gmail.com> - 1:0.2.999-12.20170308git8e6e102
0b8b44
- Update to latest snapshot, remove upstreamed patches.
0b8b44
- Update release to packaging guidelines format.
0b8b44
- Make sure that for Fedora 24 and RHEL the libraries are always private.
0b8b44
0b8b44
* Thu Feb 23 2017 Nicolas Chauvet <kwizart@gmail.com> - 1:0.2.999-11.gitdc16f8c
0b8b44
- asm enabled only for x86 - rhbz#1419944
0b8b44
0b8b44
* Mon Feb  6 2017 Hans de Goede <hdegoede@redhat.com> - 1:0.2.999-10.gitdc16f8c
0b8b44
- Drop 0007-GLX-Add-GLX_SGIX_fbconfig-functions.patch the bug this works
0b8b44
  around actually is in mesa
0b8b44
0b8b44
* Thu Feb  2 2017 Hans de Goede <hdegoede@redhat.com> - 1:0.2.999-9.gitdc16f8c
0b8b44
- Add eglexternalplatform spec. config dirs to -egl subpackage (rhbz#1415143)
0b8b44
0b8b44
* Thu Feb  2 2017 Hans de Goede <hdegoede@redhat.com> - 1:0.2.999-8.gitdc16f8c
0b8b44
- Fix GLX_SGIX_fbconfig extension, this fixes games such as "The Binding of
0b8b44
  Isaac: Rebirth" and "Crypt of the NecroDancer" from Steam not working
0b8b44
0b8b44
* Wed Jan 11 2017 Hans de Goede <hdegoede@redhat.com> - 1:0.2.999-7.gitdc16f8c
0b8b44
- Epoch:1 to provide upgrade path from negativo17.org rpms
0b8b44
- New snapshot
0b8b44
- Add patches to fix building on ARM (from Rob Clark)
0b8b44
- Add BuildRequires: python
0b8b44
- Add ldconfig scriptlets for library sub-packages
0b8b44
0b8b44
* Wed Jan 11 2017 Adam Jackson <ajax@redhat.com>
0b8b44
- Don't hide libraries in a subdir (rhbz#1413579)
0b8b44
- Split up libraries to appropriate subpackages
0b8b44
- Make the req/prov filter catch more cases
0b8b44
- Restore libGLESv1 for ABI compliance
0b8b44
0b8b44
* Wed Oct 26 2016 Leigh Scott <leigh123linux@googlemail.com> - 0.2.999-6.git28867bb
0b8b44
- Update snapshot
0b8b44
- Fix EGL crash for KDE/Plasma (rfbz#4303)
0b8b44
0b8b44
* Tue Oct 25 2016 Leigh Scott <leigh123linux@googlemail.com> - 0.2.999-5.git295e5e5
0b8b44
- Fix EGL crash (rfbz#4303)
0b8b44
0b8b44
* Fri Oct 14 2016 Nicolas Chauvet <kwizart@gmail.com> - 0.2.999-4.git295e5e5
0b8b44
- Update snapshot
0b8b44
0b8b44
* Wed Oct 12 2016 Adam Jackson <ajax@redhat.com> - 0.2.999-3.git14f6283
0b8b44
- Restore hardened build
0b8b44
- Remove ExclusiveArch
0b8b44
- Remove some pointless Provides/Obsoletes
0b8b44
- BuildRequires pkgconfig(xext) not pkgconfig(xv)
0b8b44
- Update description to be a bit more confident
0b8b44
- Dump make check errors into the build log
0b8b44
0b8b44
* Wed Oct 05 2016 Nicolas Chauvet <kwizart@gmail.com> - 0.2.999-2.git14f6283
0b8b44
- Add the correct License: MIT
0b8b44
0b8b44
* Thu Sep 15 2016 Nicolas Chauvet <kwizart@gmail.com> - 0.2.999-1.git14f6283
0b8b44
- Update to 2.999 version
0b8b44
- Add EGL
0b8b44
0b8b44
* Fri Sep 02 2016 Nicolas Chauvet <kwizart@gmail.com> - 0.1.1-2.gitf7fbc4b
0b8b44
- Update license
0b8b44
- Fix Obsoletes/Provides to avoid self obsolete
0b8b44
0b8b44
* Tue Aug 30 2016 Nicolas Chauvet <kwizart@gmail.com> - 0.1.1-1.gitf7fbc4b
0b8b44
- Update to 1.1.gitf7fbc4b
0b8b44
0b8b44
* Tue Jun 14 2016 Nicolas Chauvet <kwizart@gmail.com> - 0.1.0-4.git093f048
0b8b44
- Update to 20160610 git commit
0b8b44
0b8b44
* Fri May 20 2016 Nicolas Chauvet <kwizart@gmail.com> - 0.1.0-3.gita82982d
0b8b44
- Update to current snapshot
0b8b44
0b8b44
* Fri May 13 2016 Nicolas Chauvet <kwizart@gmail.com> - 0.1.0-2.git509de0d
0b8b44
- Update to current snapshot
0b8b44
- Remove unused dt-auxiliary
0b8b44
- Add support for graphical make test
0b8b44
- Undefine hardened build for xorg
0b8b44
0b8b44
* Wed May 04 2016 Nicolas Chauvet <kwizart@gmail.com> - 0.1.0-1.git8277115
0b8b44
- Update to lastest snapshot
0b8b44
0b8b44
* Thu Feb 18 2016 Nicolas Chauvet <kwizart@gmail.com> - 0.0.0-9.git4d977ea
0b8b44
- Remove patch to enable by default
0b8b44
0b8b44
* Wed Feb 17 2016 Nicolas Chauvet <kwizart@gmail.com> - 0.0.0-8git20160217
0b8b44
- Update to git20160217
0b8b44
- Introduce --with mesa-libglvnd-default build conditional
0b8b44
- Avoid error on make check - testglxqueryversion.sh stil fails in mock
0b8b44
- Filter on provided libGL until glvnd support is in upstream mesa
0b8b44
- Use upstream tarball and use autoreconf
0b8b44
0b8b44
* Fri Jan 15 2016 Nicolas Chauvet <kwizart@gmail.com> - 0.0.0-7git20160115
0b8b44
- Bump for 20160115
0b8b44
- Enable make check
0b8b44
- Description improvements
0b8b44
- Enable libglvnd by default
0b8b44
- Enable devel sub-package
0b8b44
0b8b44
* Wed Jan 06 2016 Nicolas Chauvet <kwizart@gmail.com> - 0.0.0-6git20160106
0b8b44
- Update to 20160106 snapshot
0b8b44
- Remove 10-x11glvnd
0b8b44
0b8b44
* Sat Nov 21 2015 Nicolas Chauvet <kwizart@gmail.com> - 0.0.0-5git20151121
0b8b44
- Update to 20151121 snapshot
0b8b44
- Avoid conflicts with mesa-libGL{,ES}
0b8b44
- Disable libGLESv1_CM
0b8b44
0b8b44
* Tue Nov 10 2015 Nicolas Chauvet <kwizart@gmail.com> - 0.0.0-4git20151110
0b8b44
- Update to today snapshot
0b8b44
- Fix license
0b8b44
0b8b44
* Tue Sep 01 2015 Nicolas Chauvet <kwizart@gmail.com> - 0.0.0-3git20150901
0b8b44
- Update to snapshot 20150901
0b8b44
0b8b44
* Fri Aug 07 2015 Nicolas Chauvet <kwizart@gmail.com> - 0.0.0-2
0b8b44
- Update to today snapshoot
0b8b44
0b8b44
* Fri Feb  6 2015 Nicolas Chauvet <kwizart@gmail.com> - 0.0.0-1
0b8b44
- Initial spec file