84662b7a7d3f6737395a72f3bbb82326290260f1
[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.17.0
17 Release:        1
18 License:        MIT
19 Group:          Libraries
20 Source0:        https://www.freedesktop.org/software/libinput/%{name}-%{version}.tar.xz
21 # Source0-md5:  9d25bc0618a9abfaee1807358ed468b3
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
35 BuildRequires:  xz
36 %if %{with gui}
37 BuildRequires:  cairo-devel
38 BuildRequires:  glib2-devel >= 2.0
39 BuildRequires:  gtk+3-devel >= 3.20
40 %endif
41 %if %{with doc}
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
47 %endif
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)
52
53 %description
54 libinput is a library that handles input devices for display servers
55 and other applications that need to directly deal with input devices.
56
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
60 that users expect.
61
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ń
65 wejściowych.
66
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ść.
71
72 %package gui
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
78
79 %description gui
80 Debugging GUI for libinput.
81
82 %description gui -l pl.UTF-8
83 Graficzny interfejs diagnostyczny do libinput.
84
85 %package devel
86 Summary:        Development files for libinput
87 Summary(pl.UTF-8):      Pliki programistyczne biblioteki libinput
88 Group:          Development/Libraries
89 Requires:       %{name} = %{version}-%{release}
90 Requires:       udev-devel
91
92 %description devel
93 This package contains the header files for developing applications
94 that use libinput.
95
96 %description devel -l pl.UTF-8
97 Ten pakiet zawiera pliki nagłówkowe niezbędne do tworzenia aplikacji
98 wykorzystujących bibliotekę libinput.
99
100 %package apidocs
101 Summary:        API documentation for libinput library
102 Summary(pl.UTF-8):      Dokumentacja API biblioteki libinput
103 Group:          Documentation
104 %{?noarchpackage}
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-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
132
133 %build
134 %meson build \
135         -Ddebug-gui=%{__true_false gui} \
136         -Ddocumentation=%{__true_false doc} \
137         -Dudev-dir=/lib/udev \
138         -Dzshcompletiondir=%{zsh_compdir}
139
140 %ninja_build -C build
141
142 %{?with_tests:%ninja_test -C build}
143
144 %install
145 rm -rf $RPM_BUILD_ROOT
146
147 %ninja_install -C build
148
149 %{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/libinput-test-suite.1
150
151 %clean
152 rm -rf $RPM_BUILD_ROOT
153
154 %post   -p /sbin/ldconfig
155 %postun -p /sbin/ldconfig
156
157 %files
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*
206
207 %if %{with gui}
208 %files gui
209 %defattr(644,root,root,755)
210 %attr(755,root,root) %{_libexecdir}/libinput/libinput-debug-gui
211 %{_mandir}/man1/libinput-debug-gui.1*
212 %endif
213
214 %files devel
215 %defattr(644,root,root,755)
216 %attr(755,root,root) %{_libdir}/libinput.so
217 %{_includedir}/libinput.h
218 %{_pkgconfigdir}/libinput.pc
219
220 %if %{with doc}
221 %files apidocs
222 %defattr(644,root,root,755)
223 %doc build/api/*
224 %endif
225
226 %files -n zsh-completion-%{name}
227 %defattr(644,root,root,755)
228 %{zsh_compdir}/_libinput
This page took 0.163746 seconds and 2 git commands to generate.