From b1a9178ff15b21ced0149e0245be8e5b4a65c59e5eddd24ce050386d2462c2f3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Chv=C3=A1tal?= Date: Mon, 9 Sep 2019 07:39:10 +0000 Subject: [PATCH] Accepting request 729146 from home:StefanBruens:branches:devel:libraries:c_c++ use _multibuild for qv4l2 OBS-URL: https://build.opensuse.org/request/show/729146 OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/v4l-utils?expand=0&rev=61 --- _multibuild | 3 ++ use_system_v4l_for_qv4l.patch | 23 +++++++++ v4l-utils.changes | 10 ++++ v4l-utils.spec | 94 +++++++++++++++++++++-------------- 4 files changed, 94 insertions(+), 36 deletions(-) create mode 100644 _multibuild create mode 100644 use_system_v4l_for_qv4l.patch diff --git a/_multibuild b/_multibuild new file mode 100644 index 0000000..16c7c04 --- /dev/null +++ b/_multibuild @@ -0,0 +1,3 @@ + + qv4l2 + diff --git a/use_system_v4l_for_qv4l.patch b/use_system_v4l_for_qv4l.patch new file mode 100644 index 0000000..0ccd45f --- /dev/null +++ b/use_system_v4l_for_qv4l.patch @@ -0,0 +1,23 @@ +diff --git a/utils/qv4l2/Makefile.am b/utils/qv4l2/Makefile.am +index ccd1a2a..6978cf3 100644 +--- a/utils/qv4l2/Makefile.am ++++ b/utils/qv4l2/Makefile.am +@@ -6,8 +6,7 @@ qv4l2_SOURCES = qv4l2.cpp general-tab.cpp ctrl-tab.cpp vbi-tab.cpp capture-win.c + raw2sliced.cpp qv4l2.h capture-win.h general-tab.h vbi-tab.h raw2sliced.h \ + v4l2-tpg-core.c v4l2-tpg-colors.c + nodist_qv4l2_SOURCES = moc_qv4l2.cpp moc_general-tab.cpp moc_capture-win.cpp moc_vbi-tab.cpp qrc_qv4l2.cpp +-qv4l2_LDADD = ../../lib/libv4l2/libv4l2.la ../../lib/libv4lconvert/libv4lconvert.la \ +- ../libv4l2util/libv4l2util.la ../libmedia_dev/libmedia_dev.la ++qv4l2_LDADD = ../libv4l2util/libv4l2util.la ../libmedia_dev/libmedia_dev.la + qv4l2_CPPFLAGS = -I$(top_srcdir)/utils/common + + if WITH_QTGL +@@ -21,6 +20,8 @@ endif + qv4l2_CPPFLAGS += $(ALSA_CFLAGS) + qv4l2_LDFLAGS += $(ALSA_LIBS) -pthread + ++qv4l2_LDFLAGS += -lv4l2 -lv4lconvert ++ + EXTRA_DIST = enterbutt.png exit.png fileopen.png qv4l2_24x24.png qv4l2_64x64.png qv4l2.png qv4l2.svg \ + snapshot.png video-television.png fileclose.png qv4l2_16x16.png qv4l2_32x32.png qv4l2.desktop \ + qv4l2.qrc saveraw.png qv4l2.pro qv4l2.1 fullscreenexit.png fullscreen.png start.png step.png diff --git a/v4l-utils.changes b/v4l-utils.changes index 1c554f8..26d5177 100644 --- a/v4l-utils.changes +++ b/v4l-utils.changes @@ -1,3 +1,13 @@ +------------------------------------------------------------------- +Sat Sep 7 22:37:25 UTC 2019 - Stefan BrĂ¼ns + +- Split build of qv4l2ctl to an independent package. This allows + building libv4l much earlier in the build cycle, as it no + longer depends on libQt5. + * Add use_system_v4l_for_qv4l.patch +- Drop glu BuildRequires, only used for unused test binary in + contrib. + ------------------------------------------------------------------- Mon Oct 1 10:35:11 UTC 2018 - schwab@suse.de diff --git a/v4l-utils.spec b/v4l-utils.spec index 01a7e96..a70823e 100644 --- a/v4l-utils.spec +++ b/v4l-utils.spec @@ -1,7 +1,7 @@ # -# spec file for package v4l-utils +# spec file for package v4l # -# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -16,39 +16,49 @@ # +%global flavor @BUILD_FLAVOR@%{nil} +%if "%{flavor}" == "qv4l2" +%global psuffix -%{flavor} +%endif + %define _udevdir %(pkg-config --variable udevdir udev) %define so_ver 0 -%ifarch aarch64 %{arm} -# qv4l2 does not support GLES -%bcond_with qv4l2 -%else -%bcond_without qv4l2 -%endif -Name: v4l-utils +%define sname v4l-utils +Name: v4l-utils%{?psuffix} Version: 1.14.2 Release: 0 Summary: Utilities for video4linux -License: GPL-2.0-or-later AND GPL-2.0-only +License: LGPL-2.1-or-later AND GPL-2.0-or-later AND GPL-2.0-only Group: Hardware/TV URL: https://linuxtv.org/downloads/v4l-utils/ -Source0: https://linuxtv.org/downloads/v4l-utils/%{name}-%{version}.tar.bz2 -Source1: https://linuxtv.org/downloads/v4l-utils/%{name}-%{version}.tar.bz2.asc -Source2: %{name}.keyring +Source0: https://linuxtv.org/downloads/v4l-utils/%{sname}-%{version}.tar.bz2 +Source1: https://linuxtv.org/downloads/v4l-utils/%{sname}-%{version}.tar.bz2.asc +Source2: %{sname}.keyring Source100: baselibs.conf Patch0: sysmacros.patch -BuildRequires: doxygen -BuildRequires: kernel-headers +Patch1: use_system_v4l_for_qv4l.patch +BuildRequires: gcc-c++ BuildRequires: libjpeg-devel BuildRequires: pkgconfig +BuildRequires: pkgconfig(libudev) +BuildRequires: pkgconfig(udev) +%if "%{flavor}" == "" +BuildRequires: doxygen +BuildRequires: kernel-headers +%endif +%if "%{flavor}" == "qv4l2" +BuildRequires: autoconf +BuildRequires: automake +BuildRequires: libtool BuildRequires: update-desktop-files BuildRequires: pkgconfig(Qt5Core) BuildRequires: pkgconfig(Qt5Gui) BuildRequires: pkgconfig(Qt5OpenGL) BuildRequires: pkgconfig(Qt5Widgets) BuildRequires: pkgconfig(alsa) -BuildRequires: pkgconfig(glu) -BuildRequires: pkgconfig(libudev) -BuildRequires: pkgconfig(udev) +BuildRequires: pkgconfig(libv4l2) +BuildRequires: pkgconfig(libv4lconvert) +%endif Requires: libv4l = %{version} %description @@ -183,34 +193,53 @@ Requires(postun): update-desktop-files %description -n qv4l2 qv4l2 is a test control and streaming test application for video4linux. + %prep -%setup -q +%setup -q -n %{sname}-%{version} %patch0 -p1 +%patch1 -p1 %build +%if "%{flavor}" == "qv4l2" +autoreconf -vfi +%endif %configure \ --disable-static \ --disable-silent-rules \ -%if %{without qv4l2} +%if "%{flavor}" == "qv4l2" + --disable-libdvb5 \ + --enable-qv4l2 \ +%else + --enable-libdvb5 \ --disable-qv4l2 \ %endif --with-udevdir=%{_udevdir} -make %{?_smp_mflags} + +%if "%{flavor}" == "qv4l2" +%make_build -C utils/libmedia_dev +%make_build -C utils/libv4l2util +%make_build -C utils/qv4l2 +%else +%make_build +%endif %install -%make_install -find %{buildroot} -type f -name "*.la" -delete -print +%if "%{flavor}" == "qv4l2" +%make_install -C utils/qv4l2 +%suse_update_desktop_file -N "QV4l2" -G "V4L2 Test Utility" -r qv4l2 Qt AudioVideo Video TV +%else +%make_install %find_lang "%{name}" %find_lang "libdvbv5" libdvbv5.lang # Not needed (links to plugins in libv4l subdir) rm %{buildroot}%{_libdir}/{v4l1compat.so,v4l2convert.so} - -%if %{with qv4l2} -%suse_update_desktop_file -N "QV4l2" -G "V4L2 Test Utility" -r qv4l2 Qt AudioVideo Video TV %endif +find %{buildroot} -type f -name "*.la" -delete -print + +%if "%{flavor}" == "" %post -n libdvbv5-%{so_ver} -p /sbin/ldconfig %postun -n libdvbv5-%{so_ver} -p /sbin/ldconfig %post -n libv4l1-%{so_ver} -p /sbin/ldconfig @@ -221,17 +250,9 @@ rm %{buildroot}%{_libdir}/{v4l1compat.so,v4l2convert.so} %postun -n libv4l2rds%{so_ver} -p /sbin/ldconfig %post -n libv4lconvert%{so_ver} -p /sbin/ldconfig %postun -n libv4lconvert%{so_ver} -p /sbin/ldconfig - -%if %{with qv4l2} -%post -n qv4l2 -%desktop_database_post -%icon_theme_cache_post - -%postun -n qv4l2 -%desktop_database_postun -%icon_theme_cache_postun %endif +%if "%{flavor}" == "" %files %license COPYING %doc ChangeLog README TODO @@ -310,8 +331,9 @@ rm %{buildroot}%{_libdir}/{v4l1compat.so,v4l2convert.so} %{_includedir}/libv4l*.h %{_libdir}/libv4l*.so %{_libdir}/pkgconfig/libv4l*.pc +%endif -%if %{with qv4l2} +%if "%{flavor}" == "qv4l2" %files -n qv4l2 %license COPYING %doc ChangeLog README TODO