diff mbox

[v2,4/4] libv4l: bump version to 1.8.0

Message ID 1444255010-6341-4-git-send-email-ps.report@gmx.net
State Changes Requested
Headers show

Commit Message

Peter Seiderer Oct. 7, 2015, 9:56 p.m. UTC
And add proper qt5base/qt dependency (needed for qv4l2, qt5 support
added since 1.8.0).

Signed-off-by: Peter Seiderer <ps.report@gmx.net>
---
Changes v1 -> v2:
  - fix typo in commit comment (depndency vs. dependency)
---
 package/libv4l/libv4l.hash | 2 +-
 package/libv4l/libv4l.mk   | 5 ++++-
 2 files changed, 5 insertions(+), 2 deletions(-)

Comments

Thomas Petazzoni Oct. 10, 2015, 9:52 a.m. UTC | #1
Dear Peter Seiderer,

On Wed,  7 Oct 2015 23:56:50 +0200, Peter Seiderer wrote:

>  ifeq ($(BR2_PACKAGE_LIBV4L_UTILS),y)
> +ifneq ($(BR2_PACKAGE_QT5BASE)$(BR2_PACKAGE_QT),)
> +LIBV4L_DEPENDENCIES += $(if $(BR2_PACKAGE_QT5BASE),qt5base,qt)

This doesn't seem quite right for Qt5. According to the configure.ac,
much more than qt5base is needed:

PKG_CHECK_MODULES(QT5, [Qt5Core >= 5.0 Qt5Gui >= 5.0 Qt5Widgets >= 5.0], [qt_pkgconfig=true], [qt_pkgconfig=false])

So it looks like that for Qt5, we need to depend on qt5base, qt5gui and
qt5widgets. Note that it can also depend on Qt5OpenGL:

PKG_CHECK_MODULES(QT5GL, [Qt5OpenGL >= 5.0 gl], [qt_pkgconfig_gl=true], [qt_pkgconfig_gl=false])

So maybe we need an explicit option to enable Qt support in libv4l,
sometihng like (I haven't checked all Config.in options, so do not
copy/paste the below) :

config BR2_PACKAGE_LIBV4L_UTILS_QT
	bool "qt-based tools"
	depends on BR2_PACKAGE_QT || BR2_PACKAGE_QT5
	select BR2_PACKAGE_QT5BASE if BR2_PACKAGE_QT5
	select BR2_PACKAGE_QT5GUI if BR2_PACKAGE_QT5
	select BR2_PACKAGE_QT5WIDGETS if BR2_PACKAGE_QT5
	select BR2_PACKAGE_QT_<something> if BR2_PACKAGE_QT

and then, in the .mk file:

ifeq ($(BR2_PACKAGE_LIBV4L_UTILS_QT),y)
ifeq ($(BR2_PACKAGE_QT),y)
LIBV4L_DEPENDENCIES += qt
else ifeq ($(BR2_PACKAGE_QT5),y)
LIBV4L_DEPENDENCIES += qt5base qt5gui qt5widgets
ifeq ($(BR2_PACKAGE_QT5OPENGL),y)
LIBV4L_DEPENDENCIES += qt5opengl
endif
endif

Or, alternatively, if you don't want to add a new Config.in option,
then you should improve the .mk file logic with all the proper
dependencies.

Best regards,

Thomas
Peter Seiderer Oct. 11, 2015, 9:41 p.m. UTC | #2
Hello Thomas,

On Sat, 10 Oct 2015 11:52:42 +0200, Thomas Petazzoni <thomas.petazzoni@free-electrons.com> wrote:

> Dear Peter Seiderer,
> 
> On Wed,  7 Oct 2015 23:56:50 +0200, Peter Seiderer wrote:
> 
> >  ifeq ($(BR2_PACKAGE_LIBV4L_UTILS),y)
> > +ifneq ($(BR2_PACKAGE_QT5BASE)$(BR2_PACKAGE_QT),)
> > +LIBV4L_DEPENDENCIES += $(if $(BR2_PACKAGE_QT5BASE),qt5base,qt)
> 
> This doesn't seem quite right for Qt5. According to the configure.ac,
> much more than qt5base is needed:
> 
> PKG_CHECK_MODULES(QT5, [Qt5Core >= 5.0 Qt5Gui >= 5.0 Qt5Widgets >= 5.0], [qt_pkgconfig=true], [qt_pkgconfig=false])
> 
> So it looks like that for Qt5, we need to depend on qt5base, qt5gui and
> qt5widgets. Note that it can also depend on Qt5OpenGL:
> 
> PKG_CHECK_MODULES(QT5GL, [Qt5OpenGL >= 5.0 gl], [qt_pkgconfig_gl=true], [qt_pkgconfig_gl=false])
>

Yes, you are right...
 
> So maybe we need an explicit option to enable Qt support in libv4l,
> sometihng like (I haven't checked all Config.in options, so do not
> copy/paste the below) :
> 
> config BR2_PACKAGE_LIBV4L_UTILS_QT
> 	bool "qt-based tools"
> 	depends on BR2_PACKAGE_QT || BR2_PACKAGE_QT5
> 	select BR2_PACKAGE_QT5BASE if BR2_PACKAGE_QT5
> 	select BR2_PACKAGE_QT5GUI if BR2_PACKAGE_QT5
> 	select BR2_PACKAGE_QT5WIDGETS if BR2_PACKAGE_QT5
> 	select BR2_PACKAGE_QT_<something> if BR2_PACKAGE_QT
> 
> and then, in the .mk file:
> 
> ifeq ($(BR2_PACKAGE_LIBV4L_UTILS_QT),y)
> ifeq ($(BR2_PACKAGE_QT),y)
> LIBV4L_DEPENDENCIES += qt
> else ifeq ($(BR2_PACKAGE_QT5),y)
> LIBV4L_DEPENDENCIES += qt5base qt5gui qt5widgets
> ifeq ($(BR2_PACKAGE_QT5OPENGL),y)
> LIBV4L_DEPENDENCIES += qt5opengl
> endif
> endif
> 
> Or, alternatively, if you don't want to add a new Config.in option,
> then you should improve the .mk file logic with all the proper
> dependencies.
> 

O.k. will cook up a follow up patch...

Regards,
Peter

> Best regards,
> 
> Thomas
diff mbox

Patch

diff --git a/package/libv4l/libv4l.hash b/package/libv4l/libv4l.hash
index 3371d34..1395eda 100644
--- a/package/libv4l/libv4l.hash
+++ b/package/libv4l/libv4l.hash
@@ -1,2 +1,2 @@ 
 # Locally calculated
-sha256 164abf5c1befcd27e8e6ef824a82d4015bdfb5d99ae82daa00e77d895ff9864c  v4l-utils-1.6.3.tar.bz2
+sha256 50c7be033636d878e902dad0a207fc9f6d831bec27f1b410f1102acddaa5565e  v4l-utils-1.8.0.tar.bz2
diff --git a/package/libv4l/libv4l.mk b/package/libv4l/libv4l.mk
index edb2a36..7978341 100644
--- a/package/libv4l/libv4l.mk
+++ b/package/libv4l/libv4l.mk
@@ -4,7 +4,7 @@ 
 #
 ################################################################################
 
-LIBV4L_VERSION = 1.6.3
+LIBV4L_VERSION = 1.8.0
 LIBV4L_SOURCE = v4l-utils-$(LIBV4L_VERSION).tar.bz2
 LIBV4L_SITE = http://linuxtv.org/downloads/v4l-utils
 LIBV4L_INSTALL_STAGING = YES
@@ -40,6 +40,9 @@  LIBV4L_CONF_OPTS += --without-libudev
 endif
 
 ifeq ($(BR2_PACKAGE_LIBV4L_UTILS),y)
+ifneq ($(BR2_PACKAGE_QT5BASE)$(BR2_PACKAGE_QT),)
+LIBV4L_DEPENDENCIES += $(if $(BR2_PACKAGE_QT5BASE),qt5base,qt)
+endif
 LIBV4L_CONF_OPTS += --enable-v4l-utils
 # clock_gettime is used, which is provided by librt for glibc < 2.17
 LIBV4L_LIBS += -lrt