Browse Source

egl-wayland package creation

Signed-off-by: guibuilder_pel7x64builder0 <guibuilder@powerel.org>
master
guibuilder_pel7x64builder0 3 years ago
parent
commit
45edbb9a12
  1. 6
      SOURCES/10_nvidia_wayland.json
  2. 36
      SOURCES/9558ec02d0f7bbf30dc1f9ee4c0b06c9b0c49afe.patch
  3. 24
      SOURCES/9c9c4c684983f7b0821f516f8821118170a785ea.patch
  4. 180
      SPECS/egl-wayland.spec

6
SOURCES/10_nvidia_wayland.json

@ -0,0 +1,6 @@ @@ -0,0 +1,6 @@
{
"file_format_version" : "1.0.0",
"ICD" : {
"library_path" : "libnvidia-egl-wayland.so.1"
}
}

36
SOURCES/9558ec02d0f7bbf30dc1f9ee4c0b06c9b0c49afe.patch

@ -0,0 +1,36 @@ @@ -0,0 +1,36 @@
From 9558ec02d0f7bbf30dc1f9ee4c0b06c9b0c49afe Mon Sep 17 00:00:00 2001
From: Erik Kurzinger <ekurzinger@nvidia.com>
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_ = \

24
SOURCES/9c9c4c684983f7b0821f516f8821118170a785ea.patch

@ -0,0 +1,24 @@ @@ -0,0 +1,24 @@
From 9c9c4c684983f7b0821f516f8821118170a785ea Mon Sep 17 00:00:00 2001
From: Erik Kurzinger <ekurzinger@nvidia.com>
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_))

180
SPECS/egl-wayland.spec

@ -0,0 +1,180 @@ @@ -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 <leigh123linux@gmail.com> - 1.1.5-3
- Add upstream patch to address rhbz#1842473

* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.5-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild

* Mon Jun 01 2020 Leigh Scott <leigh123linux@gmail.com> - 1.1.5-1
- Update to 1.1.5

* Mon Mar 30 2020 leigh123linux <leigh123linux@googlemail.com> - 1.1.4-4
- Use upstream commit to address missing mesa includes

* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.4-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild

* Mon Dec 16 2019 Leigh Scott <leigh123linux@gmail.com> - 1.1.4-2
- Add patch to add missing mesa includes

* Sun Sep 15 2019 Leigh Scott <leigh123linux@googlemail.com> - 1.1.4-1
- Update to 1.1.4

* Wed Jul 24 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.3-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild

* Sun Jun 02 2019 Leigh Scott <leigh123linux@googlemail.com> - 1.1.3-1
- Update to 1.1.3

* Tue Apr 16 2019 Adam Williamson <awilliam@redhat.com> - 1.1.2-3
- Rebuild with Meson fix for #1699099

* Sat Mar 30 2019 Leigh Scott <leigh123linux@googlemail.com> - 1.1.2-2
- Switch to upstream fix

* Fri Feb 01 2019 Leigh Scott <leigh123linux@googlemail.com> - 1.1.2-1
- Update to 1.1.2

* Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.1-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild

* Thu Dec 06 2018 Leigh Scott <leigh123linux@googlemail.com> - 1.1.1-3
- Fix the same crappy warning f28 generates

* Thu Dec 06 2018 Leigh Scott <leigh123linux@googlemail.com> - 1.1.1-2
- Fix the crappy warning epel7 generates

* Thu Dec 06 2018 Leigh Scott <leigh123linux@googlemail.com> - 1.1.1-1
- Update to 1.1.1

* Mon Nov 26 2018 Leigh Scott <leigh123linux@googlemail.com> - 1.1.0-0.2.20181015git0eb29d4
- Update to latest git snapshot (rhbz#1653118)

* Mon Aug 20 2018 Leigh Scott <leigh123linux@googlemail.com> - 1.1.0-0.1.20180916git1676d1d
- Update to 1.1.0 snapshot

* Thu Jul 12 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.5-0.2.20180626git395ce9f
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild

* Sat Jun 30 2018 Leigh Scott <leigh123linux@googlemail.com> - 1.0.5-0.1.20180626git395ce9f
- Update to 1.0.5 snapshot

* Sat Jun 16 2018 Leigh Scott <leigh123linux@googlemail.com> - 1.0.4-0.1.20180602git4ab0873
- Update to 1.0.4 snapshot

* Tue Feb 06 2018 Leigh Scott <leigh123linux@googlemail.com> - 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 <jadahl@redhat.com> - 1.0.3-1.20180111gitb283689
- Update to 1.0.3
- Add -devel package

* Thu Aug 03 2017 Leigh Scott <leigh123linux@googlemail.com> - 1.0.2-0.4.20170802git1f4b1fd
- Update to latest git snapshot

* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.2-0.3.20170628git818b613
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild

* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.2-0.2.20170628git818b613
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild

* Wed Jun 28 2017 Leigh Scott <leigh123linux@googlemail.com> - 1.0.2-0.1.20170628git818b613
- Update to 1.0.2 git

* Wed Mar 08 2017 Leigh Scott <leigh123linux@googlemail.com> - 1.0.1-0.1.20170308git582fbf3
- Update to 1.0.1 git

* Tue Feb 07 2017 Leigh Scott <leigh123linux@googlemail.com> - 1.0.0-0.7.20170207git05eb000
- Add license file

* Thu Feb 02 2017 Leigh Scott <leigh123linux@googlemail.com> - 1.0.0-0.6.20170120git743d702
- Add requires libglvnd-egl
- Make review changes

* Wed Feb 01 2017 Leigh Scott <leigh123linux@googlemail.com> - 1.0.0-0.5.20170120git743d702
- Drop devel sub-package

* Wed Feb 01 2017 Leigh Scott <leigh123linux@googlemail.com> - 1.0.0-0.4.20170120git743d702
- Add 10_nvidia_wayland.json to libs sub-package

* Wed Feb 01 2017 Leigh Scott <leigh123linux@googlemail.com> - 1.0.0-0.3.20170120git743d702
- Add loader directory to common sub-package
- Move libs to sub-package

* Fri Jan 20 2017 Leigh Scott <leigh123linux@googlemail.com> - 1.0.0-0.2.20170120git743d702
- Add date to release

* Fri Jan 20 2017 Leigh Scott <leigh123linux@googlemail.com> - 1.0.0-0.1.git743d702
- First build

Loading…
Cancel
Save