Update wayland.spec

This commit is contained in:
2025-11-18 13:09:23 +09:00
parent 7511601c9b
commit 3048f6256e

View File

@@ -1,17 +1,16 @@
Name: wayland
Version: 1.24.0
Release: 0
Summary: Wayland Compositor Infrastructure
License: MIT
Group: Development/Libraries/C and C++
URL: https://wayland.freedesktop.org/
#Git-Clone: git://anongit.freedesktop.org/wayland/wayland
#Git-Web: http://cgit.freedesktop.org/wayland/wayland/
Source: https://gitlab.freedesktop.org/wayland/wayland/-/releases/%version/downloads/wayland-%version.tar.xz
Source2: https://gitlab.freedesktop.org/wayland/wayland/-/releases/%version/downloads/wayland-%version.tar.xz.sig
Source3: %name.keyring
Source4: baselibs.conf
#!RemoteAsset
Source0: https://gitlab.freedesktop.org/wayland/wayland/-/releases/%{version}/downloads/wayland-%{version}.tar.xz
Source1: https://gitlab.freedesktop.org/wayland/wayland/-/releases/%{version}/downloads/wayland-%{version}.tar.xz.sig
Source2: %name.keyring
Source3: baselibs.conf
BuildSystem: meson
BuildRequires: c++_compiler
BuildRequires: c_compiler
BuildRequires: libxml2-tools
@@ -22,11 +21,9 @@ BuildRequires: xz
BuildRequires: pkgconfig(expat)
BuildRequires: pkgconfig(libffi)
BuildRequires: pkgconfig(libxml-2.0)
%if %{with doc}
BuildRequires: doxygen
BuildRequires: graphviz-gnome
BuildRequires: xmlto
%endif
%description
Wayland is a protocol for a compositor to talk to its clients as well
@@ -37,150 +34,70 @@ The clients can be traditional applications, X servers (rootless or
fullscreen) or other display servers.
%package -n libwayland-client0
Summary: Wayland core client library
Group: System/Libraries
Summary: Wayland client library
%description -n libwayland-client0
Wayland is a protocol for a compositor to talk to its clients as well
as a C library implementation of that protocol. The compositor can be
a standalone display server running on Linux kernel modesetting and
evdev input devices, an X application, or a wayland client itself.
The clients can be traditional applications, X servers (rootless or
fullscreen) or other display servers.
This package contains the Wayland client library, libwayland-client.
%package -n libwayland-cursor0
Summary: Wayland cursor library
Group: System/Libraries
%description -n libwayland-cursor0
The purpose of this library is to be the equivalent of libXcursor in
the X world. This library is compatible with X cursor themes and
loads them directly into an shm pool making it easy for the clients
to get buffer for each cursor image.
This package contains the Wayland cursor library, libwayland-cursor.
%package -n libwayland-egl1
Version: %eglversion
Summary: Additional egl functions for wayland
Group: System/Libraries
Summary: Wayland EGL library
%description -n libwayland-egl1
This package provides additional functions for EGL-using programs
that run within the Wayland framework. This allows for applications
that need not run full-screen and cooperate with a compositor.
This package contains the Wayland EGL library, libwayland-egl.
%package -n libwayland-server0
Summary: Wayland core server library
Group: System/Libraries
Summary: Wayland server library
%description -n libwayland-server0
Wayland is a protocol for a compositor to talk to its clients as well
as a C library implementation of that protocol. The compositor can be
a standalone display server running on Linux kernel modesetting and
evdev input devices, an X application, or a wayland client itself.
The clients can be traditional applications, X servers (rootless or
fullscreen) or other display servers.
This package contains the Wayland server library, libwayland-server.
%package devel
Summary: Development files for the Wayland Compositor Infrastructure
Group: Development/Libraries/C and C++
Requires: libwayland-client0 = %_version
Requires: libwayland-cursor0 = %_version
Requires: libwayland-egl1 = %eglversion
Requires: libwayland-server0 = %_version
%if 0%{?suse_version} >= 1500
# egl1 was once provided by Mesa 17.x.
%if (0%{?suse_version} >= 1550 || 0%{?sle_version} >= 150400)
Provides: libwayland-egl-devel = 18.1.5
Obsoletes: libwayland-egl-devel < 18.1.5
%else
Provides: libwayland-egl-devel = 18.0.2
Obsoletes: libwayland-egl-devel < 18.0.2
%endif
%endif
Summary: Development files for Wayland
Requires: libwayland-client0 = %{version}-%{release}
Requires: libwayland-cursor0 = %{version}-%{release}
Requires: libwayland-egl1 = %{version}-%{release}
Requires: libwayland-server0 = %{version}-%{release}
Requires: pkgconfig
%description devel
Wayland is a protocol for a compositor to talk to its clients as well
as a C library implementation of that protocol. The compositor can be
a standalone display server running on Linux kernel modesetting and
evdev input devices, an X application, or a wayland client itself.
The clients can be traditional applications, X servers (rootless or
fullscreen) or other display servers.
This package contains all necessary include files and libraries needed
to develop applications that require these.
This package contains the headers, libraries and tools needed to develop
Wayland-based applications, including the wayland-scanner tool.
%package doc
Summary: Wayland development documentation
Group: Documentation/HTML
BuildArch: noarch
Summary: Documentation for Wayland
%description doc
This subpackage contains the documentation to Wayland.
%prep
%autosetup -p1
sed -i 's/<eglversion>/%eglversion/' "%_sourcedir/baselibs.conf"
%build
# includedir intentional, cf. bugzilla.opensuse.org/795968
%meson \
--includedir="%_includedir/%name" \
%if %{with doc}
--docdir="%_defaultdocdir/%name"
%else
-D documentation=false
%endif
%meson_build
%install
%meson_install
%if %{enable_test}
%check
%meson_test
%endif
%if 0%{?suse_version} >= 1550
%ldconfig_scriptlets -n libwayland-client0
%ldconfig_scriptlets -n libwayland-cursor0
%ldconfig_scriptlets -n libwayland-egl1
%ldconfig_scriptlets -n libwayland-server0
%else
%post -n libwayland-client0 -p /sbin/ldconfig
%postun -n libwayland-client0 -p /sbin/ldconfig
%post -n libwayland-cursor0 -p /sbin/ldconfig
%postun -n libwayland-cursor0 -p /sbin/ldconfig
%post -n libwayland-egl1 -p /sbin/ldconfig
%postun -n libwayland-egl1 -p /sbin/ldconfig
%post -n libwayland-server0 -p /sbin/ldconfig
%postun -n libwayland-server0 -p /sbin/ldconfig
%endif
This package contains the API documentation for Wayland.
%files -n libwayland-client0
%_libdir/libwayland-client.so.0*
%license COPYING
%{_libdir}/libwayland-client.so.0*
%files -n libwayland-cursor0
%_libdir/libwayland-cursor.so.0*
%{_libdir}/libwayland-cursor.so.0*
%files -n libwayland-egl1
%_libdir/libwayland-egl.so.1*
%{_libdir}/libwayland-egl.so.1*
%files -n libwayland-server0
%_libdir/libwayland-server.so.0*
%{_libdir}/libwayland-server.so.0*
%files devel
%_bindir/wayland-scanner
%_includedir/%name/
%_libdir/libwayland-*.so
%_libdir/pkgconfig/wayland-*.pc
%_datadir/aclocal/
%_datadir/wayland/
%{_bindir}/wayland-scanner
%{_includedir}/%{name}/
%{_libdir}/libwayland-*.so
%{_libdir}/pkgconfig/wayland-*.pc
%{_datadir}/aclocal/
%{_datadir}/wayland/
%if %{with doc}
%files doc
%_mandir/man3/wl*.3*
%_docdir/%name/
%endif
%{_mandir}/man3/wl*.3*
%{_docdir}/%{name}/
%changelog
%changelog