File wayland.spec of Package wayland
Name: wayland
Version: 1.24.0
Epoch: 1
Release: %mkrel 1.mga9
Summary: Wayland core protocol libraries
License: MIT
URL: https://wayland.freedesktop.org/
Source0: wayland-%{version}.tar.xz
Source1: meson-1.3.1.tar.gz
BuildRequires: gcc
BuildRequires: meson
BuildRequires: ninja
BuildRequires: pkgconfig(expat)
BuildRequires: pkgconfig(libffi)
BuildRequires: pkgconfig(libxml-2.0)
%description
Wayland is a protocol for a compositor to talk to its clients as well as a C
library implementation of that protocol. It provides the fundamental building
blocks for a Wayland compositor and clients.
%prep
%autosetup -p1
tar -xf %{SOURCE1}
%build
python3 meson-1.3.1/meson.py setup builddir \
--prefix=%{_prefix} \
--libdir=%{_libdir} \
-Ddocumentation=false
ninja -C builddir
%install
DESTDIR=%{buildroot} ninja -C builddir install
# --- Main package: docs + pkgconfig only ---
%files
%license COPYING
%doc README.md
%{_libdir}/pkgconfig/wayland-*.pc
# --- Runtime libraries split into subpackages ---
%package -n lib64wayland-client0
Summary: Wayland client library
Group: System/Libraries
Provides: lib64wayland-client0 = %{epoch}:%{version}
Obsoletes: lib64wayland-client0 < %{epoch}:%{version}
%description -n lib64wayland-client0
This package contains the Wayland client runtime library.
%files -n lib64wayland-client0
%{_libdir}/libwayland-client.so.*
%package -n lib64wayland-server0
Summary: Wayland server library
Group: System/Libraries
Provides: lib64wayland-server0 = %{epoch}:%{version}
Obsoletes: lib64wayland-server0 < %{epoch}:%{version}
%description -n lib64wayland-server0
This package contains the Wayland server runtime library.
%files -n lib64wayland-server0
%{_libdir}/libwayland-server.so.*
%package -n lib64wayland-egl1
Summary: Wayland EGL library
Group: System/Libraries
Provides: lib64wayland-egl1 = %{epoch}:%{version}
Obsoletes: lib64wayland-egl1 < %{epoch}:%{version}
%description -n lib64wayland-egl1
This package contains the Wayland EGL runtime library.
%files -n lib64wayland-egl1
%{_libdir}/libwayland-egl.so.*
%package -n lib64wayland-cursor0
Summary: Wayland cursor library
Group: System/Libraries
Provides: lib64wayland-cursor0 = %{epoch}:%{version}
Obsoletes: lib64wayland-cursor0 < %{epoch}:%{version}
%description -n lib64wayland-cursor0
This package contains the Wayland cursor runtime library.
%files -n lib64wayland-cursor0
%{_libdir}/libwayland-cursor.so.*
# --- Development files ---
%package devel
Summary: Development files for Wayland
Requires: lib64wayland-client0 = %{epoch}:%{version}-%{release}
Requires: lib64wayland-server0 = %{epoch}:%{version}-%{release}
Requires: lib64wayland-egl1 = %{epoch}:%{version}-%{release}
Requires: lib64wayland-cursor0 = %{epoch}:%{version}-%{release}
%description devel
This package contains the development files for Wayland, including headers,
protocol XML files, pkgconfig files, and the wayland-scanner tool.
%files devel
%{_bindir}/wayland-scanner
%{_includedir}/wayland-*.h
%{_libdir}/libwayland-*.so
%{_libdir}/pkgconfig/wayland-*.pc
%{_datadir}/aclocal/wayland-scanner.m4
%{_datadir}/wayland/wayland-scanner.mk
%{_datadir}/wayland/wayland.dtd
%{_datadir}/wayland/wayland.xml
%changelog
* Sat Dec 06 2025 You <you@example.com> - 1:1.24.0-1
- Packaged Wayland 1.24.0 for Mageia 9 OBS
- Split runtime libraries into lib64wayland-client0, lib64wayland-server0,
lib64wayland-egl1, lib64wayland-cursor0
- Added Provides/Obsoletes with epoch for clean upgrade path
- Disabled documentation build (-Ddocumentation=false) to avoid Graphviz dependency