From c41dbd3400413dc8fb4c8e5606104e45ec451586 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20=C5=A0abata?= Date: Wed, 14 Oct 2020 23:59:16 +0200 Subject: [PATCH] RHEL 9.0.0 Alpha bootstrap The content of this branch was automatically imported from Fedora ELN with the following as its source: https://src.fedoraproject.org/rpms/egl-wayland#8fb8070207391ccc14e42b6069508f3ab2b0146c --- .gitignore | 16 ++ 10_nvidia_wayland.json | 6 + ...ec02d0f7bbf30dc1f9ee4c0b06c9b0c49afe.patch | 36 ++++ ...4c684983f7b0821f516f8821118170a785ea.patch | 24 +++ egl-wayland.spec | 180 ++++++++++++++++++ sources | 1 + 6 files changed, 263 insertions(+) create mode 100644 10_nvidia_wayland.json create mode 100644 9558ec02d0f7bbf30dc1f9ee4c0b06c9b0c49afe.patch create mode 100644 9c9c4c684983f7b0821f516f8821118170a785ea.patch create mode 100644 egl-wayland.spec create mode 100644 sources diff --git a/.gitignore b/.gitignore index e69de29..d6dee5e 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1,16 @@ +/egl-wayland-743d702fac0feb02d52ff34deadecb32284f18ea.tar.gz +/egl-wayland-05eb0003bf9d17a16452f10aae13e66f4cfd6cda.tar.gz +/egl-wayland-582fbf371105d0cc082ff804481f6d28cf4bc8f0.tar.gz +/egl-wayland-818b6135ad6883afbaec83f5da0d3204238416a7.tar.gz +/egl-wayland-1f4b1fde684595fe28e250b7429e028a7bb7d40d.tar.gz +/egl-wayland-b283689e369116aaf41ffac70d4eeef19ce133a4.tar.gz +/egl-wayland-6f5f7d0d50287b810e9dec4718d3cf995fed809a.tar.gz +/egl-wayland-4ab087336614770c524cc51d8f9befa719d80cc9.tar.gz +/egl-wayland-395ce9f609fbf66f6cab622aec3ded663e089f84.tar.gz +/egl-wayland-1676d1d2bfe646fb3ecbba29a85db529dd399493.tar.gz +/egl-wayland-0eb29d4a84788b2abb3642ec2d3ccec0b0befe36.tar.gz +/egl-wayland-1.1.1.tar.gz +/egl-wayland-1.1.2.tar.gz +/egl-wayland-1.1.3.tar.gz +/egl-wayland-1.1.4.tar.gz +/egl-wayland-1.1.5.tar.gz diff --git a/10_nvidia_wayland.json b/10_nvidia_wayland.json new file mode 100644 index 0000000..c08a641 --- /dev/null +++ b/10_nvidia_wayland.json @@ -0,0 +1,6 @@ +{ + "file_format_version" : "1.0.0", + "ICD" : { + "library_path" : "libnvidia-egl-wayland.so.1" + } +} diff --git a/9558ec02d0f7bbf30dc1f9ee4c0b06c9b0c49afe.patch b/9558ec02d0f7bbf30dc1f9ee4c0b06c9b0c49afe.patch new file mode 100644 index 0000000..def0448 --- /dev/null +++ b/9558ec02d0f7bbf30dc1f9ee4c0b06c9b0c49afe.patch @@ -0,0 +1,36 @@ +From 9558ec02d0f7bbf30dc1f9ee4c0b06c9b0c49afe Mon Sep 17 00:00:00 2001 +From: Erik Kurzinger +Date: Fri, 14 Aug 2020 07:27:58 -0700 +Subject: [PATCH] suspend lock in eglBindWaylandDisplayWL + +When binding an external EGL display to a Wayland display, core EGL will +need to translate the external handle to an internal handle before +performing any API calls. This may occur, for example, when running a +nested Wayland compositor where the EGL display will be using +EGL_PLATFORM_WAYLAND as opposed to EGL_PLATFORM_DEVICE. Translating this +handle involves calling wlEglGetInternalHandleExport, which attempts to +acquire the external API lock. However, during eglBindWaylandDisplayWL this +lock is already held. As a result, when wl_eglstream_display_bind calls +eglQueryString to retrieve the extension string, this lock acquisition will +fail causing a crash. + +To fix this, wl_eglstream_display_bind should temporarily suspend the API +lock before calling eglQueryString. +--- + src/wayland-eglstream-server.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/src/wayland-eglstream-server.c b/src/wayland-eglstream-server.c +index c37f8e6..331ad32 100644 +--- a/src/wayland-eglstream-server.c ++++ b/src/wayland-eglstream-server.c +@@ -308,7 +308,9 @@ wl_eglstream_display_bind(WlEglPlatformData *data, + wlStreamDpy->eglDisplay = eglDisplay; + wlStreamDpy->caps_override = 0; + ++ wlExternalApiUnlock(); + exts = data->egl.queryString(eglDisplay, EGL_EXTENSIONS); ++ wlExternalApiLock(); + + #define CACHE_EXT(_PREFIX_, _NAME_) \ + wlStreamDpy->exts._NAME_ = \ diff --git a/9c9c4c684983f7b0821f516f8821118170a785ea.patch b/9c9c4c684983f7b0821f516f8821118170a785ea.patch new file mode 100644 index 0000000..194f2b4 --- /dev/null +++ b/9c9c4c684983f7b0821f516f8821118170a785ea.patch @@ -0,0 +1,24 @@ +From 9c9c4c684983f7b0821f516f8821118170a785ea Mon Sep 17 00:00:00 2001 +From: Erik Kurzinger +Date: Fri, 14 Aug 2020 14:17:25 -0700 +Subject: [PATCH] include wayland-thread.h from wayland-eglstream-server.c + +The previous commit referenced functions declared in wayland-thread.h +from wayland-eglstream-server.c, but neglected to add the required +include directive. +--- + src/wayland-eglstream-server.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/wayland-eglstream-server.c b/src/wayland-eglstream-server.c +index 331ad32..a62d7db 100644 +--- a/src/wayland-eglstream-server.c ++++ b/src/wayland-eglstream-server.c +@@ -40,6 +40,7 @@ + #include "wayland-eglstream.h" + #include "wayland-eglswap.h" + #include "wayland-eglutils.h" ++#include "wayland-thread.h" + + #define MASK(_VAL_) (1 << (_VAL_)) + diff --git a/egl-wayland.spec b/egl-wayland.spec new file mode 100644 index 0000000..f959c1a --- /dev/null +++ b/egl-wayland.spec @@ -0,0 +1,180 @@ +Name: egl-wayland +Version: 1.1.5 +Release: 3%{?dist} +Summary: Wayland EGL External Platform library + +License: MIT +URL: https://github.com/NVIDIA/%{name} +Source0: %url/archive/%{version}/%{name}-%{version}.tar.gz +Source1: 10_nvidia_wayland.json +Patch0: %url/commit/9558ec02d0f7bbf30dc1f9ee4c0b06c9b0c49afe.patch +Patch1: %url/commit/9c9c4c684983f7b0821f516f8821118170a785ea.patch + +BuildRequires: meson +BuildRequires: libtool +BuildRequires: eglexternalplatform-devel +%if 0%{?fedora} > 31 +BuildRequires: libglvnd-devel +%else +BuildRequires: mesa-libEGL-devel +%endif +BuildRequires: wayland-devel + +# Required for directory ownership +Requires: libglvnd-egl%{?_isa} + +%description +Wayland EGL External Platform library + +%package devel +Summary: Wayland EGL External Platform library development package +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description devel +Wayland EGL External Platform library development package + +%prep +%autosetup -p1 +%if 0%{?rhel} >= 7 +sed -i -e 's@>= 0.50@>= 0.47@g' meson.build +%endif + +%build +%meson +%meson_build + + +%install +%meson_install +install -m 0755 -d %{buildroot}%{_datadir}/egl/egl_external_platform.d/ +install -pm 0644 %{SOURCE1} %{buildroot}%{_datadir}/egl/egl_external_platform.d/ +find %{buildroot} -name '*.la' -exec rm -f {} ';' + + +%ldconfig_scriptlets + + +%files +%doc README.md +%license COPYING +%{_libdir}/*.so.* +%{_datadir}/egl/egl_external_platform.d/10_nvidia_wayland.json + +%files devel +%{_libdir}/libnvidia-egl-wayland.so +%{_datadir}/pkgconfig/wayland-eglstream.pc +%{_datadir}/pkgconfig/wayland-eglstream-protocols.pc +%{_datadir}/wayland-eglstream/ + +%changelog +* Fri Aug 14 2020 Leigh Scott - 1.1.5-3 +- Add upstream patch to address rhbz#1842473 + +* Mon Jul 27 2020 Fedora Release Engineering - 1.1.5-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Mon Jun 01 2020 Leigh Scott - 1.1.5-1 +- Update to 1.1.5 + +* Mon Mar 30 2020 leigh123linux - 1.1.4-4 +- Use upstream commit to address missing mesa includes + +* Tue Jan 28 2020 Fedora Release Engineering - 1.1.4-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Mon Dec 16 2019 Leigh Scott - 1.1.4-2 +- Add patch to add missing mesa includes + +* Sun Sep 15 2019 Leigh Scott - 1.1.4-1 +- Update to 1.1.4 + +* Wed Jul 24 2019 Fedora Release Engineering - 1.1.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Sun Jun 02 2019 Leigh Scott - 1.1.3-1 +- Update to 1.1.3 + +* Tue Apr 16 2019 Adam Williamson - 1.1.2-3 +- Rebuild with Meson fix for #1699099 + +* Sat Mar 30 2019 Leigh Scott - 1.1.2-2 +- Switch to upstream fix + +* Fri Feb 01 2019 Leigh Scott - 1.1.2-1 +- Update to 1.1.2 + +* Thu Jan 31 2019 Fedora Release Engineering - 1.1.1-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Thu Dec 06 2018 Leigh Scott - 1.1.1-3 +- Fix the same crappy warning f28 generates + +* Thu Dec 06 2018 Leigh Scott - 1.1.1-2 +- Fix the crappy warning epel7 generates + +* Thu Dec 06 2018 Leigh Scott - 1.1.1-1 +- Update to 1.1.1 + +* Mon Nov 26 2018 Leigh Scott - 1.1.0-0.2.20181015git0eb29d4 +- Update to latest git snapshot (rhbz#1653118) + +* Mon Aug 20 2018 Leigh Scott - 1.1.0-0.1.20180916git1676d1d +- Update to 1.1.0 snapshot + +* Thu Jul 12 2018 Fedora Release Engineering - 1.0.5-0.2.20180626git395ce9f +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Sat Jun 30 2018 Leigh Scott - 1.0.5-0.1.20180626git395ce9f +- Update to 1.0.5 snapshot + +* Sat Jun 16 2018 Leigh Scott - 1.0.4-0.1.20180602git4ab0873 +- Update to 1.0.4 snapshot + +* Tue Feb 06 2018 Leigh Scott - 1.0.3-2.20180201git6f5f7d0 +- Update to latest git snapshot +- Switch to meson +- Install .so file to -devel as it's listed in wayland-eglstream.pc +- Fix directory ownership + +* Wed Jan 31 2018 Jonas Ã…dahl - 1.0.3-1.20180111gitb283689 +- Update to 1.0.3 +- Add -devel package + +* Thu Aug 03 2017 Leigh Scott - 1.0.2-0.4.20170802git1f4b1fd +- Update to latest git snapshot + +* Wed Aug 02 2017 Fedora Release Engineering - 1.0.2-0.3.20170628git818b613 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Wed Jul 26 2017 Fedora Release Engineering - 1.0.2-0.2.20170628git818b613 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Wed Jun 28 2017 Leigh Scott - 1.0.2-0.1.20170628git818b613 +- Update to 1.0.2 git + +* Wed Mar 08 2017 Leigh Scott - 1.0.1-0.1.20170308git582fbf3 +- Update to 1.0.1 git + +* Tue Feb 07 2017 Leigh Scott - 1.0.0-0.7.20170207git05eb000 +- Add license file + +* Thu Feb 02 2017 Leigh Scott - 1.0.0-0.6.20170120git743d702 +- Add requires libglvnd-egl +- Make review changes + +* Wed Feb 01 2017 Leigh Scott - 1.0.0-0.5.20170120git743d702 +- Drop devel sub-package + +* Wed Feb 01 2017 Leigh Scott - 1.0.0-0.4.20170120git743d702 +- Add 10_nvidia_wayland.json to libs sub-package + +* Wed Feb 01 2017 Leigh Scott - 1.0.0-0.3.20170120git743d702 +- Add loader directory to common sub-package +- Move libs to sub-package + +* Fri Jan 20 2017 Leigh Scott - 1.0.0-0.2.20170120git743d702 +- Add date to release + +* Fri Jan 20 2017 Leigh Scott - 1.0.0-0.1.git743d702 +- First build + diff --git a/sources b/sources new file mode 100644 index 0000000..20a0171 --- /dev/null +++ b/sources @@ -0,0 +1 @@ +SHA512 (egl-wayland-1.1.5.tar.gz) = 53578214d07e344b2d9737077529205270bc84d972262c4a45df449d37815d343a252c42f46daf3a436ca97ab43a094fc11dddc9849a857c641a4912f9d8ab79