c5fd53a245db087962909d38f229ee573e96d2af
[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_without  libunwind       # libunwind debugging support
7 %bcond_without  doc             # documentation
8 %bcond_without  tests           # tests
9
10 %ifnarch %{ix86} %{x8664} %{arm} hppa ia64 mips ppc ppc64 sh
11 %undefine       with_libunwind
12 %endif
13 Summary:        Input device library
14 Summary(pl.UTF-8):      Biblioteka urządzeń wejściowych
15 Name:           libinput
16 Version:        1.16.1
17 Release:        1
18 License:        MIT
19 Group:          Libraries
20 Source0:        https://www.freedesktop.org/software/libinput/%{name}-%{version}.tar.xz
21 # Source0-md5:  51454993fcc576f4480aba8c1c3232ac
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.736
32 BuildRequires:  udev-devel
33 BuildRequires:  valgrind
34 %if %{with gui}
35 BuildRequires:  cairo-devel
36 BuildRequires:  glib2-devel >= 2.0
37 BuildRequires:  gtk+3-devel >= 3.20
38 %endif
39 %if %{with doc}
40 BuildRequires:  doxygen >= 1.8.3
41 BuildRequires:  graphviz >= 2.26.0
42 BuildRequires:  python3-recommonmark
43 BuildRequires:  python3-sphinx_rtd_theme
44 BuildRequires:  sphinx-pdg-3
45 %endif
46 Requires:       libevdev >= 1.3
47 Requires:       libwacom >= 0.20
48 Requires:       mtdev >= 1.1.0
49 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
50
51 %description
52 libinput is a library that handles input devices for display servers
53 and other applications that need to directly deal with input devices.
54
55 It provides device detection, device handling, input device event
56 processing and abstraction so minimize the amount of custom input code
57 the user of libinput need to provide the common set of functionality
58 that users expect.
59
60 %description -l pl.UTF-8
61 libinput to biblioteka obsługująca urządzenia wejściowe dla serwerów
62 grafiki i innych aplikacji wymagających bezpośredniej obsługi urządzeń
63 wejściowych.
64
65 Biblioteka zapewnia wykrywanie urządzeń, obsługę urządzeń,
66 przetwarzanie zdarzeń urządzeń wejściowych oraz abstrakcję,
67 minimalizując ilość własnego kodu, który musi napisać użytkownik
68 biblioteki, aby zapewnić oczekiwaną funkcjonalność.
69
70 %package gui
71 Summary:        Debugging GUI for libinput
72 Summary(pl.UTF-8):      Graficzny interfejs diagnostyczny do libinput
73 Group:          X11/Applications
74 Requires:       %{name} = %{version}-%{release}
75 Requires:       gtk+3 >= 3.20
76
77 %description gui
78 Debugging GUI for libinput.
79
80 %description gui -l pl.UTF-8
81 Graficzny interfejs diagnostyczny do libinput.
82
83 %package devel
84 Summary:        Development files for libinput
85 Summary(pl.UTF-8):      Pliki programistyczne biblioteki libinput
86 Group:          Development/Libraries
87 Requires:       %{name} = %{version}-%{release}
88 Requires:       udev-devel
89
90 %description devel
91 This package contains the header files for developing applications
92 that use libinput.
93
94 %description devel -l pl.UTF-8
95 Ten pakiet zawiera pliki nagłówkowe niezbędne do tworzenia aplikacji
96 wykorzystujących bibliotekę libinput.
97
98 %package apidocs
99 Summary:        API documentation for libinput library
100 Summary(pl.UTF-8):      Dokumentacja API biblioteki libinput
101 Group:          Documentation
102 %if "%{_rpmversion}" >= "4.6"
103 BuildArch:      noarch
104 %endif
105
106 %description apidocs
107 API documentation for libinput library.
108
109 %description apidocs -l pl.UTF-8
110 Dokumentacja API biblioteki libinput.
111
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}
117 Requires:       zsh
118
119 %description -n zsh-completion-%{name}
120 Zsh completion for libinput command.
121
122 %description -n zsh-completion-%{name} -l pl.UTF-8
123 Dopełnianie parametrów w zsh dla polecenia libinput.
124
125 %prep
126 %setup -q
127
128 %{__sed} -i -e '1s,/usr/bin/env python3,%{__python3},' \
129         tools/libinput-measure-{fuzz,touchpad-pressure,touch-size,touchpad-tap}.py \
130         tools/libinput-{replay,analyze-per-slot-delta.py,measure-touchpad-size.py}
131
132 %build
133 %meson build \
134         -Ddebug-gui=%{__true_false gui} \
135         -Ddocumentation=%{__true_false doc} \
136         -Dudev-dir=/lib/udev \
137         -Dzshcompletiondir=%{zsh_compdir}
138
139 %ninja_build -C build
140
141 %{?with_tests:%ninja_test -C build}
142
143 %install
144 rm -rf $RPM_BUILD_ROOT
145
146 %ninja_install -C build
147
148 %{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/libinput-test-suite.1
149
150 %clean
151 rm -rf $RPM_BUILD_ROOT
152
153 %post   -p /sbin/ldconfig
154 %postun -p /sbin/ldconfig
155
156 %files
157 %defattr(644,root,root,755)
158 %doc COPYING README.md
159 %attr(755,root,root) %{_bindir}/libinput
160 %attr(755,root,root) %{_libdir}/libinput.so.*.*.*
161 %attr(755,root,root) %ghost %{_libdir}/libinput.so.10
162 %dir %{_libexecdir}/libinput
163 %attr(755,root,root) %{_libexecdir}/libinput/libinput-analyze
164 %attr(755,root,root) %{_libexecdir}/libinput/libinput-analyze-per-slot-delta
165 %attr(755,root,root) %{_libexecdir}/libinput/libinput-debug-events
166 %attr(755,root,root) %{_libexecdir}/libinput/libinput-debug-tablet
167 %attr(755,root,root) %{_libexecdir}/libinput/libinput-list-devices
168 %attr(755,root,root) %{_libexecdir}/libinput/libinput-measure
169 %attr(755,root,root) %{_libexecdir}/libinput/libinput-measure-fuzz
170 %attr(755,root,root) %{_libexecdir}/libinput/libinput-measure-touchpad-pressure
171 %attr(755,root,root) %{_libexecdir}/libinput/libinput-measure-touchpad-size
172 %attr(755,root,root) %{_libexecdir}/libinput/libinput-measure-touchpad-tap
173 %attr(755,root,root) %{_libexecdir}/libinput/libinput-measure-touch-size
174 %attr(755,root,root) %{_libexecdir}/libinput/libinput-quirks
175 %attr(755,root,root) %{_libexecdir}/libinput/libinput-record
176 %attr(755,root,root) %{_libexecdir}/libinput/libinput-replay
177 %attr(755,root,root) /lib/udev/libinput-device-group
178 %attr(755,root,root) /lib/udev/libinput-fuzz-extract
179 %attr(755,root,root) /lib/udev/libinput-fuzz-to-zero
180 /lib/udev/rules.d/80-libinput-device-groups.rules
181 /lib/udev/rules.d/90-libinput-fuzz-override.rules
182 %dir %{_datadir}/libinput
183 %{_datadir}/libinput/*.quirks
184 %{_mandir}/man1/libinput.1*
185 %{_mandir}/man1/libinput-analyze.1*
186 %{_mandir}/man1/libinput-analyze-per-slot-delta.1*
187 %{_mandir}/man1/libinput-debug-events.1*
188 %{_mandir}/man1/libinput-debug-tablet.1*
189 %{_mandir}/man1/libinput-list-devices.1*
190 %{_mandir}/man1/libinput-measure.1*
191 %{_mandir}/man1/libinput-measure-fuzz.1*
192 %{_mandir}/man1/libinput-measure-touchpad-pressure.1*
193 %{_mandir}/man1/libinput-measure-touchpad-size.1*
194 %{_mandir}/man1/libinput-measure-touchpad-tap.1*
195 %{_mandir}/man1/libinput-measure-touch-size.1*
196 %{_mandir}/man1/libinput-quirks.1*
197 %{_mandir}/man1/libinput-quirks-list.1*
198 %{_mandir}/man1/libinput-quirks-validate.1*
199 %{_mandir}/man1/libinput-record.1*
200 %{_mandir}/man1/libinput-replay.1*
201
202 %if %{with gui}
203 %files gui
204 %defattr(644,root,root,755)
205 %attr(755,root,root) %{_libexecdir}/libinput/libinput-debug-gui
206 %{_mandir}/man1/libinput-debug-gui.1*
207 %endif
208
209 %files devel
210 %defattr(644,root,root,755)
211 %attr(755,root,root) %{_libdir}/libinput.so
212 %{_includedir}/libinput.h
213 %{_pkgconfigdir}/libinput.pc
214
215 %if %{with doc}
216 %files apidocs
217 %defattr(644,root,root,755)
218 %doc build/api/*
219 %endif
220
221 %files -n zsh-completion-%{name}
222 %defattr(644,root,root,755)
223 %{zsh_compdir}/_libinput
This page took 0.10352 seconds and 2 git commands to generate.