From b8f8687e0da9d8a4798e3726ed7dfc0283082896 Mon Sep 17 00:00:00 2001 From: leigh123linux Date: Wed, 28 Feb 2018 11:22:21 +0000 Subject: [PATCH] Update snapshot to 20180226 --- ...reateContextAtrribsARB_fix_API_break.patch | 53 +++++++++++++++++ libglvnd.spec | 58 +++++++++---------- sources | 2 +- 3 files changed, 83 insertions(+), 30 deletions(-) create mode 100644 X_GLXCreateContextAtrribsARB_fix_API_break.patch diff --git a/X_GLXCreateContextAtrribsARB_fix_API_break.patch b/X_GLXCreateContextAtrribsARB_fix_API_break.patch new file mode 100644 index 0000000..146e3c8 --- /dev/null +++ b/X_GLXCreateContextAtrribsARB_fix_API_break.patch @@ -0,0 +1,53 @@ +From 627cc6634cd85dc9006ff6f59c39d75fe850b3af Mon Sep 17 00:00:00 2001 +From: Aaron Plattner +Date: Mon, 12 Feb 2018 09:41:59 -0800 +Subject: [PATCH] GLX: Work around 'X_GLXCreateContextAtrribsARB' typo fix API + break + +Older versions of glxproto.h contained a typo where "Attribs" was misspelled. +The typo was fixed in the xorgproto version of glxproto.h, breaking the API. + +Fixes #149. +--- + src/GLX/libglx.c | 14 ++++++++++++-- + 1 file changed, 12 insertions(+), 2 deletions(-) + +diff --git a/src/GLX/libglx.c b/src/GLX/libglx.c +index fbdbf1d..2ba8817 100644 +--- a/src/GLX/libglx.c ++++ b/src/GLX/libglx.c +@@ -53,6 +53,16 @@ + #define GLX_MINOR_VERSION 4 + #define GLX_VERSION_STRING "1.4" + ++/* ++ * Older versions of glxproto.h contained a typo where "Attribs" was misspelled. ++ * The typo was fixed in the xorgproto version of glxproto.h, breaking the API. ++ * Work around that here. ++ */ ++#if !defined(X_GLXCreateContextAttribsARB) && \ ++ defined(X_GLXCreateContextAtrribsARB) ++#define X_GLXCreateContextAttribsARB X_GLXCreateContextAtrribsARB ++#endif ++ + static glvnd_mutex_t clientStringLock = GLVND_MUTEX_INITIALIZER; + + /** +@@ -279,7 +289,7 @@ static GLXContext glXCreateContextAttribsARB(Display *dpy, GLXFBConfig config, + vendor = __glXGetDynDispatch(dpy, screen); + if (vendor == NULL) { + __glXSendError(dpy, BadValue, 0, +- X_GLXCreateContextAtrribsARB, True); ++ X_GLXCreateContextAttribsARB, True); + return None; + } + } +@@ -288,7 +298,7 @@ static GLXContext glXCreateContextAttribsARB(Display *dpy, GLXFBConfig config, + + if (vendor == NULL) { + // We didn't get a GLX_SCREEN attribute, so look at the config instead. +- vendor = CommonDispatchFBConfig(dpy, config, X_GLXCreateContextAtrribsARB); ++ vendor = CommonDispatchFBConfig(dpy, config, X_GLXCreateContextAttribsARB); + } + + if (vendor != NULL && vendor->staticDispatch.createContextAttribsARB != NULL) { diff --git a/libglvnd.spec b/libglvnd.spec index 6f22508..01b2864 100644 --- a/libglvnd.spec +++ b/libglvnd.spec @@ -1,6 +1,6 @@ -#global commit0 8d4d03f77d6e7684ff32180b8ef78aa87d945b49 -#global date 20170818 -#global shortcommit0 %%(c=%%{commit0}; echo ${c:0:7}) +%global commit0 b029c24a6343c3fd1f899c88e5f98053a7150187 +%global date 20180226 +%global shortcommit0 %%(c=%%{commit0}; echo ${c:0:7}) %if 0%{?rhel} && 0%{?rhel} <= 7 %global _without_mesa_glvnd_default 1 @@ -10,16 +10,17 @@ %global with_tests 1 Name: libglvnd -Version: 1.0.0 -Release: 2%{?commit0:.%{date}git%{shortcommit0}}%{?dist} +Version: 1.0.1 +Release: 0.1%{?commit0:.%{date}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: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz -#Source0: %%{url}/archive/%%{commit0}.tar.gz#/%%{name}-%%{shortcommit0}.tar.gz +#Source0: %%{url}/archive/v%%{version}/%%{name}-%%{version}.tar.gz +Source0: %{url}/archive/%{commit0}.tar.gz#/%{name}-%{shortcommit0}.tar.gz +Patch0: %{url}/pull/150.patch#/X_GLXCreateContextAtrribsARB_fix_API_break.patch BuildRequires: libtool BuildRequires: gcc @@ -138,7 +139,7 @@ libGL and libGLX are the common dispatch interface for the GLX API. %prep -%setup -q -n %{name}-%{?commit0}%{?!commit0:%{version}} +%autosetup -p1 -n %{name}-%{?commit0}%{?!commit0:%{version}} %if 0%{?rhel} == 6 autoreconf268 -vif %else @@ -164,18 +165,18 @@ find %{buildroot} -name '*.la' -delete %{?_without_mesa_glvnd_default: # Avoid conflict with mesa-libGL -mkdir -p %{buildroot}%{_libdir}/%{name} +mkdir -p %{buildroot}%{_libdir}/%{name}/ for l in libEGL libGL libGLESv1_CM libGLESv2 libGLX; do mv %{buildroot}%{_libdir}/${l}.so* \ - %{buildroot}%{_libdir}/%{name} + %{buildroot}%{_libdir}/%{name}/ done } # Create directory layout -mkdir -p %{buildroot}%{_sysconfdir}/glvnd/egl_vendor.d -mkdir -p %{buildroot}%{_datadir}/glvnd/egl_vendor.d -mkdir -p %{buildroot}%{_sysconfdir}/egl/egl_external_platform.d -mkdir -p %{buildroot}%{_datadir}/egl/egl_external_platform.d +mkdir -p %{buildroot}%{_sysconfdir}/glvnd/egl_vendor.d/ +mkdir -p %{buildroot}%{_datadir}/glvnd/egl_vendor.d/ +mkdir -p %{buildroot}%{_sysconfdir}/egl/egl_external_platform.d/ +mkdir -p %{buildroot}%{_datadir}/egl/egl_external_platform.d/ %if 0%{?with_tests} @@ -187,21 +188,18 @@ xvfb-run -a make check V=1 || cat `find . -name test-suite.log` %endif -%post -p /sbin/ldconfig -%postun -p /sbin/ldconfig +%ldconfig_scriptlets %files %doc README.md -%dir %{_sysconfdir}/glvnd -%dir %{_datadir}/glvnd +%dir %{_sysconfdir}/glvnd/ +%dir %{_datadir}/glvnd/ %{_libdir}/libGLdispatch.so.0* -%post opengl -p /sbin/ldconfig -%postun opengl -p /sbin/ldconfig +%ldconfig_scriptlets opengl %files opengl %{_libdir}/libOpenGL.so.0* -%post gles -p /sbin/ldconfig -%postun gles -p /sbin/ldconfig +%ldconfig_scriptlets gles %files gles %if 0%{?_without_mesa_glvnd_default} %{_libdir}/%{name}/libGLES*.so.* @@ -209,8 +207,7 @@ xvfb-run -a make check V=1 || cat `find . -name test-suite.log` %{_libdir}/libGLES*.so.* %endif -%post glx -p /sbin/ldconfig -%postun glx -p /sbin/ldconfig +%ldconfig_scriptlets glx %files glx %if 0%{?_without_mesa_glvnd_default} %{_libdir}/%{name}/libGL.so.* @@ -220,11 +217,10 @@ xvfb-run -a make check V=1 || cat `find . -name test-suite.log` %{_libdir}/libGLX.so.* %endif -%post egl -p /sbin/ldconfig -%postun egl -p /sbin/ldconfig +%ldconfig_scriptlets egl %files egl -%dir %{_sysconfdir}/glvnd/egl_vendor.d -%dir %{_datadir}/glvnd/egl_vendor.d +%dir %{_sysconfdir}/glvnd/egl_vendor.d/ +%dir %{_datadir}/glvnd/egl_vendor.d/ %dir %{_sysconfdir}/egl/ %dir %{_sysconfdir}/egl/egl_external_platform.d/ %dir %{_datadir}/egl/ @@ -236,7 +232,7 @@ xvfb-run -a make check V=1 || cat `find . -name test-suite.log` %endif %files core-devel -%dir %{_includedir}/glvnd +%dir %{_includedir}/glvnd/ %{_includedir}/glvnd/*.h %{_libdir}/pkgconfig/*.pc @@ -248,6 +244,10 @@ xvfb-run -a make check V=1 || cat `find . -name test-suite.log` %changelog +* Wed Feb 28 2018 Leigh Scott - 1:1.0.1-0.1.20180226gitb029c24 +- Update snapshot to 20180226 +- Update scriptlets + * Wed Feb 07 2018 Fedora Release Engineering - 1:1.0.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild diff --git a/sources b/sources index 5282ad9..60542af 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (libglvnd-1.0.0.tar.gz) = c6040b0a508a6b74d7113f8e375fcaf93ec6f2875504953f30e2882e58e22f954bd4027a7d9ab8ac41abef266039e5834fdaf4ce2a69d5d98acf3bbdd54f04b6 +SHA512 (libglvnd-b029c24.tar.gz) = 523c68a979c1662ff30ce789861ba67d76faa2d4f55665277d9eb4b557a186fb351612b26e9d3e451387000ad3e21051cfd14c31a5abaac8fed370becdfd139c