3 %bcond_without static_libs # static libraries
4 %bcond_without tests # check target
6 Summary: xkbcommon library - keymap compiler and support library
7 Summary(pl.UTF-8): Biblioteka xkbcommon - kompilatora i obsługi map klawiszy
8 Name: xorg-lib-libxkbcommon
13 Source0: https://xkbcommon.org/download/libxkbcommon-%{version}.tar.xz
14 # Source0-md5: b05b1a0d473189efb2dd995dd944f152
15 URL: https://xkbcommon.org/
16 BuildRequires: bison >= 2.4
17 BuildRequires: doxygen
19 BuildRequires: libstdc++-devel >= 6:4.8.1
20 BuildRequires: libxcb-devel >= 1.10
21 BuildRequires: libxml2-devel >= 2.0
22 BuildRequires: meson >= 0.52.0
23 BuildRequires: ninja >= 1.5
24 BuildRequires: pkgconfig >= 1:0.19
25 BuildRequires: rpm-build >= 4.6
26 BuildRequires: rpmbuild(macros) >= 1.752
27 BuildRequires: tar >= 1:1.22
28 # wayland-client, wayland-scanner
29 BuildRequires: wayland-devel >= 1.2.0
30 BuildRequires: wayland-protocols >= 1.12
33 BuildRequires: xorg-app-xkbcomp
34 BuildRequires: xorg-xserver-Xvfb
36 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
39 libxkbcommon is a keymap compiler and support library which processes
40 a reduced subset of keymaps as defined by the XKB specification.
42 %description -l pl.UTF-8
43 libxkbcommon to biblioteka kompilatora i obsługi map klawiszy,
44 przetwarzająca ograniczony podzbiór map klawiszy zdefiniowanych w
48 Summary: Header files for libxkbcommon library
49 Summary(pl.UTF-8): Pliki nagłówkowe biblioteki libxkbcommon
50 Group: X11/Development/Libraries
51 Requires: %{name} = %{version}-%{release}
54 This package contains the header files needed to develop programs that
57 %description devel -l pl.UTF-8
58 Pakiet zawiera pliki nagłówkowe niezbędne do kompilowania programów
59 używających biblioteki libxkbcommon.
62 Summary: Static libxkbcommon library
63 Summary(pl.UTF-8): Biblioteka statyczna libxkbcommon
64 Group: X11/Development/Libraries
65 Requires: %{name}-devel = %{version}-%{release}
68 This package contains the static libxkbcommon library.
70 %description static -l pl.UTF-8
71 Pakiet zawiera statyczną bibliotekę libxkbcommon.
74 Summary: Tools to interact with XKB keymaps
75 Summary(pl.UTF-8): Narzędzia do współpracy z mapowaniami klawiszy XKB
77 Requires: %{name} = %{version}-%{release}
78 Requires: %{name}-x11 = %{version}-%{release}
79 Requires: libxkbregistry = %{version}-%{release}
80 Requires: wayland >= 1.2.0
83 Tools to interact with XKB keymaps.
85 %description tools -l pl.UTF-8
86 Narzędzia do współpracy z mapowaniami klawiszy XKB.
89 Summary: X11 support for XKB library
90 Summary(pl.UTF-8): Obsługa X11 dla biblioteki XKB
92 Requires: %{name} = %{version}-%{release}
93 Requires: libxcb >= 1.10
96 X11 support for XKB library.
98 %description x11 -l pl.UTF-8
99 Obsługa X11 dla biblioteki XKB.
102 Summary: Header file for libxkbcommon-x11 library
103 Summary(pl.UTF-8): Plik nagłówkowy biblioteki libxkbcommon-x11
104 Group: X11/Development/Libraries
105 Requires: %{name}-devel = %{version}-%{release}
106 Requires: %{name}-x11 = %{version}-%{release}
107 Requires: libxcb-devel >= 1.10
109 %description x11-devel
110 Header file for libxkbcommon-x11 library.
112 %description x11-devel -l pl.UTF-8
113 Plik nagłówkowy biblioteki libxkbcommon-x11.
116 Summary: Static libxkbcommon-x11 library
117 Summary(pl.UTF-8): Statyczna biblioteka libxkbcommon-x11
118 Group: X11/Development/Libraries
119 Requires: %{name}-x11-devel = %{version}-%{release}
121 %description x11-static
122 Static libxkbcommon-x11 library.
124 %description x11-static -l pl.UTF-8
125 Statyczna biblioteka libxkbcommon-x11.
128 Summary: API documentation for libxkbcommon libraries
129 Summary(pl.UTF-8): Dokumentacja API bibliotek libxkbcommon
134 API documentation for libxkbcommon libraries.
136 %description apidocs -l pl.UTF-8
137 Dokumentacja API bibliotek libxkbcommon.
139 %package -n libxkbregistry
140 Summary: Library to query available RMLVO
141 Summary(pl.UTF-8): Biblioteka do odpytywania dostępnych RMLVO
142 Group: Development/Libraries
143 Requires: libxml2 >= 2.0
145 %description -n libxkbregistry
146 Library to query available RMLVO.
148 %description -n libxkbregistry -l pl.UTF-8
149 Biblioteka do odpytywania dostępnych RMLVO.
151 %package -n libxkbregistry-devel
152 Summary: Header files for libxkbregistry library
153 Summary(pl.UTF-8): Pliki nagłówkowe biblioteki libxkbregistry
154 Group: Development/Libraries
155 Requires: libxkbregistry = %{version}-%{release}
156 Requires: libxml2-devel >= 2.0
158 %description -n libxkbregistry-devel
159 This package contains the header files needed to develop programs that
162 %description -n libxkbregistry-devel -l pl.UTF-8
163 Pakiet zawiera pliki nagłówkowe niezbędne do kompilowania programów
164 używających biblioteki libxkbregistry.
166 %package -n libxkbregistry-static
167 Summary: Static libxkbregistry library
168 Summary(pl.UTF-8): Biblioteka statyczna libxkbregistry
169 Group: Development/Libraries
170 Requires: libxkbregistry-devel = %{version}-%{release}
172 %description -n libxkbregistry-static
173 This package contains the static libxkbregistry library.
175 %description -n libxkbregistry-static -l pl.UTF-8
176 Pakiet zawiera statyczną bibliotekę libxkbregistry.
179 %setup -q -n libxkbcommon-%{version}
183 %{!?with_static_libs:--default-library=shared} \
184 -Dbash-completion-path=%{bash_compdir} \
187 %ninja_build -C build
194 rm -rf $RPM_BUILD_ROOT
196 %ninja_install -C build
198 # packaged as %doc in -apidocs
199 %{__rm} -r $RPM_BUILD_ROOT%{_docdir}/libxkbcommon
202 rm -rf $RPM_BUILD_ROOT
204 %post -p /sbin/ldconfig
205 %postun -p /sbin/ldconfig
207 %post x11 -p /sbin/ldconfig
208 %postun x11 -p /sbin/ldconfig
210 %post -n libxkbregistry -p /sbin/ldconfig
211 %postun -n libxkbregistry -p /sbin/ldconfig
214 %defattr(644,root,root,755)
215 %doc LICENSE NEWS.md README.md
216 %attr(755,root,root) %{_libdir}/libxkbcommon.so.*.*.*
217 %attr(755,root,root) %ghost %{_libdir}/libxkbcommon.so.0
220 %defattr(644,root,root,755)
221 %attr(755,root,root) %{_libdir}/libxkbcommon.so
222 %dir %{_includedir}/xkbcommon
223 %{_includedir}/xkbcommon/xkbcommon.h
224 %{_includedir}/xkbcommon/xkbcommon-compat.h
225 %{_includedir}/xkbcommon/xkbcommon-compose.h
226 %{_includedir}/xkbcommon/xkbcommon-keysyms.h
227 %{_includedir}/xkbcommon/xkbcommon-names.h
228 %{_pkgconfigdir}/xkbcommon.pc
230 %if %{with static_libs}
232 %defattr(644,root,root,755)
233 %{_libdir}/libxkbcommon.a
237 %defattr(644,root,root,755)
238 %attr(755,root,root) %{_bindir}/xkbcli
239 %dir %{_libexecdir}/xkbcommon
240 %attr(755,root,root) %{_libexecdir}/xkbcommon/xkbcli-compile-compose
241 %attr(755,root,root) %{_libexecdir}/xkbcommon/xkbcli-compile-keymap
242 %attr(755,root,root) %{_libexecdir}/xkbcommon/xkbcli-how-to-type
243 %attr(755,root,root) %{_libexecdir}/xkbcommon/xkbcli-interactive-evdev
244 %attr(755,root,root) %{_libexecdir}/xkbcommon/xkbcli-interactive-wayland
245 %attr(755,root,root) %{_libexecdir}/xkbcommon/xkbcli-interactive-x11
246 %attr(755,root,root) %{_libexecdir}/xkbcommon/xkbcli-list
247 %{_mandir}/man1/xkbcli.1*
248 %{_mandir}/man1/xkbcli-compile-compose.1*
249 %{_mandir}/man1/xkbcli-compile-keymap.1*
250 %{_mandir}/man1/xkbcli-how-to-type.1*
251 %{_mandir}/man1/xkbcli-interactive-evdev.1*
252 %{_mandir}/man1/xkbcli-interactive-wayland.1*
253 %{_mandir}/man1/xkbcli-interactive-x11.1*
254 %{_mandir}/man1/xkbcli-list.1*
255 %{bash_compdir}/xkbcli
258 %defattr(644,root,root,755)
259 %attr(755,root,root) %{_libdir}/libxkbcommon-x11.so.*.*.*
260 %attr(755,root,root) %ghost %{_libdir}/libxkbcommon-x11.so.0
263 %defattr(644,root,root,755)
264 %attr(755,root,root) %{_libdir}/libxkbcommon-x11.so
265 %{_includedir}/xkbcommon/xkbcommon-x11.h
266 %{_pkgconfigdir}/xkbcommon-x11.pc
268 %if %{with static_libs}
270 %defattr(644,root,root,755)
271 %{_libdir}/libxkbcommon-x11.a
275 %defattr(644,root,root,755)
278 %files -n libxkbregistry
279 %defattr(644,root,root,755)
280 %attr(755,root,root) %{_libdir}/libxkbregistry.so.*.*.*
281 %attr(755,root,root) %ghost %{_libdir}/libxkbregistry.so.0
283 %files -n libxkbregistry-devel
284 %defattr(644,root,root,755)
285 %attr(755,root,root) %{_libdir}/libxkbregistry.so
286 %{_includedir}/xkbcommon/xkbregistry.h
287 %{_pkgconfigdir}/xkbregistry.pc
289 %if %{with static_libs}
290 %files -n libxkbregistry-static
291 %defattr(644,root,root,755)
292 %{_libdir}/libxkbregistry.a