%define epoch 1 %define client_major 0 %define server_major 0 %define cursor_major 0 %define egl_major 1 # The naming scheme in non-Mandriva-based distros %if 0%{!?mklibname:1} %define mklibname(ds) lib%{1}%{?2:%{2}}%{-s:-static}%{-d:-devel} %endif %define libname_devel %mklibname %{name} -d %define client_name %{name}-client %define client_libname %mklibname %{client_name} %{client_major} %define server_name %{name}-server %define server_libname %mklibname %{server_name} %{server_major} %define cursor_name %{name}-cursor %define cursor_libname %mklibname %{cursor_name} %{cursor_major} %define egl_name %{name}-egl %define egl_libname %mklibname %{egl_name} %{egl_major} Summary: Wayland Compositor Infrastructure Name: wayland Version: 1.23.0 Release: 1.1%{?dist} License: MIT Group: System/Libraries Url: https://wayland.freedesktop.org/ Source0: https://gitlab.freedesktop.org/wayland/%{name}/-/releases/%{version}/downloads/%{name}-%{version}.tar.xz BuildRequires: pkgconfig(expat) BuildRequires: pkgconfig(libffi) BuildRequires: pkgconfig(libxml-2.0) # for protocol doc BuildRequires: (xsltproc or libxslt-proc) BuildRequires: docbook-style-xsl BuildRequires: meson %description 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. %package -n %{libname_devel} Summary: Header files for %{name} Group: Development/C Provides: %{name}-devel = %{version}-%{release} Requires: %{client_libname} = %{version}-%{release} Requires: %{server_libname} = %{version}-%{release} Requires: %{cursor_libname} = %{version}-%{release} Requires: %{egl_libname} = %{epoch}:%{version}-%{release} Requires: %{name}-tools = %{version}-%{release} Conflicts: lib64wayland-egl1-devel, libwayland-egl1-devel Obsoletes: %{?lib}wayland-egl1-devel < 1.23.0 %description -n %{libname_devel} This package contains the header and pkg-config files for developing with %{name}. %package -n %{client_libname} Summary: Libraries for %{client_name} Group: System/Libraries %description -n %{client_libname} This package contains the libraries for %{client_name}. %package -n %{server_libname} Summary: Libraries for %{server_name} Group: System/Libraries %description -n %{server_libname} This package contains the libraries for %{server_name}. %package -n %{cursor_libname} Summary: Libraries for %{cursor_name} Group: System/Libraries %description -n %{cursor_libname} This package contains the libraries for %{cursor_name}. %package -n %{egl_libname} Summary: Files for Mesa (Wayland EGL libs) # mesa version was higher than wayland one: Epoch: %{epoch} Group: System/Libraries Provides: lib%{egl_name} = %{version}-%{release} %description -n %{egl_libname} Mesa is an OpenGL %{opengl_ver} compatible 3D graphics library. Wayland EGL platform parts. %package tools Summary: %{name} devel tools Group: System/Libraries Conflicts: %{libname_devel} < 0.95-3 %description tools This package contains development tools for %{name}. %prep %autosetup -p1 %build %meson -Ddocumentation=false %meson_build %install %meson_install %files -n %{client_libname} %{_libdir}/lib%{client_name}.so.%{client_major} %{_libdir}/lib%{client_name}.so.%{client_major}.* %files -n %{server_libname} %{_libdir}/lib%{server_name}.so.%{server_major} %{_libdir}/lib%{server_name}.so.%{server_major}.* %files -n %{cursor_libname} %{_libdir}/lib%{cursor_name}.so.%{cursor_major} %{_libdir}/lib%{cursor_name}.so.%{cursor_major}.* %files -n %{egl_libname} %{_libdir}/libwayland-egl.so.%{egl_major} %{_libdir}/libwayland-egl.so.%{egl_major}.* %files -n %{libname_devel} %{_includedir}/%{name}-*.h %{_libdir}/lib%{name}*.so %{_libdir}/pkgconfig/%{name}*.pc %{_datadir}/aclocal/%{name}-scanner.m4 %{_datadir}/wayland/wayland-scanner.mk %{_datadir}/wayland/wayland.xml %{_datadir}/wayland/wayland.dtd %files tools %{_bindir}/%{name}-scanner