%global realname libxkbcommon

Name:           libxkbcommon_ng
Version:        1.7.0
Release:        1%{?gitdate:.%{gitdate}}%{?dist}
Summary:        X.Org X11 XKB parsing library
License:        MIT
URL:            http://www.x.org

Source0:        https://xkbcommon.org/download/%{realname}-%{version}.tar.xz
Patch0:         libxkbcommon-change-lib-version.patch

BuildRequires:  git meson
BuildRequires:  xorg-x11-util-macros byacc flex bison
BuildRequires:  xorg-x11-proto-devel libX11-devel
BuildRequires:  xkeyboard-config-devel
BuildRequires:  pkgconfig(xcb-xkb) >= 1.10
BuildRequires:  libxml2-devel

Requires:       xkeyboard-config

%description
%{name} is the X.Org library for compiling XKB maps into formats usable by
the X Server or other display servers.

%package devel
Summary:        X.Org X11 XKB parsing development package
Requires:       %{name}%{?_isa} = %{version}-%{release}
Provides:       pkgconfig(xkbcommon) = %{version}-%{release}
Provides:       pkgconfig(xkbregistry) = %{version}-%{release}
Provides:       %{realname}-devel = %{version}-%{release}
Conflicts:      %{realname}-devel

%description devel
X.Org X11 XKB parsing development package

%package x11
Summary:        X.Org X11 XKB keymap creation library
Requires:       %{name}%{?_isa} = %{version}-%{release}

%description x11
%{name}-x11 is the X.Org library for creating keymaps by querying the X
server.

%package x11-devel
Summary:        X.Org X11 XKB keymap creation library
Requires:       %{name}-x11%{?_isa} = %{version}-%{release}
Provides:       pkgconfig(xkbcommon-x11) = %{version}-%{release}
Provides:       %{realname}-x11-devel = %{version}-%{release}
Conflicts:      %{realname}-x11-devel

%description x11-devel
X.Org X11 XKB keymap creation library development package

%package utils
Summary:        X.Org X11 XKB parsing utilities
Requires:       %{name}%{?_isa} = %{version}-%{release}
Provides:       %{realname}-utils = %{version}-%{release}
Conflicts:      %{realname}-utils

%description utils
%{name}-utils is a set of utilities to analyze and test XKB parsing.

%prep
%autosetup -S git -n %{realname}-%{version}

%build
%meson -Denable-docs=false \
       -Denable-x11=true \
       -Denable-wayland=false
%meson_build


%install
%meson_install


%ldconfig_scriptlets

%files
%license LICENSE
%{_libdir}/libxkbcommon.so.1.0.0
%{_libdir}/libxkbcommon.so.1
%{_libdir}/libxkbregistry.so.1.0.0
%{_libdir}/libxkbregistry.so.1

%files devel
%{_libdir}/libxkbcommon.so
%{_libdir}/libxkbregistry.so
%dir %{_includedir}/xkbcommon/
%{_includedir}/xkbcommon/xkbcommon.h
%{_includedir}/xkbcommon/xkbcommon-compat.h
%{_includedir}/xkbcommon/xkbcommon-compose.h
%{_includedir}/xkbcommon/xkbcommon-keysyms.h
%{_includedir}/xkbcommon/xkbcommon-names.h
%{_includedir}/xkbcommon/xkbregistry.h
%{_libdir}/pkgconfig/xkbcommon.pc
%{_libdir}/pkgconfig/xkbregistry.pc

%ldconfig_scriptlets x11

%files x11
%{_libdir}/libxkbcommon-x11.so.1.0.0
%{_libdir}/libxkbcommon-x11.so.1

%files x11-devel
%{_libdir}/libxkbcommon-x11.so
%{_includedir}/xkbcommon/xkbcommon-x11.h
%{_libdir}/pkgconfig/xkbcommon-x11.pc

%files utils
%{_bindir}/xkbcli
%{_libexecdir}/xkbcommon/xkbcli-compile-keymap
%{_libexecdir}/xkbcommon/xkbcli-how-to-type
%{_libexecdir}/xkbcommon/xkbcli-interactive-evdev
%{_libexecdir}/xkbcommon/xkbcli-interactive-x11
%{_libexecdir}/xkbcommon/xkbcli-list
%{_libexecdir}/xkbcommon/xkbcli-compile-compose
%{_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-interactive-x11.1*
%{_mandir}/man1/xkbcli-list.1*
%{_mandir}/man1/xkbcli.1*

