Summary: xkbcommon library - keymap compiler and support library
Summary(pl.UTF-8): Biblioteka xkbcommon - kompilatora i obsługi map klawiszy
Name: xorg-lib-libxkbcommon
-Version: 0.8.4
+Version: 1.3.0
Release: 1
License: MIT
Group: X11/Libraries
Source0: https://xkbcommon.org/download/libxkbcommon-%{version}.tar.xz
-# Source0-md5: 3c4409058dfd203f641a563358e0187d
+# Source0-md5: 00b5275ec1309a1d427a645de5861605
URL: https://xkbcommon.org/
-BuildRequires: autoconf >= 2.62
-BuildRequires: automake
BuildRequires: bison
BuildRequires: doxygen
BuildRequires: flex
-BuildRequires: libtool >= 2:2.0
+BuildRequires: libstdc++-devel >= 6:4.8.1
BuildRequires: libxcb-devel >= 1.10
+BuildRequires: libxml2-devel >= 2.0
+BuildRequires: meson >= 0.49.0
+BuildRequires: ninja >= 1.5
BuildRequires: pkgconfig >= 1:0.19
+BuildRequires: rpm-build >= 4.6
+BuildRequires: rpmbuild(macros) >= 1.752
BuildRequires: tar >= 1:1.22
-BuildRequires: xorg-proto-kbproto-devel >= 1.0.4
-BuildRequires: xorg-proto-xproto-devel
-BuildRequires: xorg-util-util-macros >= 1.16
+# wayland-client, wayland-scanner
+BuildRequires: wayland-devel >= 1.2.0
+BuildRequires: wayland-protocols >= 1.12
BuildRequires: xz
%if %{with tests}
-# wayland-client, wayland-scanner
-BuildRequires: wayland-devel >= 1.2
-BuildRequires: wayland-protocols >= 1.7
BuildRequires: xorg-app-xkbcomp
BuildRequires: xorg-xserver-Xvfb
%endif
%description static -l pl.UTF-8
Pakiet zawiera statyczną bibliotekę libxkbcommon.
+%package tools
+Summary: Tools to interact with XKB keymaps
+Summary(pl.UTF-8): Narzędzia do współpracy z mapowaniami klawiszy XKB
+Group: Applications
+Requires: %{name} = %{version}-%{release}
+Requires: %{name}-x11 = %{version}-%{release}
+Requires: libxkbregistry = %{version}-%{release}
+Requires: wayland >= 1.2.0
+
+%description tools
+Tools to interact with XKB keymaps.
+
+%description tools -l pl.UTF-8
+Narzędzia do współpracy z mapowaniami klawiszy XKB.
+
%package x11
Summary: X11 support for XKB library
Summary(pl.UTF-8): Obsługa X11 dla biblioteki XKB
Summary: API documentation for libxkbcommon libraries
Summary(pl.UTF-8): Dokumentacja API bibliotek libxkbcommon
Group: Documentation
-%if "%{_rpmversion}" >= "5"
BuildArch: noarch
-%endif
%description apidocs
API documentation for libxkbcommon libraries.
%description apidocs -l pl.UTF-8
Dokumentacja API bibliotek libxkbcommon.
+%package -n libxkbregistry
+Summary: Library to query available RMLVO
+Summary(pl.UTF-8): Biblioteka do odpytywania dostępnych RMLVO
+Group: Development/Libraries
+Requires: libxml2 >= 2.0
+
+%description -n libxkbregistry
+Library to query available RMLVO.
+
+%description -n libxkbregistry -l pl.UTF-8
+Biblioteka do odpytywania dostępnych RMLVO.
+
+%package -n libxkbregistry-devel
+Summary: Header files for libxkbregistry library
+Summary(pl.UTF-8): Pliki nagłówkowe biblioteki libxkbregistry
+Group: Development/Libraries
+Requires: libxkbregistry = %{version}-%{release}
+Requires: libxml2-devel >= 2.0
+
+%description -n libxkbregistry-devel
+This package contains the header files needed to develop programs that
+use libxkbregistry.
+
+%description -n libxkbregistry-devel -l pl.UTF-8
+Pakiet zawiera pliki nagłówkowe niezbędne do kompilowania programów
+używających biblioteki libxkbregistry.
+
+%package -n libxkbregistry-static
+Summary: Static libxkbregistry library
+Summary(pl.UTF-8): Biblioteka statyczna libxkbregistry
+Group: Development/Libraries
+Requires: libxkbregistry-devel = %{version}-%{release}
+
+%description -n libxkbregistry-static
+This package contains the static libxkbregistry library.
+
+%description -n libxkbregistry-static -l pl.UTF-8
+Pakiet zawiera statyczną bibliotekę libxkbregistry.
+
%prep
%setup -q -n libxkbcommon-%{version}
%build
-%{__libtoolize}
-%{__aclocal}
-%{__autoconf}
-%{__autoheader}
-%{__automake}
-%configure
+%meson build
-%{__make}
+%ninja_build -C build
%if %{with tests}
-%{__make} check
+%ninja_test -C build
%endif
%install
rm -rf $RPM_BUILD_ROOT
-%{__make} install \
- DESTDIR=$RPM_BUILD_ROOT
+%ninja_install -C build
-# obsoleted by pkg-config
-%{__rm} $RPM_BUILD_ROOT%{_libdir}/libxkbcommon*.la
# packaged as %doc in -apidocs
%{__rm} -r $RPM_BUILD_ROOT%{_docdir}/libxkbcommon
%post x11 -p /sbin/ldconfig
%postun x11 -p /sbin/ldconfig
+%post -n libxkbregistry -p /sbin/ldconfig
+%postun -n libxkbregistry -p /sbin/ldconfig
+
%files
%defattr(644,root,root,755)
%doc LICENSE NEWS README.md
%defattr(644,root,root,755)
%{_libdir}/libxkbcommon.a
+%files tools
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_bindir}/xkbcli
+%dir %{_libexecdir}/xkbcommon
+%attr(755,root,root) %{_libexecdir}/xkbcommon/xkbcli-compile-keymap
+%attr(755,root,root) %{_libexecdir}/xkbcommon/xkbcli-how-to-type
+%attr(755,root,root) %{_libexecdir}/xkbcommon/xkbcli-interactive-evdev
+%attr(755,root,root) %{_libexecdir}/xkbcommon/xkbcli-interactive-wayland
+%attr(755,root,root) %{_libexecdir}/xkbcommon/xkbcli-interactive-x11
+%attr(755,root,root) %{_libexecdir}/xkbcommon/xkbcli-list
+%{_mandir}/man1/xkbcli.1*
+%{_mandir}/man1/xkbcli-compile-keymap.1*
+%{_mandir}/man1/xkbcli-how-to-type.1*
+%{_mandir}/man1/xkbcli-interactive-evdev.1*
+%{_mandir}/man1/xkbcli-interactive-wayland.1*
+%{_mandir}/man1/xkbcli-interactive-x11.1*
+%{_mandir}/man1/xkbcli-list.1*
+
%files x11
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/libxkbcommon-x11.so.*.*.*
%files apidocs
%defattr(644,root,root,755)
-%doc doc/html/*
+%doc build/html/*
+
+%files -n libxkbregistry
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libxkbregistry.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libxkbregistry.so.0
+
+%files -n libxkbregistry-devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libxkbregistry.so
+%{_includedir}/xkbcommon/xkbregistry.h
+%{_pkgconfigdir}/xkbregistry.pc
+
+%files -n libxkbregistry-static
+%defattr(644,root,root,755)
+%{_libdir}/libxkbregistry.a