]> git.pld-linux.org Git - packages/v4l-utils.git/blob - v4l-utils.spec
- package gconv modules (in iconv-v4l package)
[packages/v4l-utils.git] / v4l-utils.spec
1 #
2 # Conditional build:
3 %bcond_without  apidocs         # Doxygen documentation
4 %bcond_without  qt              # Qt (5) based tools
5 %bcond_without  static_libs     # static libraries
6 #
7 Summary:        Collection of Video4Linux utilities
8 Summary(pl.UTF-8):      Zbiór narzędzi do urządzeń Video4Linux
9 Name:           v4l-utils
10 Version:        1.26.1
11 Release:        1
12 License:        GPL v2+ (utilities), LGPL v2.1+ (libraries)
13 Group:          Applications/System
14 Source0:        https://linuxtv.org/downloads/v4l-utils/%{name}-%{version}.tar.xz
15 # Source0-md5:  a3565a8ccc427dcce52845c2b8880c28
16 URL:            https://linuxtv.org/wiki/index.php/V4l-utils
17 BuildRequires:  OpenGL-devel
18 BuildRequires:  OpenGL-GLU-devel
19 %if %{with qt}
20 BuildRequires:  Qt5Core-devel >= 5.0
21 BuildRequires:  Qt5Gui-devel >= 5.0
22 BuildRequires:  Qt5OpenGL-devel >= 5.0
23 BuildRequires:  Qt5Widgets-devel >= 5.0
24 BuildRequires:  qt5-build >= 5.0
25 %endif
26 BuildRequires:  SDL2-devel
27 BuildRequires:  SDL2_image-devel
28 BuildRequires:  alsa-lib-devel
29 # for bpf
30 BuildRequires:  clang
31 %{?with_apidocs:BuildRequires:  doxygen >= 1.8.6}
32 BuildRequires:  elfutils-devel
33 BuildRequires:  gettext-tools >= 0.19.8
34 BuildRequires:  json-c-devel >= 0.15
35 BuildRequires:  libbpf-devel >= 0.7
36 BuildRequires:  libjpeg-devel
37 BuildRequires:  libstdc++-devel >= 6:4.7
38 BuildRequires:  meson >= 0.54
39 BuildRequires:  ninja
40 BuildRequires:  pkgconfig
41 BuildRequires:  rpm-build >= 4.6
42 BuildRequires:  rpmbuild(macros) >= 1.736
43 BuildRequires:  systemd-devel
44 BuildRequires:  tar >= 1:1.22
45 BuildRequires:  udev-devel
46 BuildRequires:  xorg-lib-libX11-devel
47 BuildRequires:  xz
48 Requires:       json-c >= 0.15
49 Requires:       libv4l = %{version}-%{release}
50 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
51
52 # ELF files with some special architecture inside
53 %define         _noautostrip    /lib/udev/rc_keymaps/.*
54
55 %description
56 A series of utilities for media devices, allowing to handle the
57 proprietary formats available at most webcams (libv4l), and providing
58 tools to test V4L devices.
59
60 %description -l pl.UTF-8
61 Zbiór narzędzi do urządzeń multimedialnych, pozwalający obsługiwać
62 własnościowe formaty dostępne w większości kamer internetowych
63 (libv4l) oraz testować urządzenia V4L.
64
65 %package qt
66 Summary:        Qt-based V4L2 capture and test utilities
67 Summary(pl.UTF-8):      Oparte na Qt narzędzia V4L2 do przechwytywania obrazu i testowania
68 License:        GPL v2+
69 Group:          X11/Applications
70 Requires(post,postun):  desktop-file-utils
71 Requires(post,postun):  gtk-update-icon-cache
72 Requires:       Qt5Core >= 5.0
73 Requires:       Qt5Gui >= 5.0
74 Requires:       Qt5OpenGL >= 5.0
75 Requires:       Qt5Widgets >= 5.0
76 Requires:       hicolor-icon-theme
77 Requires:       libv4l = %{version}-%{release}
78
79 %description qt
80 Graphical Qt V4L2 control panel and capture utility.
81
82 %description qt -l pl.UTF-8
83 Graficzny panel kontrolny V4L2 i narzędzie do przechwytywania obrazu
84 oparte na Qt.
85
86 %package -n ir-keytable
87 Summary:        Alter keymaps of Remote Controller devices
88 Summary(pl.UTF-8):      Zmiana map klawiszy urządzeń do zdalnego sterowania
89 License:        GPL v2+
90 Group:          Applications/Console
91
92 %description -n ir-keytable
93 Dump, Load or Modify IR receiver input tables. This package allows one
94 to change the keymap of controller receivers. Those receivers are
95 found as infrared receivers on DVB sticks or on framegrabber cards.
96 Via ir-keytable the mapping from a scancode to the generated event can
97 be customized and made persistent.
98
99 %description -n ir-keytable -l pl.UTF-8
100 ir-keytable to narzędzie pozwalające na zrzucanie, wczytywanie i
101 modyfikowanie tablic wejściowych odbiorników podczerwieni (IR). Ten
102 pakiet pozwala na zmianę tablic klawiszy odbiorników pilotów.
103 Odbiorniki podczerwieni występują na interfejsach DVB lub kartach
104 framegrabberów. Dzięki użyciu ir-keytable można zmienić i zachować
105 odwzorowania między skankodami a generowanymi zdarzeniami.
106
107 %package -n libv4l
108 Summary:        Abstraction layer on top of video4linux2 devices
109 Summary(pl.UTF-8):      Warstwa abstrakcji dla urządzeń video4linux2
110 License:        LGPL v2.1+
111 Group:          Libraries
112
113 %description -n libv4l
114 Collection of libraries which adds a thin abstraction layer on top of
115 video4linux2 devices. The purpose of this (thin) layer is to make it
116 easy for application writers to support a wide variety of devices
117 without having to write seperate code for different devices in the
118 same class.
119
120 %description -n libv4l -l pl.UTF-8
121 libv4l to zestaw bibliotek dodający niewielką warstwę abstrakcji dla
122 urządzeń video4linux2. Celem tej warstwy jest ułatwienie autorom
123 aplikacji obsługi szerokiej gamy urządzeń bez pisania osobnego kodu
124 dla różnych urządzeń tej samej klasy.
125
126 %package -n libv4l-devel
127 Summary:        Header files for libv4l libraries
128 Summary(pl.UTF-8):      Pliki nagłówkowe bibliotek libv4l
129 License:        LGPL v2.1+
130 Group:          Development/Libraries
131 Requires:       libv4l = %{version}-%{release}
132 Requires:       udev-devel
133
134 %description -n libv4l-devel
135 Header files for libv4l libraries.
136
137 %description -n libv4l-devel -l pl.UTF-8
138 Pliki nagłówkowe bibliotek libv4l.
139
140 %package -n libv4l-static
141 Summary:        Static libv4l libraries
142 Summary(pl.UTF-8):      Statyczne biblioteki libv4l
143 License:        LGPL v2.1+
144 Group:          Development/Libraries
145 Requires:       libv4l-devel = %{version}-%{release}
146
147 %description -n libv4l-static
148 Static libv4l libraries.
149
150 %description -n libv4l-static -l pl.UTF-8
151 Statyczne biblioteki libv4l.
152
153 %package -n libv4l-apidocs
154 Summary:        API documentation for libv4l libraries
155 Summary(pl.UTF-8):      Dokumentacja API biblioteki libv4l
156 Group:          Documentation
157 BuildArch:      noarch
158
159 %description -n libv4l-apidocs
160 API documentation for libv4l libraries.
161
162 %description -n libv4l-apidocs -l pl.UTF-8
163 Dokumentacja API biblioteki libv4l.
164
165 %package -n iconv-v4l
166 Summary:        Conversion modules for TV broadcasting encodings
167 Summary(pl.UTF-8):      Moduły konwersji do kodowań używanych w telewizji
168 Group:          Libraries
169 Requires:       iconv
170
171 %description -n iconv-v4l
172 Conversion modules for TV broadcasting encodings: ARIB-STD-B24,
173 EN300-468-TAB00.
174
175 %description -n iconv-v4l -l pl.UTF-8
176 Moduły konwersji do kodowań używanych w telewizji: ARIB-STD-B24,
177 EN300-468-TAB00.
178
179 %prep
180 %setup -q
181
182 %build
183 %meson build \
184         %{!?with_static_libs:--default-library=shared} \
185         %{!?with_apidocs:-Ddoxygen-doc=false} \
186         -Dlibdvbv5=enabled \
187 %if %{without qt}
188         -Dqv4l2=disabled \
189         -Dqvidcap=disabled \
190 %endif
191
192 %ninja_build -C build
193
194 %install
195 rm -rf $RPM_BUILD_ROOT
196
197 %ninja_install -C build
198
199 install build/contrib/rds-saa6588/rds-saa6588 $RPM_BUILD_ROOT%{_bindir}
200 install build/contrib/xc3028-firmware/xc3028-firmware $RPM_BUILD_ROOT%{_bindir}/xc3028-firmware
201
202 install -d $RPM_BUILD_ROOT%{_libdir}/gconv/gconv-modules.d
203 %{__mv} $RPM_BUILD_ROOT%{_libdir}/gconv/gconv-modules $RPM_BUILD_ROOT%{_libdir}/gconv/gconv-modules.d/gconv-modules-v4l.conf
204
205 %find_lang libdvbv5
206 %find_lang v4l-utils
207
208 # for find-debuginfo.sh
209 export EXCLUDE_FROM_STRIP="%{_noautostrip}"
210
211 %clean
212 rm -rf $RPM_BUILD_ROOT
213
214 %post qt
215 %update_desktop_database_post
216 %update_icon_cache hicolor
217
218 %postun qt
219 %update_desktop_database_postun
220 %update_icon_cache hicolor
221
222 # handle transition from libv4l 0.8.x (.so.0 used to be libraries, not symlinks)
223 %pretrans -n libv4l
224 for f in libv4l1 libv4l2 libv4lconvert ; do
225         if [ ! -h %{_libdir}/${f}.so.0 ]; then
226                 rm -f %{_libdir}/${f}.so.0
227         fi
228 done
229
230 %post   -n libv4l -p /sbin/ldconfig
231 %postun -n libv4l -p /sbin/ldconfig
232
233 %posttrans -n iconv-v4l
234 %{_sbindir}/iconvconfig --nostdlib -o %{_libdir}/gconv/gconv-modules.cache %{_libdir}/gconv
235
236 %files -f v4l-utils.lang
237 %defattr(644,root,root,755)
238 %doc ChangeLog README.md TODO contrib
239 %attr(755,root,root) %{_bindir}/cec-compliance
240 %attr(755,root,root) %{_bindir}/cec-ctl
241 %attr(755,root,root) %{_bindir}/cec-follower
242 %attr(755,root,root) %{_bindir}/cx18-ctl
243 %attr(755,root,root) %{_bindir}/decode_tm6000
244 %attr(755,root,root) %{_bindir}/dvb-fe-tool
245 %attr(755,root,root) %{_bindir}/dvb-format-convert
246 %attr(755,root,root) %{_bindir}/dvbv5-daemon
247 %attr(755,root,root) %{_bindir}/dvbv5-scan
248 %attr(755,root,root) %{_bindir}/dvbv5-zap
249 %attr(755,root,root) %{_bindir}/ir-ctl
250 %attr(755,root,root) %{_bindir}/ivtv-ctl
251 %attr(755,root,root) %{_bindir}/media-ctl
252 %attr(755,root,root) %{_bindir}/rds-ctl
253 %attr(755,root,root) %{_bindir}/rds-saa6588
254 %attr(755,root,root) %{_bindir}/v4l2-compliance
255 %attr(755,root,root) %{_bindir}/v4l2-ctl
256 %attr(755,root,root) %{_bindir}/v4l2-sysfs-path
257 %attr(755,root,root) %{_bindir}/v4l2-tracer
258 %attr(755,root,root) %{_bindir}/xc3028-firmware
259 %attr(755,root,root) %{_sbindir}/v4l2-dbg
260 %{_mandir}/man1/cec-compliance.1*
261 %{_mandir}/man1/cec-ctl.1*
262 %{_mandir}/man1/cec-follower.1*
263 %{_mandir}/man1/dvb-fe-tool.1*
264 %{_mandir}/man1/dvb-format-convert.1*
265 %{_mandir}/man1/dvbv5-scan.1*
266 %{_mandir}/man1/dvbv5-zap.1*
267 %{_mandir}/man1/ir-ctl.1*
268 %{_mandir}/man1/v4l2-compliance.1*
269 %{_mandir}/man1/v4l2-ctl.1*
270 %{_mandir}/man1/v4l2-tracer.1*
271
272 %if %{with qt}
273 %files qt
274 %defattr(644,root,root,755)
275 %attr(755,root,root) %{_bindir}/qv4l2
276 %attr(755,root,root) %{_bindir}/qvidcap
277 %{_desktopdir}/qv4l2.desktop
278 %{_desktopdir}/qvidcap.desktop
279 %{_iconsdir}/hicolor/*/apps/qv4l2.*
280 %{_iconsdir}/hicolor/*/apps/qvidcap.*
281 %{_mandir}/man1/qv4l2.1*
282 %{_mandir}/man1/qvidcap.1*
283 %endif
284
285 %files -n ir-keytable
286 %defattr(644,root,root,755)
287 %dir %{_sysconfdir}/rc_keymaps
288 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rc_maps.cfg
289 %{systemdunitdir}/systemd-udevd.service.d/50-rc_keymap.conf
290 /lib/udev/rc_keymaps
291 /lib/udev/rules.d/70-infrared.rules
292 %attr(755,root,root) %{_bindir}/ir-keytable
293 %{_mandir}/man1/ir-keytable.1*
294 %{_mandir}/man5/rc_keymap.5*
295
296 %files -n libv4l -f libdvbv5.lang
297 %defattr(644,root,root,755)
298 %attr(755,root,root) %{_libdir}/libdvbv5.so.*.*.*
299 %attr(755,root,root) %ghost %{_libdir}/libdvbv5.so.0
300 %attr(755,root,root) %{_libdir}/libv4l1.so.*.*.*
301 %attr(755,root,root) %ghost %{_libdir}/libv4l1.so.0
302 %attr(755,root,root) %{_libdir}/libv4l2.so.*.*.*
303 %attr(755,root,root) %ghost %{_libdir}/libv4l2.so.0
304 %attr(755,root,root) %{_libdir}/libv4l2rds.so.*.*.*
305 %attr(755,root,root) %ghost %{_libdir}/libv4l2rds.so.0
306 %attr(755,root,root) %{_libdir}/libv4lconvert.so.*.*.*
307 %attr(755,root,root) %ghost %{_libdir}/libv4lconvert.so.0
308 %attr(755,root,root) %{_libdir}/libv4l2tracer.so
309 %dir %{_libdir}/libv4l
310 %attr(755,root,root) %{_libdir}/libv4l/ov511-decomp
311 %attr(755,root,root) %{_libdir}/libv4l/ov518-decomp
312 %attr(755,root,root) %{_libdir}/libv4l/v4l1compat.so
313 %attr(755,root,root) %{_libdir}/libv4l/v4l2convert.so
314 %dir %{_libdir}/libv4l/plugins
315 %attr(755,root,root) %{_libdir}/libv4l/plugins/libv4l-mplane.so
316
317 %files -n libv4l-devel
318 %defattr(644,root,root,755)
319 %doc README.lib*
320 %attr(755,root,root) %{_libdir}/libdvbv5.so
321 %attr(755,root,root) %{_libdir}/libv4l1.so
322 %attr(755,root,root) %{_libdir}/libv4l2.so
323 %attr(755,root,root) %{_libdir}/libv4l2rds.so
324 %attr(755,root,root) %{_libdir}/libv4lconvert.so
325 %{_includedir}/libv4l*.h
326 %{_includedir}/libdvbv5
327 %{_pkgconfigdir}/libdvbv5.pc
328 %{_pkgconfigdir}/libv4l1.pc
329 %{_pkgconfigdir}/libv4l2.pc
330 %{_pkgconfigdir}/libv4l2rds.pc
331 %{_pkgconfigdir}/libv4lconvert.pc
332
333 %if %{with static_libs}
334 %files -n libv4l-static
335 %defattr(644,root,root,755)
336 %{_libdir}/libdvbv5.a
337 %{_libdir}/libv4l1.a
338 %{_libdir}/libv4l2.a
339 %{_libdir}/libv4l2rds.a
340 %{_libdir}/libv4lconvert.a
341 %endif
342
343 %if %{with apidocs}
344 %files -n libv4l-apidocs
345 %defattr(644,root,root,755)
346 %{_docdir}/v4l-utils
347 %endif
348
349 %files -n iconv-v4l
350 %defattr(644,root,root,755)
351 %attr(755,root,root) %{_libdir}/gconv/ARIB-STD-B24.so
352 %attr(755,root,root) %{_libdir}/gconv/EN300-468-TAB00.so
353 %{_libdir}/gconv/gconv-modules.d/gconv-modules-v4l.conf
This page took 0.140222 seconds and 3 git commands to generate.