]> git.pld-linux.org Git - packages/libinput.git/blob - libinput.spec
up to 1.19.0
[packages/libinput.git] / libinput.spec
1 # TODO:
2 # - package user docs from build/Documentation
3 #
4 # Conditional build:
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
10
11 %ifnarch %{ix86} %{x8664} %{arm} hppa ia64 mips ppc ppc64 sh
12 %undefine       with_libunwind
13 %endif
14 Summary:        Input device library
15 Summary(pl.UTF-8):      Biblioteka urządzeń wejściowych
16 Name:           libinput
17 Version:        1.19.0
18 Release:        1
19 License:        MIT
20 Group:          Libraries
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
36 BuildRequires:  xz
37 %if %{with gui}
38 BuildRequires:  cairo-devel
39 BuildRequires:  glib2-devel >= 2.0
40 %if %{with gtk4}
41 BuildRequires:  gtk+4-devel >= 4.0
42 %else
43 BuildRequires:  gtk+3-devel >= 3.20
44 %endif
45 BuildRequires:  wayland-devel
46 BuildRequires:  wayland-protocols
47 BuildRequires:  xorg-lib-libX11-devel
48 %endif
49 %if %{with doc}
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
55 %endif
56 %if %{with gui} && %{without gtk4}
57 BuildConflicts: gtk+4-devel
58 %endif
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)
63
64 %description
65 libinput is a library that handles input devices for display servers
66 and other applications that need to directly deal with input devices.
67
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
71 that users expect.
72
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ń
76 wejściowych.
77
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ść.
82
83 %package gui
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}
88 %if %{with gtk4}
89 Requires:       gtk+4 >= 4.0
90 %else
91 Requires:       gtk+3 >= 3.20
92 %endif
93
94 %description gui
95 Debugging GUI for libinput.
96
97 %description gui -l pl.UTF-8
98 Graficzny interfejs diagnostyczny do libinput.
99
100 %package devel
101 Summary:        Development files for libinput
102 Summary(pl.UTF-8):      Pliki programistyczne biblioteki libinput
103 Group:          Development/Libraries
104 Requires:       %{name} = %{version}-%{release}
105 Requires:       udev-devel
106
107 %description devel
108 This package contains the header files for developing applications
109 that use libinput.
110
111 %description devel -l pl.UTF-8
112 Ten pakiet zawiera pliki nagłówkowe niezbędne do tworzenia aplikacji
113 wykorzystujących bibliotekę libinput.
114
115 %package apidocs
116 Summary:        API documentation for libinput library
117 Summary(pl.UTF-8):      Dokumentacja API biblioteki libinput
118 Group:          Documentation
119 BuildArch:      noarch
120
121 %description apidocs
122 API documentation for libinput library.
123
124 %description apidocs -l pl.UTF-8
125 Dokumentacja API biblioteki libinput.
126
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}
132 Requires:       zsh
133
134 %description -n zsh-completion-%{name}
135 Zsh completion for libinput command.
136
137 %description -n zsh-completion-%{name} -l pl.UTF-8
138 Dopełnianie parametrów w zsh dla polecenia libinput.
139
140 %prep
141 %setup -q
142
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
147
148 %build
149 %meson build \
150         -Ddebug-gui=%{__true_false gui} \
151         -Ddocumentation=%{__true_false doc} \
152         -Dudev-dir=/lib/udev \
153         -Dzshcompletiondir=%{zsh_compdir}
154
155 %ninja_build -C build
156
157 %{?with_tests:%ninja_test -C build}
158
159 %install
160 rm -rf $RPM_BUILD_ROOT
161
162 %ninja_install -C build
163
164 %{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/libinput-test-suite.1
165
166 %clean
167 rm -rf $RPM_BUILD_ROOT
168
169 %post   -p /sbin/ldconfig
170 %postun -p /sbin/ldconfig
171
172 %files
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*
221
222 %if %{with gui}
223 %files gui
224 %defattr(644,root,root,755)
225 %attr(755,root,root) %{_libexecdir}/libinput/libinput-debug-gui
226 %{_mandir}/man1/libinput-debug-gui.1*
227 %endif
228
229 %files devel
230 %defattr(644,root,root,755)
231 %attr(755,root,root) %{_libdir}/libinput.so
232 %{_includedir}/libinput.h
233 %{_pkgconfigdir}/libinput.pc
234
235 %if %{with doc}
236 %files apidocs
237 %defattr(644,root,root,755)
238 %doc build/doc/html/*
239 %endif
240
241 %files -n zsh-completion-%{name}
242 %defattr(644,root,root,755)
243 %{zsh_compdir}/_libinput
This page took 0.085016 seconds and 3 git commands to generate.