- updated meson version and macros
[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 static
99 Summary:        Static libinput library
100 Summary(pl.UTF-8):      Statyczna biblioteka libinput
101 Group:          Development/Libraries
102 Requires:       %{name}-devel = %{version}-%{release}
103
104 %description static
105 Static libinput library.
106
107 %description static -l pl.UTF-8
108 Statyczna biblioteka libinput.
109
110 %package apidocs
111 Summary:        API documentation for libinput library
112 Summary(pl.UTF-8):      Dokumentacja API biblioteki libinput
113 Group:          Documentation
114 %if "%{_rpmversion}" >= "4.6"
115 BuildArch:      noarch
116 %endif
117
118 %description apidocs
119 API documentation for libinput library.
120
121 %description apidocs -l pl.UTF-8
122 Dokumentacja API biblioteki libinput.
123
124 %package -n zsh-completion-%{name}
125 Summary:        Zsh completion for libinput command
126 Summary(pl.UTF-8):      Dopełnianie parametrów w zsh dla polecenia libinput
127 Group:          Applications/Shells
128 Requires:       %{name} = %{epoch}:%{version}-%{release}
129 Requires:       zsh
130
131 %description -n zsh-completion-%{name}
132 Zsh completion for libinput command.
133
134 %description -n zsh-completion-%{name} -l pl.UTF-8
135 Dopełnianie parametrów w zsh dla polecenia libinput.
136
137 %prep
138 %setup -q
139
140 %{__sed} -i -e '1s,/usr/bin/env python3,%{__python3},' \
141         tools/libinput-measure-{fuzz,touchpad-pressure,touch-size,touchpad-tap}.py \
142         tools/libinput-{replay,analyze-per-slot-delta.py,measure-touchpad-size.py}
143
144 %build
145 %meson build \
146         -Ddebug-gui=%{__true_false gui} \
147         -Ddocumentation=%{__true_false doc} \
148         -Dudev-dir=/lib/udev \
149         -Dzshcompletiondir=%{zsh_compdir}
150
151 %ninja_build -C build
152
153 %{?with_tests:%ninja_test -C build}
154
155 %install
156 rm -rf $RPM_BUILD_ROOT
157
158 %ninja_install -C build
159
160 %{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/libinput-test-suite.1
161
162 %clean
163 rm -rf $RPM_BUILD_ROOT
164
165 %post   -p /sbin/ldconfig
166 %postun -p /sbin/ldconfig
167
168 %files
169 %defattr(644,root,root,755)
170 %doc COPYING README.md
171 %attr(755,root,root) %{_bindir}/libinput
172 %attr(755,root,root) %{_libdir}/libinput.so.*.*.*
173 %attr(755,root,root) %ghost %{_libdir}/libinput.so.10
174 %dir %{_libexecdir}/libinput
175 %attr(755,root,root) %{_libexecdir}/libinput/libinput-analyze
176 %attr(755,root,root) %{_libexecdir}/libinput/libinput-analyze-per-slot-delta
177 %attr(755,root,root) %{_libexecdir}/libinput/libinput-debug-events
178 %attr(755,root,root) %{_libexecdir}/libinput/libinput-debug-tablet
179 %attr(755,root,root) %{_libexecdir}/libinput/libinput-list-devices
180 %attr(755,root,root) %{_libexecdir}/libinput/libinput-measure
181 %attr(755,root,root) %{_libexecdir}/libinput/libinput-measure-fuzz
182 %attr(755,root,root) %{_libexecdir}/libinput/libinput-measure-touchpad-pressure
183 %attr(755,root,root) %{_libexecdir}/libinput/libinput-measure-touchpad-size
184 %attr(755,root,root) %{_libexecdir}/libinput/libinput-measure-touchpad-tap
185 %attr(755,root,root) %{_libexecdir}/libinput/libinput-measure-touch-size
186 %attr(755,root,root) %{_libexecdir}/libinput/libinput-quirks
187 %attr(755,root,root) %{_libexecdir}/libinput/libinput-record
188 %attr(755,root,root) %{_libexecdir}/libinput/libinput-replay
189 %attr(755,root,root) /lib/udev/libinput-device-group
190 %attr(755,root,root) /lib/udev/libinput-fuzz-extract
191 %attr(755,root,root) /lib/udev/libinput-fuzz-to-zero
192 /lib/udev/rules.d/80-libinput-device-groups.rules
193 /lib/udev/rules.d/90-libinput-fuzz-override.rules
194 %dir %{_datadir}/libinput
195 %{_datadir}/libinput/*.quirks
196 %{_mandir}/man1/libinput.1*
197 %{_mandir}/man1/libinput-analyze.1*
198 %{_mandir}/man1/libinput-analyze-per-slot-delta.1*
199 %{_mandir}/man1/libinput-debug-events.1*
200 %{_mandir}/man1/libinput-debug-tablet.1*
201 %{_mandir}/man1/libinput-list-devices.1*
202 %{_mandir}/man1/libinput-measure.1*
203 %{_mandir}/man1/libinput-measure-fuzz.1*
204 %{_mandir}/man1/libinput-measure-touchpad-pressure.1*
205 %{_mandir}/man1/libinput-measure-touchpad-size.1*
206 %{_mandir}/man1/libinput-measure-touchpad-tap.1*
207 %{_mandir}/man1/libinput-measure-touch-size.1*
208 %{_mandir}/man1/libinput-quirks.1*
209 %{_mandir}/man1/libinput-quirks-list.1*
210 %{_mandir}/man1/libinput-quirks-validate.1*
211 %{_mandir}/man1/libinput-record.1*
212 %{_mandir}/man1/libinput-replay.1*
213
214 %if %{with gui}
215 %files gui
216 %defattr(644,root,root,755)
217 %attr(755,root,root) %{_libexecdir}/libinput/libinput-debug-gui
218 %{_mandir}/man1/libinput-debug-gui.1*
219 %endif
220
221 %files devel
222 %defattr(644,root,root,755)
223 %attr(755,root,root) %{_libdir}/libinput.so
224 %{_includedir}/libinput.h
225 %{_pkgconfigdir}/libinput.pc
226
227 %if %{with doc}
228 %files apidocs
229 %defattr(644,root,root,755)
230 %doc build/api/*
231 %endif
232
233 %files -n zsh-completion-%{name}
234 %defattr(644,root,root,755)
235 %{zsh_compdir}/_libinput
This page took 0.127134 seconds and 3 git commands to generate.