%define bname xkbcommon # The naming scheme in non-Mandriva-based distros %if 0%{!?mklibname:1} %define mklibname(ds) lib%{1}%{?2:%{2}}%{-s:-static}%{-d:-devel} %endif %if 0%{!?mkrel:1} %define mkrel(c) %{1}%{?dist} %endif %define major 0 %define libname %mklibname %{bname} %{major} %define libxkbregistry %mklibname xkbregistry %{major} %define libname_devel %mklibname %{bname} -d Summary: XKB API common to servers and clients Name: lib%{bname} Version: 1.9.2 Release: %mkrel 1 License: MIT Group: System/Libraries Url: https://xkbcommon.org/ Source0: https://github.com/xkbcommon/libxkbcommon/archive/%{bname}-%{version}.tar.gz BuildRequires: bison BuildRequires: flex BuildRequires: meson BuildRequires: pkgconfig(xorg-macros) BuildRequires: doxygen BuildRequires: pkgconfig(libxml-2.0) BuildRequires: pkgconfig(xcb-xkb) # to auto-detect XKB config root BuildRequires: pkgconfig(xkeyboard-config) BuildRequires: pkgconfig(wayland-client) BuildRequires: pkgconfig(wayland-protocols) BuildRequires: pkgconfig(wayland-scanner) %description The %{name} package provides XKB API common to servers and clients. %package -n %{libname} Summary: Libraries for %{name} Group: System/Libraries %description -n %{libname} This package contains the libraries for %{name}. %package -n %{libxkbregistry} Summary: Libraries for %{name} Group: System/Libraries %description -n %{libxkbregistry} This package contains the libraries for %{name}. %package -n %{libname_devel} Summary: Header files for %{name} Group: Development/C Provides: %{name}-devel = %{version}-%{release} Provides: %{bname}-devel = %{version}-%{release} Provides: xkbregistry-devel = %{version}-%{release} Requires: %{libname} = %{version}-%{release} Requires: %{libxkbregistry} = %{version}-%{release} # (tv) fix: "xkbcommon: ERROR: failed to add default include path /usr/share/X11/xkb" Requires: pkgconfig(xkeyboard-config) %description -n %{libname_devel} This package contains the header and pkg-config files for developing with %{name}. %package utils Summary: X.Org X11 XKB parsing utilities Group: System/Libraries %description utils %{name}-utils is a set of utilities to analyze and test XKB parsing. %package doc Summary: %{name} documentation Group: Documentation %description doc This package contains documentation of %{name}. %prep %autosetup -p1 -n %{name}-%{bname}-%{version} %build %meson -D enable-docs=true %meson_build %install %meson_install %files -n %{libname} %doc README.md NEWS.md %license LICENSE %{_libdir}/%{name}.so.%{major}{,.*} %{_libdir}/%{name}-x11.so.%{major}{,.*} %files -n %{libxkbregistry} %doc README.md NEWS.md %license LICENSE %{_libdir}/libxkbregistry.so.%{major}{,.*} %files -n %{libname_devel} %doc README.md %dir %{_includedir}/%{bname} %{_includedir}/%{bname}/%{bname}.h %{_includedir}/%{bname}/%{bname}-*.h %{_includedir}/%{bname}/xkbregistry.h %{_libdir}/%{name}.so %{_libdir}/%{name}-x11.so %{_libdir}/libxkbregistry.so %{_libdir}/pkgconfig/%{bname}*.pc %{_libdir}/pkgconfig/xkbregistry.pc %files utils %{_bindir}/xkbcli %dir %{_libexecdir}/xkbcommon %{_libexecdir}/xkbcommon/xkbcli-compile-compose %{_libexecdir}/xkbcommon/xkbcli-compile-keymap %{_libexecdir}/xkbcommon/xkbcli-how-to-type %{_libexecdir}/xkbcommon/xkbcli-interactive-evdev %{_libexecdir}/xkbcommon/xkbcli-dump-keymap-x11 %{_libexecdir}/xkbcommon/xkbcli-interactive-x11 %{_libexecdir}/xkbcommon/xkbcli-list %{_libexecdir}/xkbcommon/xkbcli-dump-keymap-wayland %{_libexecdir}/xkbcommon/xkbcli-interactive-wayland %{_datadir}/bash-completion/completions/xkbcli %{_mandir}/man1/xkbcli-compile-compose.1.* %{_mandir}/man1/xkbcli-compile-keymap.1.* %{_mandir}/man1/xkbcli-how-to-type.1.* %{_mandir}/man1/xkbcli-interactive-evdev.1.* %{_mandir}/man1/xkbcli-dump-keymap-x11.1.* %{_mandir}/man1/xkbcli-interactive-x11.1.* %{_mandir}/man1/xkbcli-list.1.* %{_mandir}/man1/xkbcli.1.* %{_mandir}/man1/xkbcli-dump-keymap-wayland.1.* %{_mandir}/man1/xkbcli-interactive-wayland.1.* %files doc %doc %{_docdir}/%{name}/