2 # - package user docs from build/Documentation
5 %bcond_without gui # libinput-debug-gui
6 %bcond_with gtk4 # build libinput-debug-gui with gtk4
7 %bcond_without libunwind # libunwind debugging support
8 %bcond_without doc # documentation
9 %bcond_without tests # tests
11 %ifnarch %{ix86} %{x8664} %{arm} hppa ia64 mips ppc ppc64 sh
12 %undefine with_libunwind
14 Summary: Input device library
15 Summary(pl.UTF-8): Biblioteka urządzeń wejściowych
21 Source0: https://www.freedesktop.org/software/libinput/%{name}-%{version}.tar.xz
22 # Source0-md5: 8e0600a296584f8d65d4ca1a82cd4a02
23 URL: https://www.freedesktop.org/wiki/Software/libinput/
24 BuildRequires: check-devel >= 0.9.10
25 BuildRequires: libevdev-devel >= 1.3
26 %{?with_libunwind:BuildRequires: libunwind-devel}
27 BuildRequires: libwacom-devel >= 0.20
28 BuildRequires: meson >= 0.49.0
29 BuildRequires: mtdev-devel >= 1.1.0
30 BuildRequires: ninja >= 1.5
31 BuildRequires: pkgconfig
32 BuildRequires: rpmbuild(macros) >= 1.752
33 BuildRequires: tar >= 1:1.22
34 BuildRequires: udev-devel
35 BuildRequires: valgrind
38 BuildRequires: cairo-devel
39 BuildRequires: glib2-devel >= 2.0
41 BuildRequires: gtk4-devel >= 4.0
43 BuildRequires: gtk+3-devel >= 3.20
45 BuildRequires: wayland-devel
46 BuildRequires: wayland-protocols
47 BuildRequires: xorg-lib-libX11-devel
50 BuildRequires: doxygen >= 1.8.3
51 BuildRequires: graphviz >= 2.26.0
52 BuildRequires: python3-recommonmark
53 BuildRequires: python3-sphinx_rtd_theme
54 BuildRequires: sphinx-pdg-3
56 %if %{with gui} && %{without gtk4}
57 BuildConflicts: gtk4-devel
59 Requires: libevdev >= 1.3
60 Requires: libwacom >= 0.20
61 Requires: mtdev >= 1.1.0
62 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
65 libinput is a library that handles input devices for display servers
66 and other applications that need to directly deal with input devices.
68 It provides device detection, device handling, input device event
69 processing and abstraction so minimize the amount of custom input code
70 the user of libinput need to provide the common set of functionality
73 %description -l pl.UTF-8
74 libinput to biblioteka obsługująca urządzenia wejściowe dla serwerów
75 grafiki i innych aplikacji wymagających bezpośredniej obsługi urządzeń
78 Biblioteka zapewnia wykrywanie urządzeń, obsługę urządzeń,
79 przetwarzanie zdarzeń urządzeń wejściowych oraz abstrakcję,
80 minimalizując ilość własnego kodu, który musi napisać użytkownik
81 biblioteki, aby zapewnić oczekiwaną funkcjonalność.
84 Summary: Debugging GUI for libinput
85 Summary(pl.UTF-8): Graficzny interfejs diagnostyczny do libinput
86 Group: X11/Applications
87 Requires: %{name} = %{version}-%{release}
91 Requires: gtk+3 >= 3.20
95 Debugging GUI for libinput.
97 %description gui -l pl.UTF-8
98 Graficzny interfejs diagnostyczny do libinput.
101 Summary: Development files for libinput
102 Summary(pl.UTF-8): Pliki programistyczne biblioteki libinput
103 Group: Development/Libraries
104 Requires: %{name} = %{version}-%{release}
108 This package contains the header files for developing applications
111 %description devel -l pl.UTF-8
112 Ten pakiet zawiera pliki nagłówkowe niezbędne do tworzenia aplikacji
113 wykorzystujących bibliotekę libinput.
116 Summary: API documentation for libinput library
117 Summary(pl.UTF-8): Dokumentacja API biblioteki libinput
122 API documentation for libinput library.
124 %description apidocs -l pl.UTF-8
125 Dokumentacja API biblioteki libinput.
127 %package -n zsh-completion-%{name}
128 Summary: Zsh completion for libinput command
129 Summary(pl.UTF-8): Dopełnianie parametrów w zsh dla polecenia libinput
130 Group: Applications/Shells
131 Requires: %{name} = %{epoch}:%{version}-%{release}
134 %description -n zsh-completion-%{name}
135 Zsh completion for libinput command.
137 %description -n zsh-completion-%{name} -l pl.UTF-8
138 Dopełnianie parametrów w zsh dla polecenia libinput.
143 %{__sed} -i -e '1s,/usr/bin/env python3,%{__python3},' \
144 tools/libinput-analyze-{per-slot-delta,recording,touch-down-state}.py \
145 tools/libinput-measure-{fuzz,touchpad-pressure,touch-size,touchpad-tap}.py \
146 tools/libinput-{replay,measure-touchpad-size}.py
150 -Ddebug-gui=%{__true_false gui} \
151 -Ddocumentation=%{__true_false doc} \
152 -Dudev-dir=/lib/udev \
153 -Dzshcompletiondir=%{zsh_compdir}
155 %ninja_build -C build
157 %{?with_tests:%ninja_test -C build}
160 rm -rf $RPM_BUILD_ROOT
162 %ninja_install -C build
164 %{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/libinput-test-suite.1
167 rm -rf $RPM_BUILD_ROOT
169 %post -p /sbin/ldconfig
170 %postun -p /sbin/ldconfig
173 %defattr(644,root,root,755)
174 %doc COPYING README.md
175 %attr(755,root,root) %{_bindir}/libinput
176 %attr(755,root,root) %{_libdir}/libinput.so.*.*.*
177 %attr(755,root,root) %ghost %{_libdir}/libinput.so.10
178 %dir %{_libexecdir}/libinput
179 %attr(755,root,root) %{_libexecdir}/libinput/libinput-analyze
180 %attr(755,root,root) %{_libexecdir}/libinput/libinput-analyze-per-slot-delta
181 %attr(755,root,root) %{_libexecdir}/libinput/libinput-analyze-recording
182 %attr(755,root,root) %{_libexecdir}/libinput/libinput-analyze-touch-down-state
183 %attr(755,root,root) %{_libexecdir}/libinput/libinput-debug-events
184 %attr(755,root,root) %{_libexecdir}/libinput/libinput-debug-tablet
185 %attr(755,root,root) %{_libexecdir}/libinput/libinput-list-devices
186 %attr(755,root,root) %{_libexecdir}/libinput/libinput-measure
187 %attr(755,root,root) %{_libexecdir}/libinput/libinput-measure-fuzz
188 %attr(755,root,root) %{_libexecdir}/libinput/libinput-measure-touchpad-pressure
189 %attr(755,root,root) %{_libexecdir}/libinput/libinput-measure-touchpad-size
190 %attr(755,root,root) %{_libexecdir}/libinput/libinput-measure-touchpad-tap
191 %attr(755,root,root) %{_libexecdir}/libinput/libinput-measure-touch-size
192 %attr(755,root,root) %{_libexecdir}/libinput/libinput-quirks
193 %attr(755,root,root) %{_libexecdir}/libinput/libinput-record
194 %attr(755,root,root) %{_libexecdir}/libinput/libinput-replay
195 %attr(755,root,root) /lib/udev/libinput-device-group
196 %attr(755,root,root) /lib/udev/libinput-fuzz-extract
197 %attr(755,root,root) /lib/udev/libinput-fuzz-to-zero
198 /lib/udev/rules.d/80-libinput-device-groups.rules
199 /lib/udev/rules.d/90-libinput-fuzz-override.rules
200 %dir %{_datadir}/libinput
201 %{_datadir}/libinput/*.quirks
202 %{_mandir}/man1/libinput.1*
203 %{_mandir}/man1/libinput-analyze.1*
204 %{_mandir}/man1/libinput-analyze-per-slot-delta.1*
205 %{_mandir}/man1/libinput-analyze-recording.1*
206 %{_mandir}/man1/libinput-analyze-touch-down-state.1*
207 %{_mandir}/man1/libinput-debug-events.1*
208 %{_mandir}/man1/libinput-debug-tablet.1*
209 %{_mandir}/man1/libinput-list-devices.1*
210 %{_mandir}/man1/libinput-measure.1*
211 %{_mandir}/man1/libinput-measure-fuzz.1*
212 %{_mandir}/man1/libinput-measure-touchpad-pressure.1*
213 %{_mandir}/man1/libinput-measure-touchpad-size.1*
214 %{_mandir}/man1/libinput-measure-touchpad-tap.1*
215 %{_mandir}/man1/libinput-measure-touch-size.1*
216 %{_mandir}/man1/libinput-quirks.1*
217 %{_mandir}/man1/libinput-quirks-list.1*
218 %{_mandir}/man1/libinput-quirks-validate.1*
219 %{_mandir}/man1/libinput-record.1*
220 %{_mandir}/man1/libinput-replay.1*
224 %defattr(644,root,root,755)
225 %attr(755,root,root) %{_libexecdir}/libinput/libinput-debug-gui
226 %{_mandir}/man1/libinput-debug-gui.1*
230 %defattr(644,root,root,755)
231 %attr(755,root,root) %{_libdir}/libinput.so
232 %{_includedir}/libinput.h
233 %{_pkgconfigdir}/libinput.pc
237 %defattr(644,root,root,755)
238 %doc build/doc/html/*
241 %files -n zsh-completion-%{name}
242 %defattr(644,root,root,755)
243 %{zsh_compdir}/_libinput