2 # - package user docs from build/Documentation
5 %bcond_without gui # libinput-debug-gui
6 %bcond_without libunwind # libunwind debugging support
7 %bcond_without doc # documentation
8 %bcond_without tests # tests
10 %ifnarch %{ix86} %{x8664} %{arm} hppa ia64 mips ppc ppc64 sh
11 %undefine with_libunwind
13 Summary: Input device library
14 Summary(pl.UTF-8): Biblioteka urządzeń wejściowych
20 Source0: https://www.freedesktop.org/software/libinput/%{name}-%{version}.tar.xz
21 # Source0-md5: 17057507ddbcad69ecc5de0dd9a05e47
22 URL: https://www.freedesktop.org/wiki/Software/libinput/
23 BuildRequires: check-devel >= 0.9.10
24 BuildRequires: libevdev-devel >= 1.3
25 %{?with_libunwind:BuildRequires: libunwind-devel}
26 BuildRequires: libwacom-devel >= 0.20
27 BuildRequires: meson >= 0.45.0
28 BuildRequires: mtdev-devel >= 1.1.0
29 BuildRequires: ninja >= 1.5
30 BuildRequires: pkgconfig
31 BuildRequires: rpmbuild(macros) >= 1.752
32 BuildRequires: tar >= 1:1.22
33 BuildRequires: udev-devel
34 BuildRequires: valgrind
37 BuildRequires: cairo-devel
38 BuildRequires: glib2-devel >= 2.0
39 BuildRequires: gtk+3-devel >= 3.20
42 BuildRequires: doxygen >= 1.8.3
43 BuildRequires: graphviz >= 2.26.0
44 BuildRequires: python3-recommonmark
45 BuildRequires: python3-sphinx_rtd_theme
46 BuildRequires: sphinx-pdg-3
48 Requires: libevdev >= 1.3
49 Requires: libwacom >= 0.20
50 Requires: mtdev >= 1.1.0
51 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
54 libinput is a library that handles input devices for display servers
55 and other applications that need to directly deal with input devices.
57 It provides device detection, device handling, input device event
58 processing and abstraction so minimize the amount of custom input code
59 the user of libinput need to provide the common set of functionality
62 %description -l pl.UTF-8
63 libinput to biblioteka obsługująca urządzenia wejściowe dla serwerów
64 grafiki i innych aplikacji wymagających bezpośredniej obsługi urządzeń
67 Biblioteka zapewnia wykrywanie urządzeń, obsługę urządzeń,
68 przetwarzanie zdarzeń urządzeń wejściowych oraz abstrakcję,
69 minimalizując ilość własnego kodu, który musi napisać użytkownik
70 biblioteki, aby zapewnić oczekiwaną funkcjonalność.
73 Summary: Debugging GUI for libinput
74 Summary(pl.UTF-8): Graficzny interfejs diagnostyczny do libinput
75 Group: X11/Applications
76 Requires: %{name} = %{version}-%{release}
77 Requires: gtk+3 >= 3.20
80 Debugging GUI for libinput.
82 %description gui -l pl.UTF-8
83 Graficzny interfejs diagnostyczny do libinput.
86 Summary: Development files for libinput
87 Summary(pl.UTF-8): Pliki programistyczne biblioteki libinput
88 Group: Development/Libraries
89 Requires: %{name} = %{version}-%{release}
93 This package contains the header files for developing applications
96 %description devel -l pl.UTF-8
97 Ten pakiet zawiera pliki nagłówkowe niezbędne do tworzenia aplikacji
98 wykorzystujących bibliotekę libinput.
101 Summary: API documentation for libinput library
102 Summary(pl.UTF-8): Dokumentacja API biblioteki libinput
107 API documentation for libinput library.
109 %description apidocs -l pl.UTF-8
110 Dokumentacja API biblioteki libinput.
112 %package -n zsh-completion-%{name}
113 Summary: Zsh completion for libinput command
114 Summary(pl.UTF-8): Dopełnianie parametrów w zsh dla polecenia libinput
115 Group: Applications/Shells
116 Requires: %{name} = %{epoch}:%{version}-%{release}
119 %description -n zsh-completion-%{name}
120 Zsh completion for libinput command.
122 %description -n zsh-completion-%{name} -l pl.UTF-8
123 Dopełnianie parametrów w zsh dla polecenia libinput.
128 %{__sed} -i -e '1s,/usr/bin/env python3,%{__python3},' \
129 tools/libinput-analyze-{per-slot-delta,recording,touch-down-state}.py \
130 tools/libinput-measure-{fuzz,touchpad-pressure,touch-size,touchpad-tap}.py \
131 tools/libinput-{replay,measure-touchpad-size}.py
135 -Ddebug-gui=%{__true_false gui} \
136 -Ddocumentation=%{__true_false doc} \
137 -Dudev-dir=/lib/udev \
138 -Dzshcompletiondir=%{zsh_compdir}
140 %ninja_build -C build
142 %{?with_tests:%ninja_test -C build}
145 rm -rf $RPM_BUILD_ROOT
147 %ninja_install -C build
149 %{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/libinput-test-suite.1
152 rm -rf $RPM_BUILD_ROOT
154 %post -p /sbin/ldconfig
155 %postun -p /sbin/ldconfig
158 %defattr(644,root,root,755)
159 %doc COPYING README.md
160 %attr(755,root,root) %{_bindir}/libinput
161 %attr(755,root,root) %{_libdir}/libinput.so.*.*.*
162 %attr(755,root,root) %ghost %{_libdir}/libinput.so.10
163 %dir %{_libexecdir}/libinput
164 %attr(755,root,root) %{_libexecdir}/libinput/libinput-analyze
165 %attr(755,root,root) %{_libexecdir}/libinput/libinput-analyze-per-slot-delta
166 %attr(755,root,root) %{_libexecdir}/libinput/libinput-analyze-recording
167 %attr(755,root,root) %{_libexecdir}/libinput/libinput-analyze-touch-down-state
168 %attr(755,root,root) %{_libexecdir}/libinput/libinput-debug-events
169 %attr(755,root,root) %{_libexecdir}/libinput/libinput-debug-tablet
170 %attr(755,root,root) %{_libexecdir}/libinput/libinput-list-devices
171 %attr(755,root,root) %{_libexecdir}/libinput/libinput-measure
172 %attr(755,root,root) %{_libexecdir}/libinput/libinput-measure-fuzz
173 %attr(755,root,root) %{_libexecdir}/libinput/libinput-measure-touchpad-pressure
174 %attr(755,root,root) %{_libexecdir}/libinput/libinput-measure-touchpad-size
175 %attr(755,root,root) %{_libexecdir}/libinput/libinput-measure-touchpad-tap
176 %attr(755,root,root) %{_libexecdir}/libinput/libinput-measure-touch-size
177 %attr(755,root,root) %{_libexecdir}/libinput/libinput-quirks
178 %attr(755,root,root) %{_libexecdir}/libinput/libinput-record
179 %attr(755,root,root) %{_libexecdir}/libinput/libinput-replay
180 %attr(755,root,root) /lib/udev/libinput-device-group
181 %attr(755,root,root) /lib/udev/libinput-fuzz-extract
182 %attr(755,root,root) /lib/udev/libinput-fuzz-to-zero
183 /lib/udev/rules.d/80-libinput-device-groups.rules
184 /lib/udev/rules.d/90-libinput-fuzz-override.rules
185 %dir %{_datadir}/libinput
186 %{_datadir}/libinput/*.quirks
187 %{_mandir}/man1/libinput.1*
188 %{_mandir}/man1/libinput-analyze.1*
189 %{_mandir}/man1/libinput-analyze-per-slot-delta.1*
190 %{_mandir}/man1/libinput-analyze-recording.1*
191 %{_mandir}/man1/libinput-analyze-touch-down-state.1*
192 %{_mandir}/man1/libinput-debug-events.1*
193 %{_mandir}/man1/libinput-debug-tablet.1*
194 %{_mandir}/man1/libinput-list-devices.1*
195 %{_mandir}/man1/libinput-measure.1*
196 %{_mandir}/man1/libinput-measure-fuzz.1*
197 %{_mandir}/man1/libinput-measure-touchpad-pressure.1*
198 %{_mandir}/man1/libinput-measure-touchpad-size.1*
199 %{_mandir}/man1/libinput-measure-touchpad-tap.1*
200 %{_mandir}/man1/libinput-measure-touch-size.1*
201 %{_mandir}/man1/libinput-quirks.1*
202 %{_mandir}/man1/libinput-quirks-list.1*
203 %{_mandir}/man1/libinput-quirks-validate.1*
204 %{_mandir}/man1/libinput-record.1*
205 %{_mandir}/man1/libinput-replay.1*
209 %defattr(644,root,root,755)
210 %attr(755,root,root) %{_libexecdir}/libinput/libinput-debug-gui
211 %{_mandir}/man1/libinput-debug-gui.1*
215 %defattr(644,root,root,755)
216 %attr(755,root,root) %{_libdir}/libinput.so
217 %{_includedir}/libinput.h
218 %{_pkgconfigdir}/libinput.pc
222 %defattr(644,root,root,755)
223 %doc build/doc/html/*
226 %files -n zsh-completion-%{name}
227 %defattr(644,root,root,755)
228 %{zsh_compdir}/_libinput