3 %bcond_without apidocs # Doxygen documentation
4 %bcond_without qt # Qt (5) based tools
5 %bcond_without static_libs # static libraries
7 Summary: Collection of Video4Linux utilities
8 Summary(pl.UTF-8): Zbiór narzędzi do urządzeń Video4Linux
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
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
26 BuildRequires: SDL2-devel
27 BuildRequires: SDL2_image-devel
28 BuildRequires: alsa-lib-devel
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
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
48 Requires: json-c >= 0.15
49 Requires: libv4l = %{version}-%{release}
50 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
52 # ELF files with some special architecture inside
53 %define _noautostrip /lib/udev/rc_keymaps/.*
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.
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.
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
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}
80 Graphical Qt V4L2 control panel and capture utility.
82 %description qt -l pl.UTF-8
83 Graficzny panel kontrolny V4L2 i narzędzie do przechwytywania obrazu
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
90 Group: Applications/Console
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.
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.
108 Summary: Abstraction layer on top of video4linux2 devices
109 Summary(pl.UTF-8): Warstwa abstrakcji dla urządzeń video4linux2
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
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.
126 %package -n libv4l-devel
127 Summary: Header files for libv4l libraries
128 Summary(pl.UTF-8): Pliki nagłówkowe bibliotek libv4l
130 Group: Development/Libraries
131 Requires: libv4l = %{version}-%{release}
134 %description -n libv4l-devel
135 Header files for libv4l libraries.
137 %description -n libv4l-devel -l pl.UTF-8
138 Pliki nagłówkowe bibliotek libv4l.
140 %package -n libv4l-static
141 Summary: Static libv4l libraries
142 Summary(pl.UTF-8): Statyczne biblioteki libv4l
144 Group: Development/Libraries
145 Requires: libv4l-devel = %{version}-%{release}
147 %description -n libv4l-static
148 Static libv4l libraries.
150 %description -n libv4l-static -l pl.UTF-8
151 Statyczne biblioteki libv4l.
153 %package -n libv4l-apidocs
154 Summary: API documentation for libv4l libraries
155 Summary(pl.UTF-8): Dokumentacja API biblioteki libv4l
159 %description -n libv4l-apidocs
160 API documentation for libv4l libraries.
162 %description -n libv4l-apidocs -l pl.UTF-8
163 Dokumentacja API biblioteki libv4l.
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
171 %description -n iconv-v4l
172 Conversion modules for TV broadcasting encodings: ARIB-STD-B24,
175 %description -n iconv-v4l -l pl.UTF-8
176 Moduły konwersji do kodowań używanych w telewizji: ARIB-STD-B24,
184 %{!?with_static_libs:--default-library=shared} \
185 %{!?with_apidocs:-Ddoxygen-doc=false} \
192 %ninja_build -C build
195 rm -rf $RPM_BUILD_ROOT
197 %ninja_install -C build
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
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
208 # for find-debuginfo.sh
209 export EXCLUDE_FROM_STRIP="%{_noautostrip}"
212 rm -rf $RPM_BUILD_ROOT
215 %update_desktop_database_post
216 %update_icon_cache hicolor
219 %update_desktop_database_postun
220 %update_icon_cache hicolor
222 # handle transition from libv4l 0.8.x (.so.0 used to be libraries, not symlinks)
224 for f in libv4l1 libv4l2 libv4lconvert ; do
225 if [ ! -h %{_libdir}/${f}.so.0 ]; then
226 rm -f %{_libdir}/${f}.so.0
230 %post -n libv4l -p /sbin/ldconfig
231 %postun -n libv4l -p /sbin/ldconfig
233 %posttrans -n iconv-v4l
234 %{_sbindir}/iconvconfig --nostdlib -o %{_libdir}/gconv/gconv-modules.cache %{_libdir}/gconv
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*
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*
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
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*
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
317 %files -n libv4l-devel
318 %defattr(644,root,root,755)
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
333 %if %{with static_libs}
334 %files -n libv4l-static
335 %defattr(644,root,root,755)
336 %{_libdir}/libdvbv5.a
339 %{_libdir}/libv4l2rds.a
340 %{_libdir}/libv4lconvert.a
344 %files -n libv4l-apidocs
345 %defattr(644,root,root,755)
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