File libnvidia-egl-wayland.spec of Package libnvidia-egl-wayland-1.1.17-43.4

#
# spec file for package libnvidia-egl-wayland
#
# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via https://bugs.opensuse.org/
#


%define so_ver 1
%define lname libnvidia-egl-wayland%{so_ver}
%define rname egl-wayland
Name:           libnvidia-egl-wayland
Version:        1.1.17
Release:        43.4
Summary:        The EGLStream-based Wayland external platform
License:        MIT
Group:          Development/Libraries/C and C++
URL:            https://github.com/NVIDIA/egl-wayland
Source0:        https://github.com/NVIDIA/egl-wayland/archive/%{version}/%{rname}-%{version}.tar.gz
Source1:        baselibs.conf
BuildRequires:  gcc-c++
BuildRequires:  meson >= 0.50
BuildRequires:  ninja
BuildRequires:  pkgconfig
BuildRequires:  pkgconfig(egl)
BuildRequires:  pkgconfig(eglexternalplatform) >= 1.1
BuildRequires:  pkgconfig(libdrm)
BuildRequires:  pkgconfig(wayland-client)
BuildRequires:  pkgconfig(wayland-egl-backend) >= 3
BuildRequires:  pkgconfig(wayland-protocols)
BuildRequires:  pkgconfig(wayland-scanner)
BuildRequires:  pkgconfig(wayland-server)
BuildRequires:  pkgconfig(x11)

%description
This is an implementation of a EGL External Platform library to add client-side
Wayland support to EGL on top of EGLDevice and EGLStream families of extensions.

This library implements an EGL External Platform interface to work along with
EGL drivers that support the external platform mechanism.

%package -n %{lname}
Summary:        The EGLStream-based Wayland external platform
Group:          System/Libraries

%description -n %{lname}
This is an implementation of a EGL External Platform library to add client-side
Wayland support to EGL on top of EGLDevice and EGLStream families of extensions.

This library implements an EGL External Platform interface to work along with
EGL drivers that support the external platform mechanism.

%package -n libnvidia-egl-wayland-devel
Summary:        Development package for %{name}
Group:          Development/Languages/C and C++
Requires:       %{lname} = %{version}-%{release}

%description -n libnvidia-egl-wayland-devel
This is an implementation of a EGL External Platform library to add client-side
Wayland support to EGL on top of EGLDevice and EGLStream families of extensions.

This library implements an EGL External Platform interface to work along with
EGL drivers that support the external platform mechanism.

This package provides headers and libraries required to build software
using %{name}.

%prep
%autosetup -n %{rname}-%{version} -p1

%build
export LDFLAGS="-Wl,-z,noexecstack -Wl,-z,now -Wl,-z,relro %{?_lto_cflags}"
%meson
%meson_build

%install
%meson_install

%post -n %{lname} -p /sbin/ldconfig
%postun -n %{lname} -p /sbin/ldconfig

%files -n %{lname}
%license COPYING
%doc README.md
%{_libdir}/libnvidia-egl-wayland.so.%{so_ver}*
%{_datadir}/wayland-eglstream/
%dir %{_datadir}/egl
%dir %{_datadir}/egl/egl_external_platform.d
%{_datadir}/egl/egl_external_platform.d/10_nvidia_wayland.json

%files -n libnvidia-egl-wayland-devel
%license COPYING
%doc README.md
%{_libdir}/libnvidia-egl-wayland.so
%{_libdir}/pkgconfig/wayland-eglstream.pc
%{_datadir}/pkgconfig/wayland-eglstream-protocols.pc

%changelog
* Wed Dec 11 2024 Stefan Dirsch <sndirsch@suse.com>
- update to 1.1.17 tarball; no source code changes; actually we
  had 1.1.7 before without noticing it ...
- supersedes
  * 0001-egl-wayland-bump-version-to-1.1.17.patch
  * 0002-Fix-the-include-path-for-drm_fourcc.h.patch
  * 0003-Fix-a-declaration-after-code.patch
  * 0004-egl-swap-provide-damage-rectangles-to-wl_surface.patch
  * 0005-Use-INT32_MAX-for-wl_surface_damage.patch
  * 0006-egl-wayland-Accept-device-name-from-either-wl_drm-or.patch
  * 0007-egl-wayland-fix-device-name-case-where-only-wl_drm-e.patch
  * 0008-Add-ICD-json-file.patch
  * 0009-egl-wayland-Fix-roundtrip-eating-wl_drm-events-in-ge.patch
  * 0001-egl-wayland-enable-CI-with-github-actions.patch
  * 0002-egl-wayland-Fix-use-after-free-in-library-teardown.patch
  * 0003-egl-wayland-Handle-failure-to-acquire-image-in-wlEgl.patch
  * 0001-Fix-a-segfault-in-wlEglCreatePlatformWindowSurfaceHo.patch
  * 0002-Check-for-a-duplicate-wl_surface-in-wlEglCreatePlatf.patch
* Fri Dec  6 2024 Stefan Dirsch <sndirsch@suse.com>
- 0001-Fix-a-segfault-in-wlEglCreatePlatformWindowSurfaceHo.patch
  0002-Check-for-a-duplicate-wl_surface-in-wlEglCreatePlatf.patch
  * apply latest fixes from git (jsc#PED-11284)
* Wed Nov  6 2024 Stefan Dirsch <sndirsch@suse.com>
- 0001-egl-wayland-enable-CI-with-github-actions.patch
  0002-egl-wayland-Fix-use-after-free-in-library-teardown.patch
  0003-egl-wayland-Handle-failure-to-acquire-image-in-wlEgl.patch
  * apply latest fixes from git (jsc#PED-11284)
* Mon Oct  7 2024 Stefan Dirsch <sndirsch@suse.com>
- 0001-egl-wayland-bump-version-to-1.1.17.patch
  0002-Fix-the-include-path-for-drm_fourcc.h.patch
  0003-Fix-a-declaration-after-code.patch
  0004-egl-swap-provide-damage-rectangles-to-wl_surface.patch
  0005-Use-INT32_MAX-for-wl_surface_damage.patch
  0006-egl-wayland-Accept-device-name-from-either-wl_drm-or.patch
  0007-egl-wayland-fix-device-name-case-where-only-wl_drm-e.patch
  0008-Add-ICD-json-file.patch
  0009-egl-wayland-Fix-roundtrip-eating-wl_drm-events-in-ge.patch
  * apply latest fixes including adding ICD json file; related:
    https://github.com/openSUSE/nvidia-driver-G06/issues/26
* Thu Aug 22 2024 RN <R_Nik_C@proton.me>
- update to version 1.1.16:
  * Fix a crash due to an assertion firing during surface
    destruction, which affected Qt6 webengine
  * Add an explicit dependency on the EGL headers
* Sat Aug 10 2024 RN <R_Nik_C@proton.me>
- update to version 1.1.15:
  * Significant stability fixes for explicit sync which prevents
    crashes with Firefox/moonlight/more
  * Added the `__NV_DISABLE_EXPLICIT_SYNC` environment variable.
    Specifying `__NV_DISABLE_EXPLICIT_SYNC=1` disables the use of
    the linux-drm-syncobj-v1 protocol
  * Fix an issue causing KDE crashes, which also caused excessive
    VRAM usage when resizing
  * Fix race condition in damage_thread
* Fri Jul 19 2024 RN <R_Nik_C@proton.me>
- update to version 1.1.14:
  * Implement Explicit Sync (linux-drm-syncobj-v1)
  * Fix freezing on KDE when explicit sync is enabled under certain
    conditions
  * Read compositor device from zwp_linux_dmabuf_v1 when available
  * Properly validate and use the passed value of
    EGL_EXT_present_opaque
* Sun Nov 12 2023 Florian "spirit" <packaging@sp1rit.anonaddy.me>
- update to version 1.1.13:
  * Fixed a bug where PRIME render-offload was not working with KDE
  * Fixed some more warnings from libwayland-client.so when closing
    applications
  * Fixed a bug that was causing intermittent segfaults in
    wlEglDestroyFormatSet (notably affecting Firefox)
  * Avoid unnecessarily calling eglQueryDeviceEXT during application
    start-up on PRIME systems. This was both slow and would turn on
  the dGPU wasting power.
* Sat Jun 10 2023 Nicola Pellegrini <xbb.7khj8@8shield.net>
- update to version 1.1.12
  * Added support for version 4 of the Linux DMA-BUF protocol
  * Added support for EGL_EXT_explicit_device extension
* Fri Nov  4 2022 Stefan Dirsch <sndirsch@suse.com>
- update to version 1.1.11
  * latest bugfix release
- supersedes
  * U_0001-wayland-Fail-eglGetDisplay-if-wl_drm-is-not-availabl.patch
  * U_0002-generate-wayland-drm-client-protocol.h.patch
  * U_0003-egl-wayland-retrieve-DRM-device-name-before-acquirin.patch
* Thu Apr 21 2022 Stefan Dirsch <sndirsch@suse.com>
- U_0001-wayland-Fail-eglGetDisplay-if-wl_drm-is-not-availabl.patch
  U_0002-generate-wayland-drm-client-protocol.h.patch
  U_0003-egl-wayland-retrieve-DRM-device-name-before-acquirin.patch
  * add latest fixes (U_0003-egl-wayland ... fixes boo#1195598)
* Thu Apr 14 2022 Stefan Dirsch <sndirsch@suse.com>
- baselibs.conf
  * Add 32-bit package variants. These are required for any EGL-using
    32-bit wayland binary (which is pretty much all of them) to work
    at all: without it, running any 32-bit game under wayland will
    segfault on startup. With SDL 2.0.22 planning to use wayland by
    default, this is pretty important, as all 32-bit SDL programs will
    break.
* Mon Jan 10 2022 Stefan Dirsch <sndirsch@suse.com>
- update to version 1.1.9, which is needed by new 5xx.yy.zz
  Nvidia driver (upcoming G06 driver series)
* Mon Sep 27 2021 Stefan Dirsch <sndirsch@suse.com>
- needed for jira#SLE/SLE-19965, jira#SLE/SLE-19964, jira#SLE/SLE-18653
* Sun Jul  4 2021 Callum Farmer <gmbr3@opensuse.org>
- Use better tarball URL
- Run spec-cleaner
* Thu Jul  1 2021 Stefan Dirsch <sndirsch@suse.com>
- added webpage for source tarballs to specfile
* Thu Jul  1 2021 Jan Engelhardt <jengelh@inai.de>
- Throw out ancient specfile constructs like BuildRoot and
  defattr that have had proper defaults for long. Use more of the
  contemporary macros, and drop all the nonstandard CFLAGS/LDFLAGS,
  drop the unconditional strip calls.
* Thu Jul  1 2021 Stefan Dirsch <sndirsch@suse.com>
- added missing copyright to specfile
* Thu Jul  1 2021 Stefan Dirsch <sndirsch@suse.com>
- tried to address checkin policy issues for factory
* Thu Jul  1 2021 Alexander Evseev <aevseev@gmail.com> - 1.1.7
- First build. Version - 1.1.7
openSUSE Build Service is sponsored by