%define client_major 0 %define server_major 0 %define cursor_major 0 %define egl_major 1 %define egl_epoch 1 %define devname %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} %global optflags %{optflags} -Ofast %bcond_with docs Summary: Wayland Compositor Infrastructure Name: wayland Version: 1.17.0 Release: 1 License: MIT Group: System/Libraries Url: http://wayland.freedesktop.org/ Source0: http://wayland.freedesktop.org/releases/%{name}-%{version}.tar.xz %if %{with docs} BuildRequires: docbook-style-xsl BuildRequires: xmlto %endif BuildRequires: doxygen BuildRequires: xsltproc BuildRequires: pkgconfig(expat) BuildRequires: pkgconfig(libffi) BuildRequires: pkgconfig(libxml-2.0) BuildRequires: graphviz %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 %{devname} Summary: Header files for %{name} Group: Development/C Provides: %{name}-devel = %{EVRD} Requires: %{client_libname} = %{EVRD} Requires: %{server_libname} = %{EVRD} Requires: %{cursor_libname} = %{EVRD} Requires: %{egl_libname} = %{egl_epoch}:%{version}-%{release} Requires: %{name}-tools = %{EVRD} Conflicts: libwayland-egl-devel Conflicts: lib64wayland-egl-devel Obsoletes: %{mklibname wayland-egl -d} %description -n %{devname} This package contains the header and pkg-config files for developing with %{name}. %files -n %{devname} %{_includedir}/%{name}-*.h %{_libdir}/lib%{name}*.so %{_libdir}/pkgconfig/%{name}*.pc %dir %{_datadir}/wayland/ %{_datadir}/wayland/wayland-scanner.mk %{_datadir}/wayland/wayland.dtd %{_datadir}/wayland/wayland.xml %{_datadir}/aclocal/%{name}-scanner.m4 #-------------------------------------------- %package -n %{client_libname} Summary: Libraries for %{client_name} Group: System/Libraries %description -n %{client_libname} This package contains the libraries for %{client_name}. %files -n %{client_libname} %{_libdir}/lib%{client_name}.so.%{client_major}* #-------------------------------------------- %package -n %{server_libname} Summary: Libraries for %{server_name} Group: System/Libraries %description -n %{server_libname} This package contains the libraries for %{server_name}. %files -n %{server_libname} %{_libdir}/lib%{server_name}.so.%{server_major}* #-------------------------------------------- %package -n %{cursor_libname} Summary: Libraries for %{cursor_name} Group: System/Libraries %description -n %{cursor_libname} This package contains the libraries for %{cursor_name}. %files -n %{cursor_libname} %{_libdir}/lib%{cursor_name}.so.%{cursor_major}* #-------------------------------------------- %package -n %{egl_libname} Summary: Libraries for %{egl_name} Group: System/Libraries # mesa version was higher than wayland one: Epoch: %{egl_epoch} Provides: lib%{egl_name} = %{version}-%{release} %description -n %{egl_libname} This package contains the libraries for %{egl_name}. %files -n %{egl_libname} %{_libdir}/lib%{egl_name}.so.%{egl_major}* #-------------------------------------------- %package tools Summary: %{name} devel tools Group: System/Libraries %description tools This package contains development tools for %{name}. %files tools %{_bindir}/%{name}-scanner #-------------------------------------------- %if %{with docs} %package doc Summary: %{name} documentation Group: Development/Other %description doc This package contains documentation of %{name}. %files doc %doc COPYING README TODO %{_mandir}/man3/wl_*.3* %{_docdir}/%{name}/ #-------------------------------------------- %endif %prep %autosetup -p1 %build %configure \ %if !%{with docs} --disable-documentation \ %endif --disable-static %make_build %install %make_install find %{buildroot} -size 0 -delete